@shoper/phoenix_design_system 1.17.10-0 → 1.17.10-10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('lit');
6
+ var global_constants = require('../../../../global_constants.js');
7
+ var sheet_constants = require('../../../sheet/sheet_constants.js');
8
+
9
+ class SearchPopupController {
10
+ constructor(host) {
11
+ this.shouldRenderAsPopup = false;
12
+ this.isPopupOpened = false;
13
+ this._removeMobileOpened = () => {
14
+ const $storefrontSearch = document.querySelector(`h-storefront-search[module-instance-id="${this._host.moduleInstanceId}"]`);
15
+ const $searchSheet = $storefrontSearch === null || $storefrontSearch === void 0 ? void 0 : $storefrontSearch.querySelector('h-sheet');
16
+ $searchSheet === null || $searchSheet === void 0 ? void 0 : $searchSheet.open();
17
+ };
18
+ this._showPopup = () => {
19
+ this._updateIsPopupOpenedValue(true);
20
+ };
21
+ this._hidePopup = () => {
22
+ this._updateIsPopupOpenedValue(false);
23
+ this._host.shouldShowHistory = false;
24
+ };
25
+ this._updateShouldRenderAsPopup = () => {
26
+ if (window.innerWidth < global_constants.BREAKPOINTS.sm) {
27
+ this._updateShouldRenderAsPopupValue(false);
28
+ }
29
+ else {
30
+ this._updateShouldRenderAsPopupValue(true);
31
+ }
32
+ };
33
+ (this._host = host).addController(this);
34
+ if (window.innerWidth >= global_constants.BREAKPOINTS.sm) {
35
+ this.shouldRenderAsPopup = true;
36
+ }
37
+ }
38
+ hostConnected() {
39
+ this._host.addEventListener('removeMobileOpened', this._removeMobileOpened);
40
+ document.addEventListener(sheet_constants.SHEET_EVENTS.opened, this._showPopup);
41
+ document.addEventListener(sheet_constants.SHEET_EVENTS.closed, this._hidePopup);
42
+ window.addEventListener('resize', this._updateShouldRenderAsPopup);
43
+ }
44
+ hostDisconnected() {
45
+ this._host.removeEventListener('removeMobileOpened', this._removeMobileOpened);
46
+ document.removeEventListener(sheet_constants.SHEET_EVENTS.opened, this._showPopup);
47
+ document.removeEventListener(sheet_constants.SHEET_EVENTS.closed, this._hidePopup);
48
+ window.removeEventListener('resize', this._updateShouldRenderAsPopup);
49
+ }
50
+ _updateShouldRenderAsPopupValue(newValue) {
51
+ this.shouldRenderAsPopup = newValue;
52
+ this._host.requestUpdate();
53
+ }
54
+ _updateIsPopupOpenedValue(newValue) {
55
+ this.isPopupOpened = newValue;
56
+ this._host.requestUpdate();
57
+ }
58
+ }
59
+
60
+ exports.SearchPopupController = SearchPopupController;
61
+ //# sourceMappingURL=search_popup_controller.js.map
@@ -0,0 +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;"}
@@ -18,11 +18,14 @@ var global_constants = require('../../../global_constants.js');
18
18
  var v4 = require('../../../../../../external/uuid/dist/esm-browser/v4.js');
19
19
  var when = require('../../../../../../external/lit-html/directives/when.js');
20
20
  var search_constants = require('./search_constants.js');
21
+ var search_popup_controller = require('./controllers/search_popup_controller.js');
21
22
 
22
23
  exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLitElement {
23
24
  constructor() {
24
25
  super(...arguments);
25
26
  this.view = search_constants.DEFAULT_VIEW;
27
+ this._shouldRenderAsPopup = false;
28
+ this._isOpenedAsPopup = false;
26
29
  this._id = v4['default']();
27
30
  this._openSearchButtonAriaLabelId = `${this._id}-open-search-button-aria-label`;
28
31
  this._searchContentContainerId = v4['default']();
@@ -30,7 +33,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
30
33
  this._searchHistoryRef = ref_js.createRef();
31
34
  this._searchMessageRef = ref_js.createRef();
32
35
  this._openSearchButtonLabelRef = ref_js.createRef();
33
- this._shouldShowHistory = false;
36
+ this.shouldShowHistory = false;
34
37
  this._shouldShowResults = false;
35
38
  this._shouldShowMessage = false;
36
39
  this._searchHistory = [];
@@ -75,7 +78,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
75
78
  break;
76
79
  case 'Escape':
77
80
  ev.preventDefault();
78
- if (this._shouldShowHistory || this._shouldShowHistory || this._shouldShowResults) {
81
+ if (this.shouldShowHistory || this.shouldShowHistory || this._shouldShowResults) {
79
82
  this._inputField.focus();
80
83
  this._shouldShowMessage = false;
81
84
  this._hideHistorySuggestionsAndResults();
@@ -181,7 +184,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
181
184
  this._handleBackwardListFocus = (ev) => {
182
185
  var _a, _b;
183
186
  const isFocusedOnSearchInput = document.activeElement === this._inputField;
184
- const hasPopup = this._shouldShowHistory || this._shouldShowHistory || this._shouldShowResults;
187
+ const hasPopup = this.shouldShowHistory || this.shouldShowHistory || this._shouldShowResults;
185
188
  if (isFocusedOnSearchInput || !hasPopup)
186
189
  return;
187
190
  ev.preventDefault();
@@ -268,9 +271,15 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
268
271
  this._switchTypeOfSearchView = () => {
269
272
  if (!this._isSuggesterLayerVisible())
270
273
  return;
271
- window.innerWidth > global_constants.BREAKPOINTS.sm
272
- ? this.classList.remove(search_constants.SEARCH_CLASS_NAMES.mobileOpened)
273
- : this.classList.add(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
274
+ if (window.innerWidth > global_constants.BREAKPOINTS.sm) {
275
+ const hasBeenOpened = this.classList.contains(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
276
+ this.classList.remove(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
277
+ if (hasBeenOpened)
278
+ this.dispatchEvent(new CustomEvent('removeMobileOpened'));
279
+ }
280
+ else if (!this._shouldRenderAsPopup || this._isOpenedAsPopup) {
281
+ this.classList.add(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
282
+ }
274
283
  };
275
284
  this._preventSubmitOnSearchClear = (ev) => {
276
285
  const $searchClear = this.querySelector(search_constants.SEARCH_COMPONENT_NAMES.clearButton);
@@ -293,55 +302,11 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
293
302
  (_a = this._openSearchButtonLabelRef.value) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-labelledby', this._openSearchButtonAriaLabelId);
294
303
  }
295
304
  };
296
- this._renderSearch = () => {
297
- return lit.html `
298
- ${when.when(this._isSuggesterLayerVisible(), () => lit.html `
299
- <div
300
- class="${search_constants.SEARCH_CLASS_NAMES.container}"
301
- id="${this._searchContentContainerId}"
302
- role="${this._containerRole}"
303
- >
304
- ${when.when(this._shouldShowMessage, () => lit.html `<h-search-message
305
- ${ref_js.ref(this._searchMessageRef)}
306
- .history="${this._historyLimitedContent}"
307
- .results="${this._searchResults}"
308
- .translations="${this._translations}"
309
- search-phrase="${this._searchPhrase}"
310
- module-instance-id="${this.moduleInstanceId}"
311
- ></h-search-message>`)}
312
- ${when.when(this._shouldShowHistory, () => lit.html `<h-search-history
313
- ${ref_js.ref(this._searchHistoryRef)}
314
- .history="${this._historyLimitedContent}"
315
- .translations="${this._translations}"
316
- active-item-id="${this._activeItemId}"
317
- search-id="${this._id}"
318
- module-instance-id="${this.moduleInstanceId}"
319
- ></h-search-history>`)}
320
- ${when.when(this._shouldShowResults, () => lit.html `<h-search-results
321
- ${ref_js.ref(this._searchResultsRef)}
322
- .results="${this._searchResults}"
323
- search-phrase="${this._searchPhrase}"
324
- .settings="${this.settings}"
325
- locale="${this.locale}"
326
- view="${this.view}"
327
- .translations="${this._translations}"
328
- active-item-id="${this._activeItemId}"
329
- search-id="${this._id}"
330
- module-instance-id="${this.moduleInstanceId}"
331
- ></h-search-results>`)}
332
- </div>
333
- `, () => lit.html `
334
- <div
335
- class="${search_constants.SEARCH_CLASS_NAMES.container}"
336
- id="${this._searchContentContainerId}"
337
- role="${this._containerRole}"
338
- hidden
339
- ></div>`)}
340
- `;
341
- };
342
305
  }
343
306
  async connectedCallback() {
344
307
  super.connectedCallback();
308
+ if (this.popup)
309
+ this._searchPopupController = new search_popup_controller.SearchPopupController(this);
345
310
  this._setupContext();
346
311
  try {
347
312
  this._searchContextConsumer = new context_consumer_controller.ContextConsumerController(this);
@@ -376,6 +341,11 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
376
341
  this._setupListeners();
377
342
  this._setupAriaAttributes();
378
343
  }
344
+ updated(_changedProperties) {
345
+ super.updated(_changedProperties);
346
+ this._shouldRenderAsPopup = this._searchPopupController.shouldRenderAsPopup;
347
+ this._isOpenedAsPopup = this._searchPopupController.isPopupOpened;
348
+ }
379
349
  disconnectedCallback() {
380
350
  var _a;
381
351
  super.disconnectedCallback();
@@ -423,8 +393,10 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
423
393
  searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.add(search_constants.SEARCH_CLASS_NAMES.outline);
424
394
  const shouldShowMessage = ((_b = ev.detail) === null || _b === void 0 ? void 0 : _b.searchPhrase) !== '';
425
395
  this._updateSearchView(((_c = ev.detail) === null || _c === void 0 ? void 0 : _c.searchPhrase) || '', shouldShowMessage, false);
426
- document.addEventListener('keydown', this._bindKeys);
427
- document.addEventListener('keyup', this._handleSearchTabNavigation);
396
+ if (!this._shouldRenderAsPopup) {
397
+ document.addEventListener('keydown', this._bindKeys);
398
+ document.addEventListener('keyup', this._handleSearchTabNavigation);
399
+ }
428
400
  document.addEventListener('keydown', this._preventScrollingOnSearchContentBrowsing);
429
401
  document.addEventListener('focusin', this._resetSearchOnFocusOutside);
430
402
  });
@@ -502,7 +474,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
502
474
  });
503
475
  }
504
476
  _handleToggleHistoryAndResults({ shouldShowHistory, shouldShowResults }) {
505
- this._shouldShowHistory = shouldShowHistory;
477
+ this.shouldShowHistory = shouldShowHistory;
506
478
  this._shouldShowResults = shouldShowResults;
507
479
  this._toggleSearchInputAttributes(shouldShowHistory, shouldShowResults);
508
480
  this._toggleSearchContainerAttributes(shouldShowHistory, shouldShowResults);
@@ -554,14 +526,15 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
554
526
  this._setActiveItemId(`${this._id}-1`);
555
527
  const searchBar = this.querySelector(`.${search_constants.SEARCH_CLASS_NAMES.searchBar}`);
556
528
  searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.remove(search_constants.SEARCH_CLASS_NAMES.outline);
557
- this._hideHistorySuggestionsAndResults();
529
+ if (!this._shouldRenderAsPopup)
530
+ this._hideHistorySuggestionsAndResults();
558
531
  this._removeSearchKeyboardNavigation();
559
532
  }
560
533
  _submitSearchPhrase(searchPhrase) {
561
534
  this._dispatchEventWithSearchPhrase(search_constants.SEARCH_CUSTOM_EVENT_NAMES.searchPhraseSubmitted, searchPhrase);
562
535
  }
563
536
  _isSuggesterLayerVisible() {
564
- return this.settings.isSearchSuggestLayerEnabled && (this._shouldShowHistory || this._shouldShowResults || this._shouldShowMessage);
537
+ return this.settings.isSearchSuggestLayerEnabled && (this.shouldShowHistory || this._shouldShowResults || this._shouldShowMessage);
565
538
  }
566
539
  _handleOpenSearch() {
567
540
  this.classList.add(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
@@ -579,39 +552,71 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
579
552
  this._handleOpenSearch();
580
553
  }
581
554
  render() {
555
+ super.render();
582
556
  return lit.html `
583
- ${when.when(this.shouldRenderAsPopup, () => lit.html `<div`, () => lit.html `<h-sheet name="search-sheet"`)}
584
- class="${search_constants.SEARCH_CLASS_NAMES.icon} labeled-icon"
585
- tabindex="0"
586
- @click=${this._handleOpenSearch}
587
- @keyup=${this._handleOpenSearchWithKeyboard}
588
- >
589
- ${when.when(this._translations.openSearchButtonAriaLabel, () => lit.html `
590
- <span id="${this._openSearchButtonAriaLabelId}" class="sr-only">
591
- ${this._translations.openSearchButtonAriaLabel}
592
- </span>
593
- `)}
594
- <h-icon icon-name="icon-search" size=${icon_constants.ICONS_SIZES.l}></h-icon>
595
- <div ${ref_js.ref(this._openSearchButtonLabelRef)} class="labeled-icon__signature">
596
- ${this._translations.search}
597
- </div>
598
- ${when.when(this.shouldRenderAsPopup, () => lit.html `</div>`, () => lit.html `</h-sheet>`)}
557
+ ${when.when(this._shouldRenderAsPopup, () => lit.nothing, () => lit.html `
558
+ <div
559
+ class="${search_constants.SEARCH_CLASS_NAMES.icon} labeled-icon"
560
+ tabindex="0"
561
+ @click=${this._handleOpenSearch}
562
+ @keyup=${this._handleOpenSearchWithKeyboard}
563
+ >
564
+ ${when.when(this._translations.openSearchButtonAriaLabel, () => lit.html `
565
+ <span id="${this._openSearchButtonAriaLabelId}" class="sr-only">
566
+ ${this._translations.openSearchButtonAriaLabel}
567
+ </span>
568
+ `)}
569
+ <h-icon icon-name="icon-search" size=${icon_constants.ICONS_SIZES.l}></h-icon>
570
+ <div ${ref_js.ref(this._openSearchButtonLabelRef)} class="labeled-icon__signature">
571
+ ${this._translations.search}
572
+ </div>
573
+ </div>
574
+ `)}
575
+
599
576
 
600
- ${when.when(this.shouldRenderAsPopup, () => lit.html `<h-sheet id="search-sheet" hidden>
601
- <h-sheet-header>
602
- <h-sheet-close class="btn btn_icon">
603
- <span class="sr-only">To translate - Close window</span>
604
- <h-icon
605
- icon-name="icon-x"
606
- clickable=${true}
607
- size=${icon_constants.ICONS_SIZES.l}
608
- css-classes="${search_constants.SEARCH_CLASS_NAMES.historyRemoveIcon}"
609
- aria-hidden="true"
610
- ></h-icon>
611
- </h-sheet-close>
612
- </h-sheet-header>
613
- <h-sheet-body>${this._renderSearch}</h-sheet-body>
614
- </h-sheet>`, this._renderSearch)}`;
577
+ ${when.when(this._isSuggesterLayerVisible(), () => lit.html `
578
+ <div
579
+ class="${search_constants.SEARCH_CLASS_NAMES.container}"
580
+ id="${this._searchContentContainerId}"
581
+ role="${this._containerRole}"
582
+ >
583
+ ${when.when(this._shouldShowMessage, () => lit.html `<h-search-message
584
+ ${ref_js.ref(this._searchMessageRef)}
585
+ .history="${this._historyLimitedContent}"
586
+ .results="${this._searchResults}"
587
+ .translations="${this._translations}"
588
+ search-phrase="${this._searchPhrase}"
589
+ module-instance-id="${this.moduleInstanceId}"
590
+ ></h-search-message>`)}
591
+ ${when.when(this.shouldShowHistory, () => lit.html `<h-search-history
592
+ ${ref_js.ref(this._searchHistoryRef)}
593
+ .history="${this._historyLimitedContent}"
594
+ .translations="${this._translations}"
595
+ active-item-id="${this._activeItemId}"
596
+ search-id="${this._id}"
597
+ module-instance-id="${this.moduleInstanceId}"
598
+ ></h-search-history>`)}
599
+ ${when.when(this._shouldShowResults, () => lit.html `<h-search-results
600
+ ${ref_js.ref(this._searchResultsRef)}
601
+ .results="${this._searchResults}"
602
+ search-phrase="${this._searchPhrase}"
603
+ .settings="${this.settings}"
604
+ locale="${this.locale}"
605
+ view="${this.view}"
606
+ .translations="${this._translations}"
607
+ active-item-id="${this._activeItemId}"
608
+ search-id="${this._id}"
609
+ module-instance-id="${this.moduleInstanceId}"
610
+ ></h-search-results>`)}
611
+ </div>
612
+ `, () => lit.html `
613
+ <div
614
+ class="${search_constants.SEARCH_CLASS_NAMES.container}"
615
+ id="${this._searchContentContainerId}"
616
+ role="${this._containerRole}"
617
+ hidden
618
+ ></div>`)}
619
+ `;
615
620
  }
616
621
  };
617
622
  tslib_es6.__decorate([
@@ -628,16 +633,24 @@ tslib_es6.__decorate([
628
633
  ], exports.HSearch.prototype, "locale", void 0);
629
634
  tslib_es6.__decorate([
630
635
  decorators.property({ type: Boolean, attribute: 'popup' }),
631
- tslib_es6.__metadata("design:type", String)
632
- ], exports.HSearch.prototype, "shouldRenderAsPopup", void 0);
636
+ tslib_es6.__metadata("design:type", Boolean)
637
+ ], exports.HSearch.prototype, "popup", void 0);
633
638
  tslib_es6.__decorate([
634
639
  decorators.property({ type: String, attribute: 'module-instance-id' }),
635
640
  tslib_es6.__metadata("design:type", String)
636
641
  ], exports.HSearch.prototype, "moduleInstanceId", void 0);
642
+ tslib_es6.__decorate([
643
+ decorators.state(),
644
+ tslib_es6.__metadata("design:type", Object)
645
+ ], exports.HSearch.prototype, "_shouldRenderAsPopup", void 0);
646
+ tslib_es6.__decorate([
647
+ decorators.state(),
648
+ tslib_es6.__metadata("design:type", Object)
649
+ ], exports.HSearch.prototype, "_isOpenedAsPopup", void 0);
637
650
  tslib_es6.__decorate([
638
651
  decorators.state(),
639
652
  tslib_es6.__metadata("design:type", Boolean)
640
- ], exports.HSearch.prototype, "_shouldShowHistory", void 0);
653
+ ], exports.HSearch.prototype, "shouldShowHistory", void 0);
641
654
  tslib_es6.__decorate([
642
655
  decorators.state(),
643
656
  tslib_es6.__metadata("design:type", Boolean)
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E,mBAAmB,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;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E,mBAAmB,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;"}
@@ -178,6 +178,8 @@ exports.HSheet = HSheet_1 = class HSheet extends phoenix_light_lit_element.Phoen
178
178
  });
179
179
  }
180
180
  async open() {
181
+ if (this.opened)
182
+ return;
181
183
  this._focusedToggler = document.activeElement;
182
184
  return new Promise((resolve) => {
183
185
  var _a;
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,16 @@
1
+ import { ReactiveController, ReactiveControllerHost } from 'lit';
2
+ import { HSearch } from '../search';
3
+ export declare class SearchPopupController implements ReactiveController {
4
+ private _host;
5
+ shouldRenderAsPopup: boolean;
6
+ isPopupOpened: boolean;
7
+ constructor(host: ReactiveControllerHost & HSearch);
8
+ hostConnected(): void;
9
+ hostDisconnected(): void;
10
+ private _removeMobileOpened;
11
+ private _showPopup;
12
+ private _hidePopup;
13
+ private _updateShouldRenderAsPopup;
14
+ private _updateShouldRenderAsPopupValue;
15
+ private _updateIsPopupOpenedValue;
16
+ }
@@ -0,0 +1,57 @@
1
+ import 'lit';
2
+ import { BREAKPOINTS } from '../../../../global_constants.js';
3
+ import { SHEET_EVENTS } from '../../../sheet/sheet_constants.js';
4
+
5
+ class SearchPopupController {
6
+ constructor(host) {
7
+ this.shouldRenderAsPopup = false;
8
+ this.isPopupOpened = false;
9
+ this._removeMobileOpened = () => {
10
+ const $storefrontSearch = document.querySelector(`h-storefront-search[module-instance-id="${this._host.moduleInstanceId}"]`);
11
+ const $searchSheet = $storefrontSearch === null || $storefrontSearch === void 0 ? void 0 : $storefrontSearch.querySelector('h-sheet');
12
+ $searchSheet === null || $searchSheet === void 0 ? void 0 : $searchSheet.open();
13
+ };
14
+ this._showPopup = () => {
15
+ this._updateIsPopupOpenedValue(true);
16
+ };
17
+ this._hidePopup = () => {
18
+ this._updateIsPopupOpenedValue(false);
19
+ this._host.shouldShowHistory = false;
20
+ };
21
+ this._updateShouldRenderAsPopup = () => {
22
+ if (window.innerWidth < BREAKPOINTS.sm) {
23
+ this._updateShouldRenderAsPopupValue(false);
24
+ }
25
+ else {
26
+ this._updateShouldRenderAsPopupValue(true);
27
+ }
28
+ };
29
+ (this._host = host).addController(this);
30
+ if (window.innerWidth >= BREAKPOINTS.sm) {
31
+ this.shouldRenderAsPopup = true;
32
+ }
33
+ }
34
+ hostConnected() {
35
+ this._host.addEventListener('removeMobileOpened', this._removeMobileOpened);
36
+ document.addEventListener(SHEET_EVENTS.opened, this._showPopup);
37
+ document.addEventListener(SHEET_EVENTS.closed, this._hidePopup);
38
+ window.addEventListener('resize', this._updateShouldRenderAsPopup);
39
+ }
40
+ hostDisconnected() {
41
+ this._host.removeEventListener('removeMobileOpened', this._removeMobileOpened);
42
+ document.removeEventListener(SHEET_EVENTS.opened, this._showPopup);
43
+ document.removeEventListener(SHEET_EVENTS.closed, this._hidePopup);
44
+ window.removeEventListener('resize', this._updateShouldRenderAsPopup);
45
+ }
46
+ _updateShouldRenderAsPopupValue(newValue) {
47
+ this.shouldRenderAsPopup = newValue;
48
+ this._host.requestUpdate();
49
+ }
50
+ _updateIsPopupOpenedValue(newValue) {
51
+ this.isPopupOpened = newValue;
52
+ this._host.requestUpdate();
53
+ }
54
+ }
55
+
56
+ export { SearchPopupController };
57
+ //# sourceMappingURL=search_popup_controller.js.map
@@ -0,0 +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;"}
@@ -1,12 +1,14 @@
1
- import { TemplateResult } from 'lit';
1
+ import { PropertyValues, TemplateResult } from 'lit';
2
2
  import { PhoenixLightLitElement } from "../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
3
3
  import type { TSearchSettings } from "./search_types";
4
4
  export declare class HSearch extends PhoenixLightLitElement {
5
5
  settings: TSearchSettings;
6
6
  view: string;
7
7
  locale: string;
8
- shouldRenderAsPopup: string;
8
+ popup: boolean;
9
9
  moduleInstanceId: string;
10
+ private _shouldRenderAsPopup;
11
+ private _isOpenedAsPopup;
10
12
  private _historyContextProvider;
11
13
  private _searchContextConsumer;
12
14
  private _searchContext$;
@@ -21,7 +23,8 @@ export declare class HSearch extends PhoenixLightLitElement {
21
23
  private _searchHistoryRef;
22
24
  private _searchMessageRef;
23
25
  private _openSearchButtonLabelRef;
24
- private _shouldShowHistory;
26
+ private _searchPopupController;
27
+ shouldShowHistory: boolean;
25
28
  private _shouldShowResults;
26
29
  private _shouldShowMessage;
27
30
  private _searchResults;
@@ -33,6 +36,7 @@ export declare class HSearch extends PhoenixLightLitElement {
33
36
  private _translations;
34
37
  private _containerRole;
35
38
  connectedCallback(): Promise<void>;
39
+ updated(_changedProperties: PropertyValues): void;
36
40
  disconnectedCallback(): void;
37
41
  private _setupContext;
38
42
  private _setupInitialSearchPhrase;
@@ -77,6 +81,5 @@ export declare class HSearch extends PhoenixLightLitElement {
77
81
  private _setupAriaAttributes;
78
82
  private _handleOpenSearch;
79
83
  private _handleOpenSearchWithKeyboard;
80
- private _renderSearch;
81
84
  protected render(): TemplateResult;
82
85
  }
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { html } from 'lit';
2
+ import { html, nothing } from 'lit';
3
3
  import { property, state } from 'lit/decorators';
4
4
  import { UiDomUtils } from '@dreamcommerce/utilities';
5
5
  import { PhoenixLightLitElement } from '../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
@@ -14,11 +14,14 @@ import { BREAKPOINTS } from '../../../global_constants.js';
14
14
  import v4 from '../../../../../../external/uuid/dist/esm-browser/v4.js';
15
15
  import { when as n } from '../../../../../../external/lit-html/directives/when.js';
16
16
  import { DEFAULT_VIEW, SEARCH_CLASS_NAMES, SEARCH_COMPONENT_NAMES, SEARCH_CONFIGURATION, SEARCH_CONTEXT_NAMES, SEARCH_CUSTOM_EVENT_NAMES } from './search_constants.js';
17
+ import { SearchPopupController } from './controllers/search_popup_controller.js';
17
18
 
18
19
  let HSearch = class HSearch extends PhoenixLightLitElement {
19
20
  constructor() {
20
21
  super(...arguments);
21
22
  this.view = DEFAULT_VIEW;
23
+ this._shouldRenderAsPopup = false;
24
+ this._isOpenedAsPopup = false;
22
25
  this._id = v4();
23
26
  this._openSearchButtonAriaLabelId = `${this._id}-open-search-button-aria-label`;
24
27
  this._searchContentContainerId = v4();
@@ -26,7 +29,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
26
29
  this._searchHistoryRef = createRef();
27
30
  this._searchMessageRef = createRef();
28
31
  this._openSearchButtonLabelRef = createRef();
29
- this._shouldShowHistory = false;
32
+ this.shouldShowHistory = false;
30
33
  this._shouldShowResults = false;
31
34
  this._shouldShowMessage = false;
32
35
  this._searchHistory = [];
@@ -71,7 +74,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
71
74
  break;
72
75
  case 'Escape':
73
76
  ev.preventDefault();
74
- if (this._shouldShowHistory || this._shouldShowHistory || this._shouldShowResults) {
77
+ if (this.shouldShowHistory || this.shouldShowHistory || this._shouldShowResults) {
75
78
  this._inputField.focus();
76
79
  this._shouldShowMessage = false;
77
80
  this._hideHistorySuggestionsAndResults();
@@ -177,7 +180,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
177
180
  this._handleBackwardListFocus = (ev) => {
178
181
  var _a, _b;
179
182
  const isFocusedOnSearchInput = document.activeElement === this._inputField;
180
- const hasPopup = this._shouldShowHistory || this._shouldShowHistory || this._shouldShowResults;
183
+ const hasPopup = this.shouldShowHistory || this.shouldShowHistory || this._shouldShowResults;
181
184
  if (isFocusedOnSearchInput || !hasPopup)
182
185
  return;
183
186
  ev.preventDefault();
@@ -264,9 +267,15 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
264
267
  this._switchTypeOfSearchView = () => {
265
268
  if (!this._isSuggesterLayerVisible())
266
269
  return;
267
- window.innerWidth > BREAKPOINTS.sm
268
- ? this.classList.remove(SEARCH_CLASS_NAMES.mobileOpened)
269
- : this.classList.add(SEARCH_CLASS_NAMES.mobileOpened);
270
+ if (window.innerWidth > BREAKPOINTS.sm) {
271
+ const hasBeenOpened = this.classList.contains(SEARCH_CLASS_NAMES.mobileOpened);
272
+ this.classList.remove(SEARCH_CLASS_NAMES.mobileOpened);
273
+ if (hasBeenOpened)
274
+ this.dispatchEvent(new CustomEvent('removeMobileOpened'));
275
+ }
276
+ else if (!this._shouldRenderAsPopup || this._isOpenedAsPopup) {
277
+ this.classList.add(SEARCH_CLASS_NAMES.mobileOpened);
278
+ }
270
279
  };
271
280
  this._preventSubmitOnSearchClear = (ev) => {
272
281
  const $searchClear = this.querySelector(SEARCH_COMPONENT_NAMES.clearButton);
@@ -289,55 +298,11 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
289
298
  (_a = this._openSearchButtonLabelRef.value) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-labelledby', this._openSearchButtonAriaLabelId);
290
299
  }
291
300
  };
292
- this._renderSearch = () => {
293
- return html `
294
- ${n(this._isSuggesterLayerVisible(), () => html `
295
- <div
296
- class="${SEARCH_CLASS_NAMES.container}"
297
- id="${this._searchContentContainerId}"
298
- role="${this._containerRole}"
299
- >
300
- ${n(this._shouldShowMessage, () => html `<h-search-message
301
- ${ref(this._searchMessageRef)}
302
- .history="${this._historyLimitedContent}"
303
- .results="${this._searchResults}"
304
- .translations="${this._translations}"
305
- search-phrase="${this._searchPhrase}"
306
- module-instance-id="${this.moduleInstanceId}"
307
- ></h-search-message>`)}
308
- ${n(this._shouldShowHistory, () => html `<h-search-history
309
- ${ref(this._searchHistoryRef)}
310
- .history="${this._historyLimitedContent}"
311
- .translations="${this._translations}"
312
- active-item-id="${this._activeItemId}"
313
- search-id="${this._id}"
314
- module-instance-id="${this.moduleInstanceId}"
315
- ></h-search-history>`)}
316
- ${n(this._shouldShowResults, () => html `<h-search-results
317
- ${ref(this._searchResultsRef)}
318
- .results="${this._searchResults}"
319
- search-phrase="${this._searchPhrase}"
320
- .settings="${this.settings}"
321
- locale="${this.locale}"
322
- view="${this.view}"
323
- .translations="${this._translations}"
324
- active-item-id="${this._activeItemId}"
325
- search-id="${this._id}"
326
- module-instance-id="${this.moduleInstanceId}"
327
- ></h-search-results>`)}
328
- </div>
329
- `, () => html `
330
- <div
331
- class="${SEARCH_CLASS_NAMES.container}"
332
- id="${this._searchContentContainerId}"
333
- role="${this._containerRole}"
334
- hidden
335
- ></div>`)}
336
- `;
337
- };
338
301
  }
339
302
  async connectedCallback() {
340
303
  super.connectedCallback();
304
+ if (this.popup)
305
+ this._searchPopupController = new SearchPopupController(this);
341
306
  this._setupContext();
342
307
  try {
343
308
  this._searchContextConsumer = new ContextConsumerController(this);
@@ -372,6 +337,11 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
372
337
  this._setupListeners();
373
338
  this._setupAriaAttributes();
374
339
  }
340
+ updated(_changedProperties) {
341
+ super.updated(_changedProperties);
342
+ this._shouldRenderAsPopup = this._searchPopupController.shouldRenderAsPopup;
343
+ this._isOpenedAsPopup = this._searchPopupController.isPopupOpened;
344
+ }
375
345
  disconnectedCallback() {
376
346
  var _a;
377
347
  super.disconnectedCallback();
@@ -419,8 +389,10 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
419
389
  searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.add(SEARCH_CLASS_NAMES.outline);
420
390
  const shouldShowMessage = ((_b = ev.detail) === null || _b === void 0 ? void 0 : _b.searchPhrase) !== '';
421
391
  this._updateSearchView(((_c = ev.detail) === null || _c === void 0 ? void 0 : _c.searchPhrase) || '', shouldShowMessage, false);
422
- document.addEventListener('keydown', this._bindKeys);
423
- document.addEventListener('keyup', this._handleSearchTabNavigation);
392
+ if (!this._shouldRenderAsPopup) {
393
+ document.addEventListener('keydown', this._bindKeys);
394
+ document.addEventListener('keyup', this._handleSearchTabNavigation);
395
+ }
424
396
  document.addEventListener('keydown', this._preventScrollingOnSearchContentBrowsing);
425
397
  document.addEventListener('focusin', this._resetSearchOnFocusOutside);
426
398
  });
@@ -498,7 +470,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
498
470
  });
499
471
  }
500
472
  _handleToggleHistoryAndResults({ shouldShowHistory, shouldShowResults }) {
501
- this._shouldShowHistory = shouldShowHistory;
473
+ this.shouldShowHistory = shouldShowHistory;
502
474
  this._shouldShowResults = shouldShowResults;
503
475
  this._toggleSearchInputAttributes(shouldShowHistory, shouldShowResults);
504
476
  this._toggleSearchContainerAttributes(shouldShowHistory, shouldShowResults);
@@ -550,14 +522,15 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
550
522
  this._setActiveItemId(`${this._id}-1`);
551
523
  const searchBar = this.querySelector(`.${SEARCH_CLASS_NAMES.searchBar}`);
552
524
  searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.remove(SEARCH_CLASS_NAMES.outline);
553
- this._hideHistorySuggestionsAndResults();
525
+ if (!this._shouldRenderAsPopup)
526
+ this._hideHistorySuggestionsAndResults();
554
527
  this._removeSearchKeyboardNavigation();
555
528
  }
556
529
  _submitSearchPhrase(searchPhrase) {
557
530
  this._dispatchEventWithSearchPhrase(SEARCH_CUSTOM_EVENT_NAMES.searchPhraseSubmitted, searchPhrase);
558
531
  }
559
532
  _isSuggesterLayerVisible() {
560
- return this.settings.isSearchSuggestLayerEnabled && (this._shouldShowHistory || this._shouldShowResults || this._shouldShowMessage);
533
+ return this.settings.isSearchSuggestLayerEnabled && (this.shouldShowHistory || this._shouldShowResults || this._shouldShowMessage);
561
534
  }
562
535
  _handleOpenSearch() {
563
536
  this.classList.add(SEARCH_CLASS_NAMES.mobileOpened);
@@ -575,39 +548,71 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
575
548
  this._handleOpenSearch();
576
549
  }
577
550
  render() {
551
+ super.render();
578
552
  return html `
579
- ${n(this.shouldRenderAsPopup, () => html `<div`, () => html `<h-sheet name="search-sheet"`)}
580
- class="${SEARCH_CLASS_NAMES.icon} labeled-icon"
581
- tabindex="0"
582
- @click=${this._handleOpenSearch}
583
- @keyup=${this._handleOpenSearchWithKeyboard}
584
- >
585
- ${n(this._translations.openSearchButtonAriaLabel, () => html `
586
- <span id="${this._openSearchButtonAriaLabelId}" class="sr-only">
587
- ${this._translations.openSearchButtonAriaLabel}
588
- </span>
589
- `)}
590
- <h-icon icon-name="icon-search" size=${ICONS_SIZES.l}></h-icon>
591
- <div ${ref(this._openSearchButtonLabelRef)} class="labeled-icon__signature">
592
- ${this._translations.search}
593
- </div>
594
- ${n(this.shouldRenderAsPopup, () => html `</div>`, () => html `</h-sheet>`)}
553
+ ${n(this._shouldRenderAsPopup, () => nothing, () => html `
554
+ <div
555
+ class="${SEARCH_CLASS_NAMES.icon} labeled-icon"
556
+ tabindex="0"
557
+ @click=${this._handleOpenSearch}
558
+ @keyup=${this._handleOpenSearchWithKeyboard}
559
+ >
560
+ ${n(this._translations.openSearchButtonAriaLabel, () => html `
561
+ <span id="${this._openSearchButtonAriaLabelId}" class="sr-only">
562
+ ${this._translations.openSearchButtonAriaLabel}
563
+ </span>
564
+ `)}
565
+ <h-icon icon-name="icon-search" size=${ICONS_SIZES.l}></h-icon>
566
+ <div ${ref(this._openSearchButtonLabelRef)} class="labeled-icon__signature">
567
+ ${this._translations.search}
568
+ </div>
569
+ </div>
570
+ `)}
571
+
595
572
 
596
- ${n(this.shouldRenderAsPopup, () => html `<h-sheet id="search-sheet" hidden>
597
- <h-sheet-header>
598
- <h-sheet-close class="btn btn_icon">
599
- <span class="sr-only">To translate - Close window</span>
600
- <h-icon
601
- icon-name="icon-x"
602
- clickable=${true}
603
- size=${ICONS_SIZES.l}
604
- css-classes="${SEARCH_CLASS_NAMES.historyRemoveIcon}"
605
- aria-hidden="true"
606
- ></h-icon>
607
- </h-sheet-close>
608
- </h-sheet-header>
609
- <h-sheet-body>${this._renderSearch}</h-sheet-body>
610
- </h-sheet>`, this._renderSearch)}`;
573
+ ${n(this._isSuggesterLayerVisible(), () => html `
574
+ <div
575
+ class="${SEARCH_CLASS_NAMES.container}"
576
+ id="${this._searchContentContainerId}"
577
+ role="${this._containerRole}"
578
+ >
579
+ ${n(this._shouldShowMessage, () => html `<h-search-message
580
+ ${ref(this._searchMessageRef)}
581
+ .history="${this._historyLimitedContent}"
582
+ .results="${this._searchResults}"
583
+ .translations="${this._translations}"
584
+ search-phrase="${this._searchPhrase}"
585
+ module-instance-id="${this.moduleInstanceId}"
586
+ ></h-search-message>`)}
587
+ ${n(this.shouldShowHistory, () => html `<h-search-history
588
+ ${ref(this._searchHistoryRef)}
589
+ .history="${this._historyLimitedContent}"
590
+ .translations="${this._translations}"
591
+ active-item-id="${this._activeItemId}"
592
+ search-id="${this._id}"
593
+ module-instance-id="${this.moduleInstanceId}"
594
+ ></h-search-history>`)}
595
+ ${n(this._shouldShowResults, () => html `<h-search-results
596
+ ${ref(this._searchResultsRef)}
597
+ .results="${this._searchResults}"
598
+ search-phrase="${this._searchPhrase}"
599
+ .settings="${this.settings}"
600
+ locale="${this.locale}"
601
+ view="${this.view}"
602
+ .translations="${this._translations}"
603
+ active-item-id="${this._activeItemId}"
604
+ search-id="${this._id}"
605
+ module-instance-id="${this.moduleInstanceId}"
606
+ ></h-search-results>`)}
607
+ </div>
608
+ `, () => html `
609
+ <div
610
+ class="${SEARCH_CLASS_NAMES.container}"
611
+ id="${this._searchContentContainerId}"
612
+ role="${this._containerRole}"
613
+ hidden
614
+ ></div>`)}
615
+ `;
611
616
  }
612
617
  };
613
618
  __decorate([
@@ -624,16 +629,24 @@ __decorate([
624
629
  ], HSearch.prototype, "locale", void 0);
625
630
  __decorate([
626
631
  property({ type: Boolean, attribute: 'popup' }),
627
- __metadata("design:type", String)
628
- ], HSearch.prototype, "shouldRenderAsPopup", void 0);
632
+ __metadata("design:type", Boolean)
633
+ ], HSearch.prototype, "popup", void 0);
629
634
  __decorate([
630
635
  property({ type: String, attribute: 'module-instance-id' }),
631
636
  __metadata("design:type", String)
632
637
  ], HSearch.prototype, "moduleInstanceId", void 0);
638
+ __decorate([
639
+ state(),
640
+ __metadata("design:type", Object)
641
+ ], HSearch.prototype, "_shouldRenderAsPopup", void 0);
642
+ __decorate([
643
+ state(),
644
+ __metadata("design:type", Object)
645
+ ], HSearch.prototype, "_isOpenedAsPopup", void 0);
633
646
  __decorate([
634
647
  state(),
635
648
  __metadata("design:type", Boolean)
636
- ], HSearch.prototype, "_shouldShowHistory", void 0);
649
+ ], HSearch.prototype, "shouldShowHistory", void 0);
637
650
  __decorate([
638
651
  state(),
639
652
  __metadata("design:type", Boolean)
@@ -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,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;"}
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,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;"}
@@ -174,6 +174,8 @@ let HSheet = HSheet_1 = class HSheet extends PhoenixLightLitElement {
174
174
  });
175
175
  }
176
176
  async open() {
177
+ if (this.opened)
178
+ return;
177
179
  this._focusedToggler = document.activeElement;
178
180
  return new Promise((resolve) => {
179
181
  var _a;
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;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.17.10-0",
5
+ "version": "1.17.10-10",
6
6
  "description": "phoenix design system",
7
7
  "author": "zefirek",
8
8
  "license": "MIT",