@shoper/phoenix_design_system 1.17.10-7 → 1.17.10-9
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.
- package/build/cjs/packages/phoenix/src/components/form/search/controllers/search_popup_controller.js +63 -0
- package/build/cjs/packages/phoenix/src/components/form/search/controllers/search_popup_controller.js.map +1 -0
- package/build/cjs/packages/phoenix/src/components/form/search/search.js +24 -49
- package/build/cjs/packages/phoenix/src/components/form/search/search.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/sheet/sheet.js +2 -0
- package/build/cjs/packages/phoenix/src/components/sheet/sheet.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/search/controllers/search_popup_controller.d.ts +14 -0
- package/build/esm/packages/phoenix/src/components/form/search/controllers/search_popup_controller.js +59 -0
- package/build/esm/packages/phoenix/src/components/form/search/controllers/search_popup_controller.js.map +1 -0
- package/build/esm/packages/phoenix/src/components/form/search/search.d.ts +5 -6
- package/build/esm/packages/phoenix/src/components/form/search/search.js +24 -49
- package/build/esm/packages/phoenix/src/components/form/search/search.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/sheet/sheet.js +2 -0
- package/build/esm/packages/phoenix/src/components/sheet/sheet.js.map +1 -1
- package/package.json +1 -1
package/build/cjs/packages/phoenix/src/components/form/search/controllers/search_popup_controller.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var tslib_es6 = require('../../../../../../../external/tslib/tslib.es6.js');
|
|
6
|
+
require('lit');
|
|
7
|
+
var decorators = require('lit/decorators');
|
|
8
|
+
var global_constants = require('../../../../global_constants.js');
|
|
9
|
+
var sheet_constants = require('../../../sheet/sheet_constants.js');
|
|
10
|
+
|
|
11
|
+
class SearchPopupController {
|
|
12
|
+
constructor(host) {
|
|
13
|
+
this.shouldRenderAsPopup = false;
|
|
14
|
+
this.isPopupOpened = false;
|
|
15
|
+
this._removeMobileOpened = () => {
|
|
16
|
+
const $storefrontSearch = document.querySelector(`h-storefront-search[module-instance-id="${this._host.moduleInstanceId}"]`);
|
|
17
|
+
const $searchSheet = $storefrontSearch === null || $storefrontSearch === void 0 ? void 0 : $storefrontSearch.querySelector('h-sheet');
|
|
18
|
+
$searchSheet === null || $searchSheet === void 0 ? void 0 : $searchSheet.open();
|
|
19
|
+
};
|
|
20
|
+
this._showPopup = () => {
|
|
21
|
+
this.isPopupOpened = true;
|
|
22
|
+
};
|
|
23
|
+
this._hidePopup = () => {
|
|
24
|
+
this.isPopupOpened = false;
|
|
25
|
+
this._host.shouldShowHistory = false;
|
|
26
|
+
};
|
|
27
|
+
this._updateShouldRenderAsPopup = () => {
|
|
28
|
+
if (window.innerWidth < global_constants.BREAKPOINTS.sm) {
|
|
29
|
+
this.shouldRenderAsPopup = false;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.shouldRenderAsPopup = true;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
(this._host = host).addController(this);
|
|
36
|
+
if (window.innerWidth >= global_constants.BREAKPOINTS.sm) {
|
|
37
|
+
this.shouldRenderAsPopup = true;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
hostConnected() {
|
|
41
|
+
this._host.addEventListener('removeMobileOpened', this._removeMobileOpened);
|
|
42
|
+
document.addEventListener(sheet_constants.SHEET_EVENTS.opened, this._showPopup);
|
|
43
|
+
document.addEventListener(sheet_constants.SHEET_EVENTS.closed, this._hidePopup);
|
|
44
|
+
window.addEventListener('resize', this._updateShouldRenderAsPopup);
|
|
45
|
+
}
|
|
46
|
+
hostDisconnected() {
|
|
47
|
+
this._host.removeEventListener('removeMobileOpened', this._removeMobileOpened);
|
|
48
|
+
document.removeEventListener(sheet_constants.SHEET_EVENTS.opened, this._showPopup);
|
|
49
|
+
document.removeEventListener(sheet_constants.SHEET_EVENTS.closed, this._hidePopup);
|
|
50
|
+
window.removeEventListener('resize', this._updateShouldRenderAsPopup);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
tslib_es6.__decorate([
|
|
54
|
+
decorators.state(),
|
|
55
|
+
tslib_es6.__metadata("design:type", Object)
|
|
56
|
+
], SearchPopupController.prototype, "shouldRenderAsPopup", void 0);
|
|
57
|
+
tslib_es6.__decorate([
|
|
58
|
+
decorators.state(),
|
|
59
|
+
tslib_es6.__metadata("design:type", Object)
|
|
60
|
+
], SearchPopupController.prototype, "isPopupOpened", void 0);
|
|
61
|
+
|
|
62
|
+
exports.SearchPopupController = SearchPopupController;
|
|
63
|
+
//# 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,wBAAwB,kDAAsD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -16,15 +16,16 @@ var ref_js = require('lit-html/directives/ref.js');
|
|
|
16
16
|
var context_provider_controller = require('../../../core/context/context_provider_controller.js');
|
|
17
17
|
var global_constants = require('../../../global_constants.js');
|
|
18
18
|
var v4 = require('../../../../../../external/uuid/dist/esm-browser/v4.js');
|
|
19
|
-
var sheet_constants = require('../../sheet/sheet_constants.js');
|
|
20
19
|
var when = require('../../../../../../external/lit-html/directives/when.js');
|
|
21
20
|
var search_constants = require('./search_constants.js');
|
|
21
|
+
var search_popup_controller = require('./controllers/search_popup_controller.js');
|
|
22
22
|
|
|
23
23
|
exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
24
24
|
constructor() {
|
|
25
25
|
super(...arguments);
|
|
26
26
|
this.view = search_constants.DEFAULT_VIEW;
|
|
27
27
|
this._shouldRenderAsPopup = false;
|
|
28
|
+
this._isOpenedAsPopup = false;
|
|
28
29
|
this._id = v4['default']();
|
|
29
30
|
this._openSearchButtonAriaLabelId = `${this._id}-open-search-button-aria-label`;
|
|
30
31
|
this._searchContentContainerId = v4['default']();
|
|
@@ -32,7 +33,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
32
33
|
this._searchHistoryRef = ref_js.createRef();
|
|
33
34
|
this._searchMessageRef = ref_js.createRef();
|
|
34
35
|
this._openSearchButtonLabelRef = ref_js.createRef();
|
|
35
|
-
this.
|
|
36
|
+
this.shouldShowHistory = false;
|
|
36
37
|
this._shouldShowResults = false;
|
|
37
38
|
this._shouldShowMessage = false;
|
|
38
39
|
this._searchHistory = [];
|
|
@@ -44,14 +45,6 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
44
45
|
this._activeItemId = `${this._id}-1`;
|
|
45
46
|
this._translations = {};
|
|
46
47
|
this._containerRole = 'grid';
|
|
47
|
-
this._isPopupOpened = false;
|
|
48
|
-
this._showPopup = () => {
|
|
49
|
-
this._isPopupOpened = true;
|
|
50
|
-
};
|
|
51
|
-
this._hidePopup = () => {
|
|
52
|
-
this._isPopupOpened = false;
|
|
53
|
-
this._shouldShowHistory = false;
|
|
54
|
-
};
|
|
55
48
|
this._bindKeys = (ev) => {
|
|
56
49
|
switch (ev.key) {
|
|
57
50
|
case 'ArrowDown':
|
|
@@ -85,7 +78,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
85
78
|
break;
|
|
86
79
|
case 'Escape':
|
|
87
80
|
ev.preventDefault();
|
|
88
|
-
if (this.
|
|
81
|
+
if (this.shouldShowHistory || this.shouldShowHistory || this._shouldShowResults) {
|
|
89
82
|
this._inputField.focus();
|
|
90
83
|
this._shouldShowMessage = false;
|
|
91
84
|
this._hideHistorySuggestionsAndResults();
|
|
@@ -191,7 +184,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
191
184
|
this._handleBackwardListFocus = (ev) => {
|
|
192
185
|
var _a, _b;
|
|
193
186
|
const isFocusedOnSearchInput = document.activeElement === this._inputField;
|
|
194
|
-
const hasPopup = this.
|
|
187
|
+
const hasPopup = this.shouldShowHistory || this.shouldShowHistory || this._shouldShowResults;
|
|
195
188
|
if (isFocusedOnSearchInput || !hasPopup)
|
|
196
189
|
return;
|
|
197
190
|
ev.preventDefault();
|
|
@@ -276,30 +269,18 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
276
269
|
this._resetSearchView();
|
|
277
270
|
};
|
|
278
271
|
this._switchTypeOfSearchView = () => {
|
|
279
|
-
if (!this._isSuggesterLayerVisible()
|
|
272
|
+
if (!this._isSuggesterLayerVisible())
|
|
280
273
|
return;
|
|
281
|
-
const isOpenedAsPopup = this._shouldRenderAsPopup && this._isPopupOpened;
|
|
282
274
|
if (window.innerWidth > global_constants.BREAKPOINTS.sm) {
|
|
283
275
|
const hasBeenOpened = this.classList.contains(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
284
276
|
this.classList.remove(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
285
|
-
if (hasBeenOpened
|
|
286
|
-
|
|
287
|
-
const $searchSheet = $storefrontSearch === null || $storefrontSearch === void 0 ? void 0 : $storefrontSearch.querySelector('h-sheet');
|
|
288
|
-
$searchSheet === null || $searchSheet === void 0 ? void 0 : $searchSheet.open();
|
|
289
|
-
}
|
|
277
|
+
if (hasBeenOpened)
|
|
278
|
+
this.dispatchEvent(new CustomEvent('removeMobileOpened'));
|
|
290
279
|
}
|
|
291
|
-
else if (!this._shouldRenderAsPopup ||
|
|
280
|
+
else if (!this._shouldRenderAsPopup || this._isOpenedAsPopup) {
|
|
292
281
|
this.classList.add(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
293
282
|
}
|
|
294
283
|
};
|
|
295
|
-
this._updateShouldRenderAsPopup = () => {
|
|
296
|
-
if (window.innerWidth > global_constants.BREAKPOINTS.sm && this.popup) {
|
|
297
|
-
this._shouldRenderAsPopup = true;
|
|
298
|
-
}
|
|
299
|
-
else {
|
|
300
|
-
this._shouldRenderAsPopup = false;
|
|
301
|
-
}
|
|
302
|
-
};
|
|
303
284
|
this._preventSubmitOnSearchClear = (ev) => {
|
|
304
285
|
const $searchClear = this.querySelector(search_constants.SEARCH_COMPONENT_NAMES.clearButton);
|
|
305
286
|
if (ev.key === 'Enter' && ev.target === $searchClear) {
|
|
@@ -324,9 +305,8 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
324
305
|
}
|
|
325
306
|
async connectedCallback() {
|
|
326
307
|
super.connectedCallback();
|
|
327
|
-
if (
|
|
328
|
-
this.
|
|
329
|
-
}
|
|
308
|
+
if (this.popup)
|
|
309
|
+
this._searchPopupController = new search_popup_controller.SearchPopupController(this);
|
|
330
310
|
this._setupContext();
|
|
331
311
|
try {
|
|
332
312
|
this._searchContextConsumer = new context_consumer_controller.ContextConsumerController(this);
|
|
@@ -361,6 +341,11 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
361
341
|
this._setupListeners();
|
|
362
342
|
this._setupAriaAttributes();
|
|
363
343
|
}
|
|
344
|
+
updated(_changedProperties) {
|
|
345
|
+
super.updated(_changedProperties);
|
|
346
|
+
this._shouldRenderAsPopup = this._searchPopupController.shouldRenderAsPopup;
|
|
347
|
+
this._isOpenedAsPopup = this._searchPopupController.isPopupOpened;
|
|
348
|
+
}
|
|
364
349
|
disconnectedCallback() {
|
|
365
350
|
var _a;
|
|
366
351
|
super.disconnectedCallback();
|
|
@@ -368,12 +353,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
368
353
|
document.removeEventListener('keydown', this._preventScrollingOnSearchContentBrowsing);
|
|
369
354
|
document.removeEventListener('focusin', this._resetSearchOnFocusOutside);
|
|
370
355
|
window.removeEventListener('resize', this._switchTypeOfSearchView);
|
|
371
|
-
window.removeEventListener('resize', this._updateShouldRenderAsPopup);
|
|
372
356
|
(_a = this._searchForm) === null || _a === void 0 ? void 0 : _a.removeEventListener('keydown', this._preventSubmitOnSearchClear);
|
|
373
|
-
if (this._shouldRenderAsPopup) {
|
|
374
|
-
document.removeEventListener(sheet_constants.SHEET_EVENTS.opened, this._showPopup);
|
|
375
|
-
document.removeEventListener(sheet_constants.SHEET_EVENTS.closed, this._hidePopup);
|
|
376
|
-
}
|
|
377
357
|
}
|
|
378
358
|
_setupContext() {
|
|
379
359
|
this._historyContextProvider = new context_provider_controller.ContextProviderController(this);
|
|
@@ -419,10 +399,6 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
419
399
|
}
|
|
420
400
|
document.addEventListener('keydown', this._preventScrollingOnSearchContentBrowsing);
|
|
421
401
|
document.addEventListener('focusin', this._resetSearchOnFocusOutside);
|
|
422
|
-
if (this._shouldRenderAsPopup) {
|
|
423
|
-
document.addEventListener(sheet_constants.SHEET_EVENTS.opened, this._showPopup);
|
|
424
|
-
document.addEventListener(sheet_constants.SHEET_EVENTS.closed, this._hidePopup);
|
|
425
|
-
}
|
|
426
402
|
});
|
|
427
403
|
this.addEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.keyup, (ev) => {
|
|
428
404
|
const shouldShowMessage = ev.detail.searchPhrase !== '';
|
|
@@ -457,7 +433,6 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
457
433
|
});
|
|
458
434
|
document.addEventListener('click', this._hideSuggesterOnClickOutside);
|
|
459
435
|
window.addEventListener('resize', this._switchTypeOfSearchView);
|
|
460
|
-
window.addEventListener('resize', this._updateShouldRenderAsPopup);
|
|
461
436
|
this._searchForm.addEventListener('keydown', this._preventSubmitOnSearchClear);
|
|
462
437
|
}
|
|
463
438
|
_updateSearchView(searchPhrase, shouldShowMessage, shouldUpdateSearchPhrase = true) {
|
|
@@ -499,7 +474,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
499
474
|
});
|
|
500
475
|
}
|
|
501
476
|
_handleToggleHistoryAndResults({ shouldShowHistory, shouldShowResults }) {
|
|
502
|
-
this.
|
|
477
|
+
this.shouldShowHistory = shouldShowHistory;
|
|
503
478
|
this._shouldShowResults = shouldShowResults;
|
|
504
479
|
this._toggleSearchInputAttributes(shouldShowHistory, shouldShowResults);
|
|
505
480
|
this._toggleSearchContainerAttributes(shouldShowHistory, shouldShowResults);
|
|
@@ -559,7 +534,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
559
534
|
this._dispatchEventWithSearchPhrase(search_constants.SEARCH_CUSTOM_EVENT_NAMES.searchPhraseSubmitted, searchPhrase);
|
|
560
535
|
}
|
|
561
536
|
_isSuggesterLayerVisible() {
|
|
562
|
-
return this.settings.isSearchSuggestLayerEnabled && (this.
|
|
537
|
+
return this.settings.isSearchSuggestLayerEnabled && (this.shouldShowHistory || this._shouldShowResults || this._shouldShowMessage);
|
|
563
538
|
}
|
|
564
539
|
_handleOpenSearch() {
|
|
565
540
|
this.classList.add(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
@@ -613,7 +588,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
613
588
|
search-phrase="${this._searchPhrase}"
|
|
614
589
|
module-instance-id="${this.moduleInstanceId}"
|
|
615
590
|
></h-search-message>`)}
|
|
616
|
-
${when.when(this.
|
|
591
|
+
${when.when(this.shouldShowHistory, () => lit.html `<h-search-history
|
|
617
592
|
${ref_js.ref(this._searchHistoryRef)}
|
|
618
593
|
.history="${this._historyLimitedContent}"
|
|
619
594
|
.translations="${this._translations}"
|
|
@@ -668,10 +643,14 @@ tslib_es6.__decorate([
|
|
|
668
643
|
decorators.state(),
|
|
669
644
|
tslib_es6.__metadata("design:type", Object)
|
|
670
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);
|
|
671
650
|
tslib_es6.__decorate([
|
|
672
651
|
decorators.state(),
|
|
673
652
|
tslib_es6.__metadata("design:type", Boolean)
|
|
674
|
-
], exports.HSearch.prototype, "
|
|
653
|
+
], exports.HSearch.prototype, "shouldShowHistory", void 0);
|
|
675
654
|
tslib_es6.__decorate([
|
|
676
655
|
decorators.state(),
|
|
677
656
|
tslib_es6.__metadata("design:type", Boolean)
|
|
@@ -712,10 +691,6 @@ tslib_es6.__decorate([
|
|
|
712
691
|
decorators.state(),
|
|
713
692
|
tslib_es6.__metadata("design:type", String)
|
|
714
693
|
], exports.HSearch.prototype, "_containerRole", void 0);
|
|
715
|
-
tslib_es6.__decorate([
|
|
716
|
-
decorators.state(),
|
|
717
|
-
tslib_es6.__metadata("design:type", Boolean)
|
|
718
|
-
], exports.HSearch.prototype, "_isPopupOpened", void 0);
|
|
719
694
|
exports.HSearch = tslib_es6.__decorate([
|
|
720
695
|
phoenix_custom_element.phoenixCustomElement(search_constants.SEARCH_COMPONENT_NAMES.search)
|
|
721
696
|
], exports.HSearch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E
|
|
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;"}
|
|
@@ -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,14 @@
|
|
|
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
|
+
}
|
package/build/esm/packages/phoenix/src/components/form/search/controllers/search_popup_controller.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { __decorate, __metadata } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import 'lit';
|
|
3
|
+
import { state } from 'lit/decorators';
|
|
4
|
+
import { BREAKPOINTS } from '../../../../global_constants.js';
|
|
5
|
+
import { SHEET_EVENTS } from '../../../sheet/sheet_constants.js';
|
|
6
|
+
|
|
7
|
+
class SearchPopupController {
|
|
8
|
+
constructor(host) {
|
|
9
|
+
this.shouldRenderAsPopup = false;
|
|
10
|
+
this.isPopupOpened = false;
|
|
11
|
+
this._removeMobileOpened = () => {
|
|
12
|
+
const $storefrontSearch = document.querySelector(`h-storefront-search[module-instance-id="${this._host.moduleInstanceId}"]`);
|
|
13
|
+
const $searchSheet = $storefrontSearch === null || $storefrontSearch === void 0 ? void 0 : $storefrontSearch.querySelector('h-sheet');
|
|
14
|
+
$searchSheet === null || $searchSheet === void 0 ? void 0 : $searchSheet.open();
|
|
15
|
+
};
|
|
16
|
+
this._showPopup = () => {
|
|
17
|
+
this.isPopupOpened = true;
|
|
18
|
+
};
|
|
19
|
+
this._hidePopup = () => {
|
|
20
|
+
this.isPopupOpened = false;
|
|
21
|
+
this._host.shouldShowHistory = false;
|
|
22
|
+
};
|
|
23
|
+
this._updateShouldRenderAsPopup = () => {
|
|
24
|
+
if (window.innerWidth < BREAKPOINTS.sm) {
|
|
25
|
+
this.shouldRenderAsPopup = false;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.shouldRenderAsPopup = true;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
(this._host = host).addController(this);
|
|
32
|
+
if (window.innerWidth >= BREAKPOINTS.sm) {
|
|
33
|
+
this.shouldRenderAsPopup = true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
hostConnected() {
|
|
37
|
+
this._host.addEventListener('removeMobileOpened', this._removeMobileOpened);
|
|
38
|
+
document.addEventListener(SHEET_EVENTS.opened, this._showPopup);
|
|
39
|
+
document.addEventListener(SHEET_EVENTS.closed, this._hidePopup);
|
|
40
|
+
window.addEventListener('resize', this._updateShouldRenderAsPopup);
|
|
41
|
+
}
|
|
42
|
+
hostDisconnected() {
|
|
43
|
+
this._host.removeEventListener('removeMobileOpened', this._removeMobileOpened);
|
|
44
|
+
document.removeEventListener(SHEET_EVENTS.opened, this._showPopup);
|
|
45
|
+
document.removeEventListener(SHEET_EVENTS.closed, this._hidePopup);
|
|
46
|
+
window.removeEventListener('resize', this._updateShouldRenderAsPopup);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
__decorate([
|
|
50
|
+
state(),
|
|
51
|
+
__metadata("design:type", Object)
|
|
52
|
+
], SearchPopupController.prototype, "shouldRenderAsPopup", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
state(),
|
|
55
|
+
__metadata("design:type", Object)
|
|
56
|
+
], SearchPopupController.prototype, "isPopupOpened", void 0);
|
|
57
|
+
|
|
58
|
+
export { SearchPopupController };
|
|
59
|
+
//# sourceMappingURL=search_popup_controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,kDAAsD;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,4 +1,4 @@
|
|
|
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 {
|
|
@@ -8,6 +8,7 @@ export declare class HSearch extends PhoenixLightLitElement {
|
|
|
8
8
|
popup: boolean;
|
|
9
9
|
moduleInstanceId: string;
|
|
10
10
|
private _shouldRenderAsPopup;
|
|
11
|
+
private _isOpenedAsPopup;
|
|
11
12
|
private _historyContextProvider;
|
|
12
13
|
private _searchContextConsumer;
|
|
13
14
|
private _searchContext$;
|
|
@@ -22,7 +23,8 @@ export declare class HSearch extends PhoenixLightLitElement {
|
|
|
22
23
|
private _searchHistoryRef;
|
|
23
24
|
private _searchMessageRef;
|
|
24
25
|
private _openSearchButtonLabelRef;
|
|
25
|
-
private
|
|
26
|
+
private _searchPopupController;
|
|
27
|
+
shouldShowHistory: boolean;
|
|
26
28
|
private _shouldShowResults;
|
|
27
29
|
private _shouldShowMessage;
|
|
28
30
|
private _searchResults;
|
|
@@ -33,16 +35,14 @@ export declare class HSearch extends PhoenixLightLitElement {
|
|
|
33
35
|
private _activeItemId;
|
|
34
36
|
private _translations;
|
|
35
37
|
private _containerRole;
|
|
36
|
-
private _isPopupOpened;
|
|
37
38
|
connectedCallback(): Promise<void>;
|
|
39
|
+
updated(_changedProperties: PropertyValues): void;
|
|
38
40
|
disconnectedCallback(): void;
|
|
39
41
|
private _setupContext;
|
|
40
42
|
private _setupInitialSearchPhrase;
|
|
41
43
|
private _updateSearchPhrase;
|
|
42
44
|
private _dispatchEventWithSearchPhrase;
|
|
43
45
|
private _setupListeners;
|
|
44
|
-
private _showPopup;
|
|
45
|
-
private _hidePopup;
|
|
46
46
|
private _updateSearchView;
|
|
47
47
|
private _displaySuggester;
|
|
48
48
|
private _displayHistorySuggestions;
|
|
@@ -76,7 +76,6 @@ export declare class HSearch extends PhoenixLightLitElement {
|
|
|
76
76
|
private _hideSuggesterOnClickOutside;
|
|
77
77
|
private _switchTypeOfSearchView;
|
|
78
78
|
private _isSuggesterLayerVisible;
|
|
79
|
-
private _updateShouldRenderAsPopup;
|
|
80
79
|
private _preventSubmitOnSearchClear;
|
|
81
80
|
private _resetSearchOnFocusOutside;
|
|
82
81
|
private _setupAriaAttributes;
|
|
@@ -12,15 +12,16 @@ import { createRef, ref } from 'lit-html/directives/ref.js';
|
|
|
12
12
|
import { ContextProviderController } from '../../../core/context/context_provider_controller.js';
|
|
13
13
|
import { BREAKPOINTS } from '../../../global_constants.js';
|
|
14
14
|
import v4 from '../../../../../../external/uuid/dist/esm-browser/v4.js';
|
|
15
|
-
import { SHEET_EVENTS } from '../../sheet/sheet_constants.js';
|
|
16
15
|
import { when as n } from '../../../../../../external/lit-html/directives/when.js';
|
|
17
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';
|
|
18
18
|
|
|
19
19
|
let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
20
20
|
constructor() {
|
|
21
21
|
super(...arguments);
|
|
22
22
|
this.view = DEFAULT_VIEW;
|
|
23
23
|
this._shouldRenderAsPopup = false;
|
|
24
|
+
this._isOpenedAsPopup = false;
|
|
24
25
|
this._id = v4();
|
|
25
26
|
this._openSearchButtonAriaLabelId = `${this._id}-open-search-button-aria-label`;
|
|
26
27
|
this._searchContentContainerId = v4();
|
|
@@ -28,7 +29,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
28
29
|
this._searchHistoryRef = createRef();
|
|
29
30
|
this._searchMessageRef = createRef();
|
|
30
31
|
this._openSearchButtonLabelRef = createRef();
|
|
31
|
-
this.
|
|
32
|
+
this.shouldShowHistory = false;
|
|
32
33
|
this._shouldShowResults = false;
|
|
33
34
|
this._shouldShowMessage = false;
|
|
34
35
|
this._searchHistory = [];
|
|
@@ -40,14 +41,6 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
40
41
|
this._activeItemId = `${this._id}-1`;
|
|
41
42
|
this._translations = {};
|
|
42
43
|
this._containerRole = 'grid';
|
|
43
|
-
this._isPopupOpened = false;
|
|
44
|
-
this._showPopup = () => {
|
|
45
|
-
this._isPopupOpened = true;
|
|
46
|
-
};
|
|
47
|
-
this._hidePopup = () => {
|
|
48
|
-
this._isPopupOpened = false;
|
|
49
|
-
this._shouldShowHistory = false;
|
|
50
|
-
};
|
|
51
44
|
this._bindKeys = (ev) => {
|
|
52
45
|
switch (ev.key) {
|
|
53
46
|
case 'ArrowDown':
|
|
@@ -81,7 +74,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
81
74
|
break;
|
|
82
75
|
case 'Escape':
|
|
83
76
|
ev.preventDefault();
|
|
84
|
-
if (this.
|
|
77
|
+
if (this.shouldShowHistory || this.shouldShowHistory || this._shouldShowResults) {
|
|
85
78
|
this._inputField.focus();
|
|
86
79
|
this._shouldShowMessage = false;
|
|
87
80
|
this._hideHistorySuggestionsAndResults();
|
|
@@ -187,7 +180,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
187
180
|
this._handleBackwardListFocus = (ev) => {
|
|
188
181
|
var _a, _b;
|
|
189
182
|
const isFocusedOnSearchInput = document.activeElement === this._inputField;
|
|
190
|
-
const hasPopup = this.
|
|
183
|
+
const hasPopup = this.shouldShowHistory || this.shouldShowHistory || this._shouldShowResults;
|
|
191
184
|
if (isFocusedOnSearchInput || !hasPopup)
|
|
192
185
|
return;
|
|
193
186
|
ev.preventDefault();
|
|
@@ -272,30 +265,18 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
272
265
|
this._resetSearchView();
|
|
273
266
|
};
|
|
274
267
|
this._switchTypeOfSearchView = () => {
|
|
275
|
-
if (!this._isSuggesterLayerVisible()
|
|
268
|
+
if (!this._isSuggesterLayerVisible())
|
|
276
269
|
return;
|
|
277
|
-
const isOpenedAsPopup = this._shouldRenderAsPopup && this._isPopupOpened;
|
|
278
270
|
if (window.innerWidth > BREAKPOINTS.sm) {
|
|
279
271
|
const hasBeenOpened = this.classList.contains(SEARCH_CLASS_NAMES.mobileOpened);
|
|
280
272
|
this.classList.remove(SEARCH_CLASS_NAMES.mobileOpened);
|
|
281
|
-
if (hasBeenOpened
|
|
282
|
-
|
|
283
|
-
const $searchSheet = $storefrontSearch === null || $storefrontSearch === void 0 ? void 0 : $storefrontSearch.querySelector('h-sheet');
|
|
284
|
-
$searchSheet === null || $searchSheet === void 0 ? void 0 : $searchSheet.open();
|
|
285
|
-
}
|
|
273
|
+
if (hasBeenOpened)
|
|
274
|
+
this.dispatchEvent(new CustomEvent('removeMobileOpened'));
|
|
286
275
|
}
|
|
287
|
-
else if (!this._shouldRenderAsPopup ||
|
|
276
|
+
else if (!this._shouldRenderAsPopup || this._isOpenedAsPopup) {
|
|
288
277
|
this.classList.add(SEARCH_CLASS_NAMES.mobileOpened);
|
|
289
278
|
}
|
|
290
279
|
};
|
|
291
|
-
this._updateShouldRenderAsPopup = () => {
|
|
292
|
-
if (window.innerWidth > BREAKPOINTS.sm && this.popup) {
|
|
293
|
-
this._shouldRenderAsPopup = true;
|
|
294
|
-
}
|
|
295
|
-
else {
|
|
296
|
-
this._shouldRenderAsPopup = false;
|
|
297
|
-
}
|
|
298
|
-
};
|
|
299
280
|
this._preventSubmitOnSearchClear = (ev) => {
|
|
300
281
|
const $searchClear = this.querySelector(SEARCH_COMPONENT_NAMES.clearButton);
|
|
301
282
|
if (ev.key === 'Enter' && ev.target === $searchClear) {
|
|
@@ -320,9 +301,8 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
320
301
|
}
|
|
321
302
|
async connectedCallback() {
|
|
322
303
|
super.connectedCallback();
|
|
323
|
-
if (
|
|
324
|
-
this.
|
|
325
|
-
}
|
|
304
|
+
if (this.popup)
|
|
305
|
+
this._searchPopupController = new SearchPopupController(this);
|
|
326
306
|
this._setupContext();
|
|
327
307
|
try {
|
|
328
308
|
this._searchContextConsumer = new ContextConsumerController(this);
|
|
@@ -357,6 +337,11 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
357
337
|
this._setupListeners();
|
|
358
338
|
this._setupAriaAttributes();
|
|
359
339
|
}
|
|
340
|
+
updated(_changedProperties) {
|
|
341
|
+
super.updated(_changedProperties);
|
|
342
|
+
this._shouldRenderAsPopup = this._searchPopupController.shouldRenderAsPopup;
|
|
343
|
+
this._isOpenedAsPopup = this._searchPopupController.isPopupOpened;
|
|
344
|
+
}
|
|
360
345
|
disconnectedCallback() {
|
|
361
346
|
var _a;
|
|
362
347
|
super.disconnectedCallback();
|
|
@@ -364,12 +349,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
364
349
|
document.removeEventListener('keydown', this._preventScrollingOnSearchContentBrowsing);
|
|
365
350
|
document.removeEventListener('focusin', this._resetSearchOnFocusOutside);
|
|
366
351
|
window.removeEventListener('resize', this._switchTypeOfSearchView);
|
|
367
|
-
window.removeEventListener('resize', this._updateShouldRenderAsPopup);
|
|
368
352
|
(_a = this._searchForm) === null || _a === void 0 ? void 0 : _a.removeEventListener('keydown', this._preventSubmitOnSearchClear);
|
|
369
|
-
if (this._shouldRenderAsPopup) {
|
|
370
|
-
document.removeEventListener(SHEET_EVENTS.opened, this._showPopup);
|
|
371
|
-
document.removeEventListener(SHEET_EVENTS.closed, this._hidePopup);
|
|
372
|
-
}
|
|
373
353
|
}
|
|
374
354
|
_setupContext() {
|
|
375
355
|
this._historyContextProvider = new ContextProviderController(this);
|
|
@@ -415,10 +395,6 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
415
395
|
}
|
|
416
396
|
document.addEventListener('keydown', this._preventScrollingOnSearchContentBrowsing);
|
|
417
397
|
document.addEventListener('focusin', this._resetSearchOnFocusOutside);
|
|
418
|
-
if (this._shouldRenderAsPopup) {
|
|
419
|
-
document.addEventListener(SHEET_EVENTS.opened, this._showPopup);
|
|
420
|
-
document.addEventListener(SHEET_EVENTS.closed, this._hidePopup);
|
|
421
|
-
}
|
|
422
398
|
});
|
|
423
399
|
this.addEventListener(SEARCH_CUSTOM_EVENT_NAMES.keyup, (ev) => {
|
|
424
400
|
const shouldShowMessage = ev.detail.searchPhrase !== '';
|
|
@@ -453,7 +429,6 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
453
429
|
});
|
|
454
430
|
document.addEventListener('click', this._hideSuggesterOnClickOutside);
|
|
455
431
|
window.addEventListener('resize', this._switchTypeOfSearchView);
|
|
456
|
-
window.addEventListener('resize', this._updateShouldRenderAsPopup);
|
|
457
432
|
this._searchForm.addEventListener('keydown', this._preventSubmitOnSearchClear);
|
|
458
433
|
}
|
|
459
434
|
_updateSearchView(searchPhrase, shouldShowMessage, shouldUpdateSearchPhrase = true) {
|
|
@@ -495,7 +470,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
495
470
|
});
|
|
496
471
|
}
|
|
497
472
|
_handleToggleHistoryAndResults({ shouldShowHistory, shouldShowResults }) {
|
|
498
|
-
this.
|
|
473
|
+
this.shouldShowHistory = shouldShowHistory;
|
|
499
474
|
this._shouldShowResults = shouldShowResults;
|
|
500
475
|
this._toggleSearchInputAttributes(shouldShowHistory, shouldShowResults);
|
|
501
476
|
this._toggleSearchContainerAttributes(shouldShowHistory, shouldShowResults);
|
|
@@ -555,7 +530,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
555
530
|
this._dispatchEventWithSearchPhrase(SEARCH_CUSTOM_EVENT_NAMES.searchPhraseSubmitted, searchPhrase);
|
|
556
531
|
}
|
|
557
532
|
_isSuggesterLayerVisible() {
|
|
558
|
-
return this.settings.isSearchSuggestLayerEnabled && (this.
|
|
533
|
+
return this.settings.isSearchSuggestLayerEnabled && (this.shouldShowHistory || this._shouldShowResults || this._shouldShowMessage);
|
|
559
534
|
}
|
|
560
535
|
_handleOpenSearch() {
|
|
561
536
|
this.classList.add(SEARCH_CLASS_NAMES.mobileOpened);
|
|
@@ -609,7 +584,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
609
584
|
search-phrase="${this._searchPhrase}"
|
|
610
585
|
module-instance-id="${this.moduleInstanceId}"
|
|
611
586
|
></h-search-message>`)}
|
|
612
|
-
${n(this.
|
|
587
|
+
${n(this.shouldShowHistory, () => html `<h-search-history
|
|
613
588
|
${ref(this._searchHistoryRef)}
|
|
614
589
|
.history="${this._historyLimitedContent}"
|
|
615
590
|
.translations="${this._translations}"
|
|
@@ -664,10 +639,14 @@ __decorate([
|
|
|
664
639
|
state(),
|
|
665
640
|
__metadata("design:type", Object)
|
|
666
641
|
], HSearch.prototype, "_shouldRenderAsPopup", void 0);
|
|
642
|
+
__decorate([
|
|
643
|
+
state(),
|
|
644
|
+
__metadata("design:type", Object)
|
|
645
|
+
], HSearch.prototype, "_isOpenedAsPopup", void 0);
|
|
667
646
|
__decorate([
|
|
668
647
|
state(),
|
|
669
648
|
__metadata("design:type", Boolean)
|
|
670
|
-
], HSearch.prototype, "
|
|
649
|
+
], HSearch.prototype, "shouldShowHistory", void 0);
|
|
671
650
|
__decorate([
|
|
672
651
|
state(),
|
|
673
652
|
__metadata("design:type", Boolean)
|
|
@@ -708,10 +687,6 @@ __decorate([
|
|
|
708
687
|
state(),
|
|
709
688
|
__metadata("design:type", String)
|
|
710
689
|
], HSearch.prototype, "_containerRole", void 0);
|
|
711
|
-
__decorate([
|
|
712
|
-
state(),
|
|
713
|
-
__metadata("design:type", Boolean)
|
|
714
|
-
], HSearch.prototype, "_isPopupOpened", void 0);
|
|
715
690
|
HSearch = __decorate([
|
|
716
691
|
phoenixCustomElement(SEARCH_COMPONENT_NAMES.search)
|
|
717
692
|
], HSearch);
|
|
@@ -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
|
|
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;"}
|
|
@@ -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;"}
|