@shoper/phoenix_design_system 1.17.15-1 → 1.17.16-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js +1 -12
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js +1 -1
- package/build/cjs/packages/phoenix/src/components/form/search/search.js +14 -21
- package/build/cjs/packages/phoenix/src/components/form/search/search.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js +1 -5
- package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.js +1 -1
- package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.js +1 -1
- package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js +0 -4
- package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js +37 -36
- package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/sheet/sheet.js +1 -3
- package/build/cjs/packages/phoenix/src/components/sheet/sheet.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/toggle/toggle_button.js +14 -1
- package/build/cjs/packages/phoenix/src/components/toggle/toggle_button.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.d.ts +0 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js +1 -12
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js +1 -1
- package/build/esm/packages/phoenix/src/components/form/search/search.d.ts +3 -3
- package/build/esm/packages/phoenix/src/components/form/search/search.js +14 -21
- package/build/esm/packages/phoenix/src/components/form/search/search.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/search/search_types.d.ts +0 -1
- package/build/esm/packages/phoenix/src/components/form/search/subcomponents/input/search_input.d.ts +0 -2
- package/build/esm/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js +1 -5
- package/build/esm/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.js +1 -1
- package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.js +1 -1
- package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js +0 -4
- package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.d.ts +5 -6
- package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js +37 -36
- package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/sheet/sheet.js +1 -3
- package/build/esm/packages/phoenix/src/components/sheet/sheet.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/toggle/toggle_button.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/toggle/toggle_button.js +14 -1
- package/build/esm/packages/phoenix/src/components/toggle/toggle_button.js.map +1 -1
- package/build/esm/packages/phoenix/src/index.d.ts +0 -1
- package/package.json +47 -47
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
|
|
6
6
|
var decorators = require('lit/decorators');
|
|
7
|
-
var utilities = require('@dreamcommerce/utilities');
|
|
8
7
|
var phoenix_light_lit_element = require('../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
9
8
|
var phoenix_custom_element = require('../../core/decorators/phoenix_custom_element.js');
|
|
10
9
|
var dropdown_constants = require('./dropdown_constants.js');
|
|
@@ -13,22 +12,12 @@ exports.HDropdownContent = class HDropdownContent extends phoenix_light_lit_elem
|
|
|
13
12
|
constructor() {
|
|
14
13
|
super();
|
|
15
14
|
this.name = '';
|
|
16
|
-
this._setupRole = () => {
|
|
17
|
-
const $focusableElements = utilities.UiDomUtils.getFocusableElements(this);
|
|
18
|
-
const role = $focusableElements.length < 2 ? 'dialog' : 'menu';
|
|
19
|
-
this.setAttribute('role', role);
|
|
20
|
-
if (role === 'menu') {
|
|
21
|
-
Array.from(this.children).forEach((element) => {
|
|
22
|
-
element.setAttribute('role', 'menuitem');
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
15
|
this.slot = this.hasAttribute('slot') ? this.slot : 'content';
|
|
27
16
|
}
|
|
28
17
|
connectedCallback() {
|
|
29
18
|
super.connectedCallback();
|
|
30
19
|
this.classList.add(dropdown_constants.DROPDOWN_CSS_CLASSES.content);
|
|
31
|
-
this.
|
|
20
|
+
this.setAttribute('role', 'dialog');
|
|
32
21
|
}
|
|
33
22
|
};
|
|
34
23
|
tslib_es6.__decorate([
|
|
@@ -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;
|
|
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;"}
|
|
@@ -15,7 +15,7 @@ exports.HDropdownToggler = class HDropdownToggler extends phoenix_light_lit_elem
|
|
|
15
15
|
constructor() {
|
|
16
16
|
super();
|
|
17
17
|
this.name = '';
|
|
18
|
-
this.ariaHasPopup = '
|
|
18
|
+
this.ariaHasPopup = 'dialog';
|
|
19
19
|
this.ariaControls = '';
|
|
20
20
|
this.role = 'button';
|
|
21
21
|
this._setupTogglerAria = () => {
|
|
@@ -17,7 +17,6 @@ var context_provider_controller = require('../../../core/context/context_provide
|
|
|
17
17
|
var global_constants = require('../../../global_constants.js');
|
|
18
18
|
var v4 = require('../../../../../../external/uuid/dist/esm-browser/v4.js');
|
|
19
19
|
var modal_constants = require('../../modal/modal_constants.js');
|
|
20
|
-
var sheet_constants = require('../../sheet/sheet_constants.js');
|
|
21
20
|
var when = require('../../../../../../external/lit-html/directives/when.js');
|
|
22
21
|
var search_constants = require('./search_constants.js');
|
|
23
22
|
|
|
@@ -25,7 +24,6 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
25
24
|
constructor() {
|
|
26
25
|
super(...arguments);
|
|
27
26
|
this.view = search_constants.DEFAULT_VIEW;
|
|
28
|
-
this.displayMode = 'dropdown';
|
|
29
27
|
this._id = v4['default']();
|
|
30
28
|
this._openSearchButtonAriaLabelId = `${this._id}-open-search-button-aria-label`;
|
|
31
29
|
this._searchContentContainerId = v4['default']();
|
|
@@ -46,8 +44,8 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
46
44
|
this._translations = {};
|
|
47
45
|
this._containerRole = 'grid';
|
|
48
46
|
this._bindKeys = (ev) => {
|
|
49
|
-
if (this.
|
|
50
|
-
this.
|
|
47
|
+
if (this.popup) {
|
|
48
|
+
this._bindPopupKeys(ev);
|
|
51
49
|
}
|
|
52
50
|
else {
|
|
53
51
|
this._bindDropdownKeys(ev);
|
|
@@ -118,12 +116,11 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
118
116
|
break;
|
|
119
117
|
}
|
|
120
118
|
};
|
|
121
|
-
this.
|
|
119
|
+
this._bindPopupKeys = (ev) => {
|
|
122
120
|
switch (ev.key) {
|
|
123
121
|
case 'Escape':
|
|
124
122
|
ev.preventDefault();
|
|
125
|
-
|
|
126
|
-
this.emitCustomEvent(eventName);
|
|
123
|
+
this.emitCustomEvent(modal_constants.MODAL_EVENTS.close);
|
|
127
124
|
const $search = document.querySelector(`h-storefront-search[module-instance-id="${this.moduleInstanceId}"]`);
|
|
128
125
|
const $searchOpener = $search && $search.querySelector('[aria-haspopup="dialog"]');
|
|
129
126
|
$searchOpener === null || $searchOpener === void 0 ? void 0 : $searchOpener.focus();
|
|
@@ -291,22 +288,18 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
291
288
|
this._resetSearchView();
|
|
292
289
|
};
|
|
293
290
|
this._switchTypeOfSearchView = () => {
|
|
294
|
-
|
|
295
|
-
if (!this._isSuggesterLayerVisible() && this.displayMode === 'dropdown')
|
|
291
|
+
if (!this._isSuggesterLayerVisible() && !this.popup)
|
|
296
292
|
return;
|
|
297
293
|
if (window.innerWidth > global_constants.BREAKPOINTS.sm) {
|
|
298
294
|
const hasBeenOpened = this.classList.contains(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
299
295
|
this.classList.remove(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
300
|
-
if (hasBeenOpened && this.
|
|
296
|
+
if (hasBeenOpened && this.popup) {
|
|
301
297
|
const $storefrontSearch = document.querySelector(`h-storefront-search[module-instance-id="${this.moduleInstanceId}"]`);
|
|
302
|
-
const
|
|
303
|
-
|
|
304
|
-
if (!searchOverlayTriggerName || !$overlay)
|
|
305
|
-
return;
|
|
306
|
-
$overlay === null || $overlay === void 0 ? void 0 : $overlay.open();
|
|
298
|
+
const $searchModal = $storefrontSearch === null || $storefrontSearch === void 0 ? void 0 : $storefrontSearch.querySelector('h-modal');
|
|
299
|
+
$searchModal === null || $searchModal === void 0 ? void 0 : $searchModal.open();
|
|
307
300
|
}
|
|
308
301
|
}
|
|
309
|
-
else if (this.
|
|
302
|
+
else if (!this.popup) {
|
|
310
303
|
this._openMobileView();
|
|
311
304
|
}
|
|
312
305
|
};
|
|
@@ -422,7 +415,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
422
415
|
searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.add(search_constants.SEARCH_CLASS_NAMES.outline);
|
|
423
416
|
const shouldShowMessage = ((_b = ev.detail) === null || _b === void 0 ? void 0 : _b.searchPhrase) !== '';
|
|
424
417
|
this._updateSearchView(((_c = ev.detail) === null || _c === void 0 ? void 0 : _c.searchPhrase) || '', shouldShowMessage, false);
|
|
425
|
-
if (this.
|
|
418
|
+
if (!this.popup) {
|
|
426
419
|
document.addEventListener('keyup', this._handleSearchTabNavigation);
|
|
427
420
|
}
|
|
428
421
|
document.body.addEventListener('keydown', this._bindKeys);
|
|
@@ -558,7 +551,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
558
551
|
this._setActiveItemId(`${this._id}-1`);
|
|
559
552
|
const searchBar = this.querySelector(`.${search_constants.SEARCH_CLASS_NAMES.searchBar}`);
|
|
560
553
|
searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.remove(search_constants.SEARCH_CLASS_NAMES.outline);
|
|
561
|
-
if (this.
|
|
554
|
+
if (!this.popup)
|
|
562
555
|
this._hideHistorySuggestionsAndResults();
|
|
563
556
|
this._removeSearchKeyboardNavigation();
|
|
564
557
|
}
|
|
@@ -660,9 +653,9 @@ tslib_es6.__decorate([
|
|
|
660
653
|
tslib_es6.__metadata("design:type", String)
|
|
661
654
|
], exports.HSearch.prototype, "locale", void 0);
|
|
662
655
|
tslib_es6.__decorate([
|
|
663
|
-
decorators.property({ type:
|
|
664
|
-
tslib_es6.__metadata("design:type",
|
|
665
|
-
], exports.HSearch.prototype, "
|
|
656
|
+
decorators.property({ type: Boolean, attribute: 'popup' }),
|
|
657
|
+
tslib_es6.__metadata("design:type", Boolean)
|
|
658
|
+
], exports.HSearch.prototype, "popup", void 0);
|
|
666
659
|
tslib_es6.__decorate([
|
|
667
660
|
decorators.property({ type: String, attribute: 'module-instance-id' }),
|
|
668
661
|
tslib_es6.__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E;AACA
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E;AACA,mBAAmB,wDAA4D;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var tslib_es6 = require('../../../../../../../../external/tslib/tslib.es6.js');
|
|
6
|
-
require('lit');
|
|
7
6
|
var decorators = require('lit/decorators');
|
|
8
7
|
var phoenix_light_lit_element = require('../../../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
9
8
|
var phoenix_custom_element = require('../../../../../core/decorators/phoenix_custom_element.js');
|
|
@@ -33,13 +32,10 @@ exports.HSearchInput = class HSearchInput extends phoenix_light_lit_element.Phoe
|
|
|
33
32
|
if (!this.input) {
|
|
34
33
|
throw new Error('Search input not found');
|
|
35
34
|
}
|
|
35
|
+
this._setupInitialValue();
|
|
36
36
|
this._setupListeners();
|
|
37
37
|
this._setupAttributes();
|
|
38
38
|
}
|
|
39
|
-
firstUpdated(props) {
|
|
40
|
-
super.firstUpdated(props);
|
|
41
|
-
this._setupInitialValue();
|
|
42
|
-
}
|
|
43
39
|
_setupInitialValue() {
|
|
44
40
|
const searchQueryRegExp = /\/searchquery\/([^/]{1,})/;
|
|
45
41
|
const searchPhraseRegArray = searchQueryRegExp.exec(window.location.pathname);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA,uBAAuB,qDAAyD;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -37,7 +37,7 @@ exports.HSearchProducerContent = class HSearchProducerContent extends phoenix_li
|
|
|
37
37
|
: ''}"
|
|
38
38
|
data-search-item-id="${this.searchId}${this.initialItemIds.producers + index}"
|
|
39
39
|
aria-label=${this.producerAriaLabel ? `${this.producerAriaLabel} ${producer.name}` : undefined}
|
|
40
|
-
tabindex
|
|
40
|
+
tabindex="0"
|
|
41
41
|
role="option"
|
|
42
42
|
>
|
|
43
43
|
<a
|
|
@@ -50,7 +50,7 @@ exports.HSearchProductContent = class HSearchProductContent extends phoenix_ligh
|
|
|
50
50
|
: ''}"
|
|
51
51
|
data-search-item-id="${this.searchId}${this.initialItemIds.products + index}"
|
|
52
52
|
aria-label=${this.productAriaLabel ? `${this.productAriaLabel} ${product.name}` : undefined}
|
|
53
|
-
tabindex
|
|
53
|
+
tabindex="0"
|
|
54
54
|
role="option"
|
|
55
55
|
>
|
|
56
56
|
<a
|
|
@@ -76,10 +76,6 @@ exports.HSearchResults = class HSearchResults extends phoenix_light_lit_element.
|
|
|
76
76
|
locale="${this.locale}"
|
|
77
77
|
view="${this.view}"
|
|
78
78
|
module-instance-id="${this.moduleInstanceId}"
|
|
79
|
-
search-phrase="${this.searchPhrase}"
|
|
80
|
-
.suggestions="${this.results.suggestions}"
|
|
81
|
-
.products="${this.results.products}"
|
|
82
|
-
.categories="${this.results.categories}"
|
|
83
79
|
.suggestionAriaLabel=${this.settings.suggesterItemAriaLabel}
|
|
84
80
|
>
|
|
85
81
|
</h-search-suggestion-content>`)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA,iBAAiB,8DAAkE;AACnF,mBAAmB,8DAAkE;AACrF;AACA,sBAAsB,oDAAwD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA,iBAAiB,8DAAkE;AACnF,mBAAmB,8DAAkE;AACrF;AACA,sBAAsB,oDAAwD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -7,6 +7,8 @@ var lit = require('lit');
|
|
|
7
7
|
var decorators = require('lit/decorators');
|
|
8
8
|
var phoenix_light_lit_element = require('../../../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
9
9
|
var phoenix_custom_element = require('../../../../../core/decorators/phoenix_custom_element.js');
|
|
10
|
+
var observer = require('../../../../../core/classes/observer/observer.js');
|
|
11
|
+
var context_consumer_controller = require('../../../../../core/context/context_consumer_controller.js');
|
|
10
12
|
var when = require('../../../../../../../../external/lit-html/directives/when.js');
|
|
11
13
|
var search_constants = require('../../search_constants.js');
|
|
12
14
|
var repeat = require('../../../../../../../../external/lit-html/directives/repeat.js');
|
|
@@ -14,7 +16,9 @@ var repeat = require('../../../../../../../../external/lit-html/directives/repea
|
|
|
14
16
|
exports.HSearchSuggestionContent = class HSearchSuggestionContent extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
15
17
|
constructor() {
|
|
16
18
|
super(...arguments);
|
|
19
|
+
this.initialItemIds = {};
|
|
17
20
|
this.translations = {};
|
|
21
|
+
this._searchPhrase = '';
|
|
18
22
|
this._suggestionsData = [];
|
|
19
23
|
this._updateSearchPhrase = (ev, suggestion) => {
|
|
20
24
|
ev.stopPropagation();
|
|
@@ -23,29 +27,40 @@ exports.HSearchSuggestionContent = class HSearchSuggestionContent extends phoeni
|
|
|
23
27
|
}
|
|
24
28
|
async connectedCallback() {
|
|
25
29
|
super.connectedCallback();
|
|
26
|
-
|
|
30
|
+
try {
|
|
31
|
+
this._searchContextConsumer = new context_consumer_controller.ContextConsumerController(this);
|
|
32
|
+
this._searchContext$ = await this._searchContextConsumer.consumeAsync(this.moduleInstanceId);
|
|
33
|
+
this._searchContextObserver = new observer.Observer((searchData) => {
|
|
34
|
+
this._searchPhrase = searchData.searchPhrase;
|
|
35
|
+
this._setupSuggestionData(searchData.results);
|
|
36
|
+
});
|
|
37
|
+
this._searchContext$.subscribe(this._searchContextObserver);
|
|
38
|
+
}
|
|
39
|
+
catch (_a) {
|
|
40
|
+
console.error('Search context is not provided');
|
|
41
|
+
}
|
|
27
42
|
}
|
|
28
|
-
_setupSuggestionData() {
|
|
43
|
+
_setupSuggestionData(results) {
|
|
29
44
|
let suggestionsData = [];
|
|
30
|
-
if (
|
|
31
|
-
|
|
45
|
+
if (results.suggestions.length) {
|
|
46
|
+
results.suggestions.forEach((suggestion, index) => {
|
|
32
47
|
suggestionsData.push({ suggestionName: suggestion, type: search_constants.SUGGESTIONS_TYPE.suggestion });
|
|
33
48
|
if (index)
|
|
34
49
|
return;
|
|
35
|
-
const isProductInTheCategory =
|
|
50
|
+
const isProductInTheCategory = results.products.length;
|
|
36
51
|
if (isProductInTheCategory) {
|
|
37
52
|
const lang = this.locale.split('_')[0];
|
|
38
53
|
suggestionsData.push({
|
|
39
54
|
suggestionName: suggestion,
|
|
40
|
-
categoryName:
|
|
55
|
+
categoryName: results.products[0].category.breadcrumbs,
|
|
41
56
|
type: search_constants.SUGGESTIONS_TYPE.suggestionInCategory,
|
|
42
|
-
url: `/${lang}/c/${
|
|
57
|
+
url: `/${lang}/c/${results.products[0].category.name}/${results.products[0].category.categoryId}/1/${this.view}/1/searchquery/${suggestion}`
|
|
43
58
|
});
|
|
44
59
|
}
|
|
45
|
-
if (
|
|
60
|
+
if (results.categories.length) {
|
|
46
61
|
suggestionsData = [
|
|
47
62
|
...suggestionsData,
|
|
48
|
-
...
|
|
63
|
+
...results.categories.map((category) => ({
|
|
49
64
|
categoryName: category.name,
|
|
50
65
|
url: category.url,
|
|
51
66
|
type: search_constants.SUGGESTIONS_TYPE.category
|
|
@@ -54,9 +69,9 @@ exports.HSearchSuggestionContent = class HSearchSuggestionContent extends phoeni
|
|
|
54
69
|
}
|
|
55
70
|
});
|
|
56
71
|
}
|
|
57
|
-
else if (
|
|
72
|
+
else if (results.categories.length) {
|
|
58
73
|
suggestionsData = [
|
|
59
|
-
...
|
|
74
|
+
...results.categories.map((category) => ({
|
|
60
75
|
categoryName: category.name,
|
|
61
76
|
url: category.url,
|
|
62
77
|
type: search_constants.SUGGESTIONS_TYPE.category
|
|
@@ -65,11 +80,6 @@ exports.HSearchSuggestionContent = class HSearchSuggestionContent extends phoeni
|
|
|
65
80
|
}
|
|
66
81
|
this._suggestionsData = suggestionsData;
|
|
67
82
|
}
|
|
68
|
-
_handleSuggestionWithKeyboard(ev, suggestion, suggestionType) {
|
|
69
|
-
if (ev.key !== 'Enter' && ev.key !== ' ')
|
|
70
|
-
return;
|
|
71
|
-
this._handleSuggestion(suggestion, suggestionType);
|
|
72
|
-
}
|
|
73
83
|
_handleSuggestion(suggestion, suggestionType) {
|
|
74
84
|
if (suggestionType !== search_constants.SUGGESTIONS_TYPE.suggestion)
|
|
75
85
|
return;
|
|
@@ -84,10 +94,10 @@ exports.HSearchSuggestionContent = class HSearchSuggestionContent extends phoeni
|
|
|
84
94
|
});
|
|
85
95
|
}
|
|
86
96
|
_getMatchedPhrase(phrase) {
|
|
87
|
-
const phraseIncludesSearchPhrase = phrase.toLowerCase().includes(this.
|
|
97
|
+
const phraseIncludesSearchPhrase = phrase.toLowerCase().includes(this._searchPhrase);
|
|
88
98
|
if (!phraseIncludesSearchPhrase)
|
|
89
99
|
return lit.html `${phrase}`;
|
|
90
|
-
const index = phrase.toLowerCase().indexOf(this.
|
|
100
|
+
const index = phrase.toLowerCase().indexOf(this._searchPhrase) + this._searchPhrase.length;
|
|
91
101
|
return lit.html `${phrase.substring(0, index)}<strong>${phrase.substring(index)}</strong>`;
|
|
92
102
|
}
|
|
93
103
|
render() {
|
|
@@ -97,7 +107,6 @@ exports.HSearchSuggestionContent = class HSearchSuggestionContent extends phoeni
|
|
|
97
107
|
<ul>
|
|
98
108
|
${repeat.repeat(this._suggestionsData, (suggestion, index) => lit.html `<li
|
|
99
109
|
@click=${() => this._handleSuggestion(suggestion.suggestionName, suggestion.type)}
|
|
100
|
-
@keydown=${(ev) => this._handleSuggestionWithKeyboard(ev, suggestion.suggestionName, suggestion.type)}
|
|
101
110
|
class="${search_constants.SEARCH_CLASS_NAMES.item} ${search_constants.SEARCH_CLASS_NAMES.itemHoverable} ${String(index) === this.activeItemId
|
|
102
111
|
? search_constants.SEARCH_CLASS_NAMES.itemActive
|
|
103
112
|
: ''}"
|
|
@@ -106,7 +115,7 @@ exports.HSearchSuggestionContent = class HSearchSuggestionContent extends phoeni
|
|
|
106
115
|
aria-label="${this.suggestionAriaLabel ?
|
|
107
116
|
`${this.suggestionAriaLabel} ${suggestion.suggestionName || suggestion.categoryName}` :
|
|
108
117
|
''}"
|
|
109
|
-
tabindex
|
|
118
|
+
tabindex="0"
|
|
110
119
|
role="option"
|
|
111
120
|
>
|
|
112
121
|
${when.when(suggestion.type === search_constants.SUGGESTIONS_TYPE.suggestion, () => lit.html ` <span> ${this._getMatchedPhrase(suggestion.suggestionName)} </span>
|
|
@@ -137,6 +146,10 @@ tslib_es6.__decorate([
|
|
|
137
146
|
decorators.property({ type: String, attribute: 'search-id' }),
|
|
138
147
|
tslib_es6.__metadata("design:type", String)
|
|
139
148
|
], exports.HSearchSuggestionContent.prototype, "searchId", void 0);
|
|
149
|
+
tslib_es6.__decorate([
|
|
150
|
+
decorators.property({ type: Object, reflect: true }),
|
|
151
|
+
tslib_es6.__metadata("design:type", Object)
|
|
152
|
+
], exports.HSearchSuggestionContent.prototype, "initialItemIds", void 0);
|
|
140
153
|
tslib_es6.__decorate([
|
|
141
154
|
decorators.property({ type: Object }),
|
|
142
155
|
tslib_es6.__metadata("design:type", Object)
|
|
@@ -153,26 +166,14 @@ tslib_es6.__decorate([
|
|
|
153
166
|
decorators.property({ type: String, attribute: 'module-instance-id' }),
|
|
154
167
|
tslib_es6.__metadata("design:type", String)
|
|
155
168
|
], exports.HSearchSuggestionContent.prototype, "moduleInstanceId", void 0);
|
|
156
|
-
tslib_es6.__decorate([
|
|
157
|
-
decorators.property({ type: String, attribute: 'search-phrase' }),
|
|
158
|
-
tslib_es6.__metadata("design:type", String)
|
|
159
|
-
], exports.HSearchSuggestionContent.prototype, "searchPhrase", void 0);
|
|
160
|
-
tslib_es6.__decorate([
|
|
161
|
-
decorators.property({ type: Object }),
|
|
162
|
-
tslib_es6.__metadata("design:type", Array)
|
|
163
|
-
], exports.HSearchSuggestionContent.prototype, "suggestions", void 0);
|
|
164
|
-
tslib_es6.__decorate([
|
|
165
|
-
decorators.property({ type: Object }),
|
|
166
|
-
tslib_es6.__metadata("design:type", Array)
|
|
167
|
-
], exports.HSearchSuggestionContent.prototype, "products", void 0);
|
|
168
|
-
tslib_es6.__decorate([
|
|
169
|
-
decorators.property({ type: Object, attribute: false }),
|
|
170
|
-
tslib_es6.__metadata("design:type", Array)
|
|
171
|
-
], exports.HSearchSuggestionContent.prototype, "categories", void 0);
|
|
172
169
|
tslib_es6.__decorate([
|
|
173
170
|
decorators.property({ type: String }),
|
|
174
171
|
tslib_es6.__metadata("design:type", String)
|
|
175
172
|
], exports.HSearchSuggestionContent.prototype, "suggestionAriaLabel", void 0);
|
|
173
|
+
tslib_es6.__decorate([
|
|
174
|
+
decorators.state(),
|
|
175
|
+
tslib_es6.__metadata("design:type", String)
|
|
176
|
+
], exports.HSearchSuggestionContent.prototype, "_searchPhrase", void 0);
|
|
176
177
|
tslib_es6.__decorate([
|
|
177
178
|
decorators.state(),
|
|
178
179
|
tslib_es6.__metadata("design:type", Array)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA,mBAAmB,8DAAkE;AACrF;AACA,qBAAqB,gEAAoE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkE;AACrF;AACA,qBAAqB,gEAAoE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -199,9 +199,7 @@ exports.HSheet = HSheet_1 = class HSheet extends phoenix_light_lit_element.Phoen
|
|
|
199
199
|
});
|
|
200
200
|
}
|
|
201
201
|
_dispatchSheetOpenedEvent() {
|
|
202
|
-
this.emitCustomEvent(sheet_constants.SHEET_EVENTS.opened
|
|
203
|
-
detail: this
|
|
204
|
-
});
|
|
202
|
+
this.emitCustomEvent(sheet_constants.SHEET_EVENTS.opened);
|
|
205
203
|
this._backdropController.show();
|
|
206
204
|
this._addInertToBodyChildrenElements();
|
|
207
205
|
}
|
|
@@ -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;"}
|
|
@@ -19,9 +19,20 @@ exports.HToggleBtn = class HToggleBtn extends phoenix_light_lit_element.PhoenixL
|
|
|
19
19
|
this._visibility = {
|
|
20
20
|
collapse: (isOpened) => {
|
|
21
21
|
isOpened ? this._visibilityController.show() : this._visibilityController.hide();
|
|
22
|
+
this._handleFocusOppositeToggleButtonIfLostFocus();
|
|
22
23
|
},
|
|
23
24
|
expand: (isOpened) => {
|
|
24
25
|
isOpened ? this._visibilityController.hide() : this._visibilityController.show();
|
|
26
|
+
this._handleFocusOppositeToggleButtonIfLostFocus();
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
this._handleFocusOppositeToggleButtonIfLostFocus = () => {
|
|
30
|
+
var _a;
|
|
31
|
+
const shouldFocus = this === document.activeElement;
|
|
32
|
+
const oppositeAction = this.action === toggle_constants.TOGGLE_ACTIONS.collapse ? toggle_constants.TOGGLE_ACTIONS.expand : toggle_constants.TOGGLE_ACTIONS.collapse;
|
|
33
|
+
if (shouldFocus) {
|
|
34
|
+
const $oppositeToggleBtn = (_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.querySelector(`[action="${oppositeAction}"]`);
|
|
35
|
+
$oppositeToggleBtn === null || $oppositeToggleBtn === void 0 ? void 0 : $oppositeToggleBtn.focus();
|
|
25
36
|
}
|
|
26
37
|
};
|
|
27
38
|
this._dispatchToggleEvent = () => {
|
|
@@ -38,10 +49,12 @@ exports.HToggleBtn = class HToggleBtn extends phoenix_light_lit_element.PhoenixL
|
|
|
38
49
|
this._visibility[this.action](isOpened);
|
|
39
50
|
});
|
|
40
51
|
this._opened$.subscribe(this._openedObserver);
|
|
52
|
+
this.setAttribute('aria-expanded', this.action === toggle_constants.TOGGLE_ACTIONS.collapse ? 'true' : 'false');
|
|
41
53
|
this.addEventListener('click', this._dispatchToggleEvent);
|
|
42
54
|
}
|
|
43
55
|
disconnectedCallback() {
|
|
44
|
-
|
|
56
|
+
super.disconnectedCallback();
|
|
57
|
+
this._openedObserver && this._opened$.unsubscribe(this._openedObserver);
|
|
45
58
|
}
|
|
46
59
|
};
|
|
47
60
|
tslib_es6.__decorate([
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
|
|
2
2
|
import { property } from 'lit/decorators';
|
|
3
|
-
import { UiDomUtils } from '@dreamcommerce/utilities';
|
|
4
3
|
import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
|
|
5
4
|
import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
|
|
6
5
|
import { DROPDOWN_CSS_CLASSES } from './dropdown_constants.js';
|
|
@@ -9,22 +8,12 @@ let HDropdownContent = class HDropdownContent extends PhoenixLightLitElement {
|
|
|
9
8
|
constructor() {
|
|
10
9
|
super();
|
|
11
10
|
this.name = '';
|
|
12
|
-
this._setupRole = () => {
|
|
13
|
-
const $focusableElements = UiDomUtils.getFocusableElements(this);
|
|
14
|
-
const role = $focusableElements.length < 2 ? 'dialog' : 'menu';
|
|
15
|
-
this.setAttribute('role', role);
|
|
16
|
-
if (role === 'menu') {
|
|
17
|
-
Array.from(this.children).forEach((element) => {
|
|
18
|
-
element.setAttribute('role', 'menuitem');
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
11
|
this.slot = this.hasAttribute('slot') ? this.slot : 'content';
|
|
23
12
|
}
|
|
24
13
|
connectedCallback() {
|
|
25
14
|
super.connectedCallback();
|
|
26
15
|
this.classList.add(DROPDOWN_CSS_CLASSES.content);
|
|
27
|
-
this.
|
|
16
|
+
this.setAttribute('role', 'dialog');
|
|
28
17
|
}
|
|
29
18
|
};
|
|
30
19
|
__decorate([
|
|
@@ -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;
|
|
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;"}
|
|
@@ -11,7 +11,7 @@ let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
|
|
|
11
11
|
constructor() {
|
|
12
12
|
super();
|
|
13
13
|
this.name = '';
|
|
14
|
-
this.ariaHasPopup = '
|
|
14
|
+
this.ariaHasPopup = 'dialog';
|
|
15
15
|
this.ariaControls = '';
|
|
16
16
|
this.role = 'button';
|
|
17
17
|
this._setupTogglerAria = () => {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { TemplateResult } from 'lit';
|
|
2
2
|
import { PhoenixLightLitElement } from "../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
|
|
3
|
-
import type {
|
|
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
|
-
|
|
8
|
+
popup: boolean;
|
|
9
9
|
moduleInstanceId: string;
|
|
10
10
|
private _historyContextProvider;
|
|
11
11
|
private _searchContextConsumer;
|
|
@@ -49,7 +49,7 @@ export declare class HSearch extends PhoenixLightLitElement {
|
|
|
49
49
|
private _toggleSearchContainerAttributes;
|
|
50
50
|
private _bindKeys;
|
|
51
51
|
private _bindDropdownKeys;
|
|
52
|
-
private
|
|
52
|
+
private _bindPopupKeys;
|
|
53
53
|
private _handleSearchTabNavigation;
|
|
54
54
|
private _focusOnPreviousElementBeforeSearchInput;
|
|
55
55
|
private _focusOnNextElementAfterSearchInput;
|
|
@@ -13,7 +13,6 @@ import { ContextProviderController } from '../../../core/context/context_provide
|
|
|
13
13
|
import { BREAKPOINTS } from '../../../global_constants.js';
|
|
14
14
|
import v4 from '../../../../../../external/uuid/dist/esm-browser/v4.js';
|
|
15
15
|
import { MODAL_EVENTS } from '../../modal/modal_constants.js';
|
|
16
|
-
import { SHEET_EVENTS } from '../../sheet/sheet_constants.js';
|
|
17
16
|
import { when as n } from '../../../../../../external/lit-html/directives/when.js';
|
|
18
17
|
import { DEFAULT_VIEW, SEARCH_CLASS_NAMES, SEARCH_COMPONENT_NAMES, SEARCH_CONFIGURATION, SEARCH_CONTEXT_NAMES, SEARCH_CUSTOM_EVENT_NAMES } from './search_constants.js';
|
|
19
18
|
|
|
@@ -21,7 +20,6 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
21
20
|
constructor() {
|
|
22
21
|
super(...arguments);
|
|
23
22
|
this.view = DEFAULT_VIEW;
|
|
24
|
-
this.displayMode = 'dropdown';
|
|
25
23
|
this._id = v4();
|
|
26
24
|
this._openSearchButtonAriaLabelId = `${this._id}-open-search-button-aria-label`;
|
|
27
25
|
this._searchContentContainerId = v4();
|
|
@@ -42,8 +40,8 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
42
40
|
this._translations = {};
|
|
43
41
|
this._containerRole = 'grid';
|
|
44
42
|
this._bindKeys = (ev) => {
|
|
45
|
-
if (this.
|
|
46
|
-
this.
|
|
43
|
+
if (this.popup) {
|
|
44
|
+
this._bindPopupKeys(ev);
|
|
47
45
|
}
|
|
48
46
|
else {
|
|
49
47
|
this._bindDropdownKeys(ev);
|
|
@@ -114,12 +112,11 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
114
112
|
break;
|
|
115
113
|
}
|
|
116
114
|
};
|
|
117
|
-
this.
|
|
115
|
+
this._bindPopupKeys = (ev) => {
|
|
118
116
|
switch (ev.key) {
|
|
119
117
|
case 'Escape':
|
|
120
118
|
ev.preventDefault();
|
|
121
|
-
|
|
122
|
-
this.emitCustomEvent(eventName);
|
|
119
|
+
this.emitCustomEvent(MODAL_EVENTS.close);
|
|
123
120
|
const $search = document.querySelector(`h-storefront-search[module-instance-id="${this.moduleInstanceId}"]`);
|
|
124
121
|
const $searchOpener = $search && $search.querySelector('[aria-haspopup="dialog"]');
|
|
125
122
|
$searchOpener === null || $searchOpener === void 0 ? void 0 : $searchOpener.focus();
|
|
@@ -287,22 +284,18 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
287
284
|
this._resetSearchView();
|
|
288
285
|
};
|
|
289
286
|
this._switchTypeOfSearchView = () => {
|
|
290
|
-
|
|
291
|
-
if (!this._isSuggesterLayerVisible() && this.displayMode === 'dropdown')
|
|
287
|
+
if (!this._isSuggesterLayerVisible() && !this.popup)
|
|
292
288
|
return;
|
|
293
289
|
if (window.innerWidth > BREAKPOINTS.sm) {
|
|
294
290
|
const hasBeenOpened = this.classList.contains(SEARCH_CLASS_NAMES.mobileOpened);
|
|
295
291
|
this.classList.remove(SEARCH_CLASS_NAMES.mobileOpened);
|
|
296
|
-
if (hasBeenOpened && this.
|
|
292
|
+
if (hasBeenOpened && this.popup) {
|
|
297
293
|
const $storefrontSearch = document.querySelector(`h-storefront-search[module-instance-id="${this.moduleInstanceId}"]`);
|
|
298
|
-
const
|
|
299
|
-
|
|
300
|
-
if (!searchOverlayTriggerName || !$overlay)
|
|
301
|
-
return;
|
|
302
|
-
$overlay === null || $overlay === void 0 ? void 0 : $overlay.open();
|
|
294
|
+
const $searchModal = $storefrontSearch === null || $storefrontSearch === void 0 ? void 0 : $storefrontSearch.querySelector('h-modal');
|
|
295
|
+
$searchModal === null || $searchModal === void 0 ? void 0 : $searchModal.open();
|
|
303
296
|
}
|
|
304
297
|
}
|
|
305
|
-
else if (this.
|
|
298
|
+
else if (!this.popup) {
|
|
306
299
|
this._openMobileView();
|
|
307
300
|
}
|
|
308
301
|
};
|
|
@@ -418,7 +411,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
418
411
|
searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.add(SEARCH_CLASS_NAMES.outline);
|
|
419
412
|
const shouldShowMessage = ((_b = ev.detail) === null || _b === void 0 ? void 0 : _b.searchPhrase) !== '';
|
|
420
413
|
this._updateSearchView(((_c = ev.detail) === null || _c === void 0 ? void 0 : _c.searchPhrase) || '', shouldShowMessage, false);
|
|
421
|
-
if (this.
|
|
414
|
+
if (!this.popup) {
|
|
422
415
|
document.addEventListener('keyup', this._handleSearchTabNavigation);
|
|
423
416
|
}
|
|
424
417
|
document.body.addEventListener('keydown', this._bindKeys);
|
|
@@ -554,7 +547,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
|
|
|
554
547
|
this._setActiveItemId(`${this._id}-1`);
|
|
555
548
|
const searchBar = this.querySelector(`.${SEARCH_CLASS_NAMES.searchBar}`);
|
|
556
549
|
searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.remove(SEARCH_CLASS_NAMES.outline);
|
|
557
|
-
if (this.
|
|
550
|
+
if (!this.popup)
|
|
558
551
|
this._hideHistorySuggestionsAndResults();
|
|
559
552
|
this._removeSearchKeyboardNavigation();
|
|
560
553
|
}
|
|
@@ -656,9 +649,9 @@ __decorate([
|
|
|
656
649
|
__metadata("design:type", String)
|
|
657
650
|
], HSearch.prototype, "locale", void 0);
|
|
658
651
|
__decorate([
|
|
659
|
-
property({ type:
|
|
660
|
-
__metadata("design:type",
|
|
661
|
-
], HSearch.prototype, "
|
|
652
|
+
property({ type: Boolean, attribute: 'popup' }),
|
|
653
|
+
__metadata("design:type", Boolean)
|
|
654
|
+
], HSearch.prototype, "popup", void 0);
|
|
662
655
|
__decorate([
|
|
663
656
|
property({ type: String, attribute: 'module-instance-id' }),
|
|
664
657
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wDAA4D;AAC3E;AACA
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wDAA4D;AAC3E;AACA,0BAA0B,wDAA4D;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
package/build/esm/packages/phoenix/src/components/form/search/subcomponents/input/search_input.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { PhoenixLightLitElement } from "../../../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
|
|
2
|
-
import { PropertyValues } from 'lit';
|
|
3
2
|
export declare class HSearchInput extends PhoenixLightLitElement {
|
|
4
3
|
input: HTMLInputElement | null;
|
|
5
4
|
moduleInstanceId: string;
|
|
6
5
|
private _isSearchPhraseCleared;
|
|
7
6
|
connectedCallback(): void;
|
|
8
|
-
firstUpdated(props: PropertyValues): void;
|
|
9
7
|
private _setupInitialValue;
|
|
10
8
|
private _deserializeInputPhrase;
|
|
11
9
|
private _setupListeners;
|
package/build/esm/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { __decorate, __metadata } from '../../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
-
import 'lit';
|
|
3
2
|
import { property, state } from 'lit/decorators';
|
|
4
3
|
import { PhoenixLightLitElement } from '../../../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
|
|
5
4
|
import { phoenixCustomElement } from '../../../../../core/decorators/phoenix_custom_element.js';
|
|
@@ -29,13 +28,10 @@ let HSearchInput = class HSearchInput extends PhoenixLightLitElement {
|
|
|
29
28
|
if (!this.input) {
|
|
30
29
|
throw new Error('Search input not found');
|
|
31
30
|
}
|
|
31
|
+
this._setupInitialValue();
|
|
32
32
|
this._setupListeners();
|
|
33
33
|
this._setupAttributes();
|
|
34
34
|
}
|
|
35
|
-
firstUpdated(props) {
|
|
36
|
-
super.firstUpdated(props);
|
|
37
|
-
this._setupInitialValue();
|
|
38
|
-
}
|
|
39
35
|
_setupInitialValue() {
|
|
40
36
|
const searchQueryRegExp = /\/searchquery\/([^/]{1,})/;
|
|
41
37
|
const searchPhraseRegArray = searchQueryRegExp.exec(window.location.pathname);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA,uBAAuB,qDAAyD;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -33,7 +33,7 @@ let HSearchProducerContent = class HSearchProducerContent extends PhoenixLightLi
|
|
|
33
33
|
: ''}"
|
|
34
34
|
data-search-item-id="${this.searchId}${this.initialItemIds.producers + index}"
|
|
35
35
|
aria-label=${this.producerAriaLabel ? `${this.producerAriaLabel} ${producer.name}` : undefined}
|
|
36
|
-
tabindex
|
|
36
|
+
tabindex="0"
|
|
37
37
|
role="option"
|
|
38
38
|
>
|
|
39
39
|
<a
|
|
@@ -46,7 +46,7 @@ let HSearchProductContent = class HSearchProductContent extends PhoenixLightLitE
|
|
|
46
46
|
: ''}"
|
|
47
47
|
data-search-item-id="${this.searchId}${this.initialItemIds.products + index}"
|
|
48
48
|
aria-label=${this.productAriaLabel ? `${this.productAriaLabel} ${product.name}` : undefined}
|
|
49
|
-
tabindex
|
|
49
|
+
tabindex="0"
|
|
50
50
|
role="option"
|
|
51
51
|
>
|
|
52
52
|
<a
|
|
@@ -72,10 +72,6 @@ let HSearchResults = class HSearchResults extends PhoenixLightLitElement {
|
|
|
72
72
|
locale="${this.locale}"
|
|
73
73
|
view="${this.view}"
|
|
74
74
|
module-instance-id="${this.moduleInstanceId}"
|
|
75
|
-
search-phrase="${this.searchPhrase}"
|
|
76
|
-
.suggestions="${this.results.suggestions}"
|
|
77
|
-
.products="${this.results.products}"
|
|
78
|
-
.categories="${this.results.categories}"
|
|
79
75
|
.suggestionAriaLabel=${this.settings.suggesterItemAriaLabel}
|
|
80
76
|
>
|
|
81
77
|
</h-search-suggestion-content>`)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA,eAAe,8DAAkE;AACjF,0BAA0B,8DAAkE;AAC5F;AACA,sBAAsB,oDAAwD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA,eAAe,8DAAkE;AACjF,0BAA0B,8DAAkE;AAC5F;AACA,sBAAsB,oDAAwD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import { TemplateResult } from 'lit';
|
|
2
2
|
import { PhoenixLightLitElement } from "../../../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
|
|
3
|
-
import type { TCategory, TProduct } from "../../search_types";
|
|
4
3
|
export declare class HSearchSuggestionContent extends PhoenixLightLitElement {
|
|
4
|
+
private _searchContextConsumer;
|
|
5
|
+
private _searchContext$;
|
|
6
|
+
private _searchContextObserver;
|
|
5
7
|
activeItemId: string;
|
|
6
8
|
searchId: string;
|
|
9
|
+
initialItemIds: Record<string, number>;
|
|
7
10
|
translations: Record<string, string>;
|
|
8
11
|
view: string;
|
|
9
12
|
locale: string;
|
|
10
13
|
moduleInstanceId: string;
|
|
11
|
-
searchPhrase: string;
|
|
12
|
-
suggestions: string[];
|
|
13
|
-
products: TProduct[];
|
|
14
|
-
categories: TCategory[];
|
|
15
14
|
suggestionAriaLabel?: string;
|
|
15
|
+
private _searchPhrase;
|
|
16
16
|
private _suggestionsData;
|
|
17
17
|
connectedCallback(): Promise<void>;
|
|
18
18
|
private _setupSuggestionData;
|
|
19
|
-
private _handleSuggestionWithKeyboard;
|
|
20
19
|
private _handleSuggestion;
|
|
21
20
|
private _dispatchEventWithSearchPhrase;
|
|
22
21
|
private _getMatchedPhrase;
|
|
@@ -3,6 +3,8 @@ import { html } from 'lit';
|
|
|
3
3
|
import { property, state } from 'lit/decorators';
|
|
4
4
|
import { PhoenixLightLitElement } from '../../../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
|
|
5
5
|
import { phoenixCustomElement } from '../../../../../core/decorators/phoenix_custom_element.js';
|
|
6
|
+
import { Observer } from '../../../../../core/classes/observer/observer.js';
|
|
7
|
+
import { ContextConsumerController } from '../../../../../core/context/context_consumer_controller.js';
|
|
6
8
|
import { when as n } from '../../../../../../../../external/lit-html/directives/when.js';
|
|
7
9
|
import { SEARCH_CUSTOM_EVENT_NAMES, SUGGESTIONS_TYPE, SEARCH_CLASS_NAMES, SEARCH_COMPONENT_NAMES } from '../../search_constants.js';
|
|
8
10
|
import { repeat as c } from '../../../../../../../../external/lit-html/directives/repeat.js';
|
|
@@ -10,7 +12,9 @@ import { repeat as c } from '../../../../../../../../external/lit-html/directive
|
|
|
10
12
|
let HSearchSuggestionContent = class HSearchSuggestionContent extends PhoenixLightLitElement {
|
|
11
13
|
constructor() {
|
|
12
14
|
super(...arguments);
|
|
15
|
+
this.initialItemIds = {};
|
|
13
16
|
this.translations = {};
|
|
17
|
+
this._searchPhrase = '';
|
|
14
18
|
this._suggestionsData = [];
|
|
15
19
|
this._updateSearchPhrase = (ev, suggestion) => {
|
|
16
20
|
ev.stopPropagation();
|
|
@@ -19,29 +23,40 @@ let HSearchSuggestionContent = class HSearchSuggestionContent extends PhoenixLig
|
|
|
19
23
|
}
|
|
20
24
|
async connectedCallback() {
|
|
21
25
|
super.connectedCallback();
|
|
22
|
-
|
|
26
|
+
try {
|
|
27
|
+
this._searchContextConsumer = new ContextConsumerController(this);
|
|
28
|
+
this._searchContext$ = await this._searchContextConsumer.consumeAsync(this.moduleInstanceId);
|
|
29
|
+
this._searchContextObserver = new Observer((searchData) => {
|
|
30
|
+
this._searchPhrase = searchData.searchPhrase;
|
|
31
|
+
this._setupSuggestionData(searchData.results);
|
|
32
|
+
});
|
|
33
|
+
this._searchContext$.subscribe(this._searchContextObserver);
|
|
34
|
+
}
|
|
35
|
+
catch (_a) {
|
|
36
|
+
console.error('Search context is not provided');
|
|
37
|
+
}
|
|
23
38
|
}
|
|
24
|
-
_setupSuggestionData() {
|
|
39
|
+
_setupSuggestionData(results) {
|
|
25
40
|
let suggestionsData = [];
|
|
26
|
-
if (
|
|
27
|
-
|
|
41
|
+
if (results.suggestions.length) {
|
|
42
|
+
results.suggestions.forEach((suggestion, index) => {
|
|
28
43
|
suggestionsData.push({ suggestionName: suggestion, type: SUGGESTIONS_TYPE.suggestion });
|
|
29
44
|
if (index)
|
|
30
45
|
return;
|
|
31
|
-
const isProductInTheCategory =
|
|
46
|
+
const isProductInTheCategory = results.products.length;
|
|
32
47
|
if (isProductInTheCategory) {
|
|
33
48
|
const lang = this.locale.split('_')[0];
|
|
34
49
|
suggestionsData.push({
|
|
35
50
|
suggestionName: suggestion,
|
|
36
|
-
categoryName:
|
|
51
|
+
categoryName: results.products[0].category.breadcrumbs,
|
|
37
52
|
type: SUGGESTIONS_TYPE.suggestionInCategory,
|
|
38
|
-
url: `/${lang}/c/${
|
|
53
|
+
url: `/${lang}/c/${results.products[0].category.name}/${results.products[0].category.categoryId}/1/${this.view}/1/searchquery/${suggestion}`
|
|
39
54
|
});
|
|
40
55
|
}
|
|
41
|
-
if (
|
|
56
|
+
if (results.categories.length) {
|
|
42
57
|
suggestionsData = [
|
|
43
58
|
...suggestionsData,
|
|
44
|
-
...
|
|
59
|
+
...results.categories.map((category) => ({
|
|
45
60
|
categoryName: category.name,
|
|
46
61
|
url: category.url,
|
|
47
62
|
type: SUGGESTIONS_TYPE.category
|
|
@@ -50,9 +65,9 @@ let HSearchSuggestionContent = class HSearchSuggestionContent extends PhoenixLig
|
|
|
50
65
|
}
|
|
51
66
|
});
|
|
52
67
|
}
|
|
53
|
-
else if (
|
|
68
|
+
else if (results.categories.length) {
|
|
54
69
|
suggestionsData = [
|
|
55
|
-
...
|
|
70
|
+
...results.categories.map((category) => ({
|
|
56
71
|
categoryName: category.name,
|
|
57
72
|
url: category.url,
|
|
58
73
|
type: SUGGESTIONS_TYPE.category
|
|
@@ -61,11 +76,6 @@ let HSearchSuggestionContent = class HSearchSuggestionContent extends PhoenixLig
|
|
|
61
76
|
}
|
|
62
77
|
this._suggestionsData = suggestionsData;
|
|
63
78
|
}
|
|
64
|
-
_handleSuggestionWithKeyboard(ev, suggestion, suggestionType) {
|
|
65
|
-
if (ev.key !== 'Enter' && ev.key !== ' ')
|
|
66
|
-
return;
|
|
67
|
-
this._handleSuggestion(suggestion, suggestionType);
|
|
68
|
-
}
|
|
69
79
|
_handleSuggestion(suggestion, suggestionType) {
|
|
70
80
|
if (suggestionType !== SUGGESTIONS_TYPE.suggestion)
|
|
71
81
|
return;
|
|
@@ -80,10 +90,10 @@ let HSearchSuggestionContent = class HSearchSuggestionContent extends PhoenixLig
|
|
|
80
90
|
});
|
|
81
91
|
}
|
|
82
92
|
_getMatchedPhrase(phrase) {
|
|
83
|
-
const phraseIncludesSearchPhrase = phrase.toLowerCase().includes(this.
|
|
93
|
+
const phraseIncludesSearchPhrase = phrase.toLowerCase().includes(this._searchPhrase);
|
|
84
94
|
if (!phraseIncludesSearchPhrase)
|
|
85
95
|
return html `${phrase}`;
|
|
86
|
-
const index = phrase.toLowerCase().indexOf(this.
|
|
96
|
+
const index = phrase.toLowerCase().indexOf(this._searchPhrase) + this._searchPhrase.length;
|
|
87
97
|
return html `${phrase.substring(0, index)}<strong>${phrase.substring(index)}</strong>`;
|
|
88
98
|
}
|
|
89
99
|
render() {
|
|
@@ -93,7 +103,6 @@ let HSearchSuggestionContent = class HSearchSuggestionContent extends PhoenixLig
|
|
|
93
103
|
<ul>
|
|
94
104
|
${c(this._suggestionsData, (suggestion, index) => html `<li
|
|
95
105
|
@click=${() => this._handleSuggestion(suggestion.suggestionName, suggestion.type)}
|
|
96
|
-
@keydown=${(ev) => this._handleSuggestionWithKeyboard(ev, suggestion.suggestionName, suggestion.type)}
|
|
97
106
|
class="${SEARCH_CLASS_NAMES.item} ${SEARCH_CLASS_NAMES.itemHoverable} ${String(index) === this.activeItemId
|
|
98
107
|
? SEARCH_CLASS_NAMES.itemActive
|
|
99
108
|
: ''}"
|
|
@@ -102,7 +111,7 @@ let HSearchSuggestionContent = class HSearchSuggestionContent extends PhoenixLig
|
|
|
102
111
|
aria-label="${this.suggestionAriaLabel ?
|
|
103
112
|
`${this.suggestionAriaLabel} ${suggestion.suggestionName || suggestion.categoryName}` :
|
|
104
113
|
''}"
|
|
105
|
-
tabindex
|
|
114
|
+
tabindex="0"
|
|
106
115
|
role="option"
|
|
107
116
|
>
|
|
108
117
|
${n(suggestion.type === SUGGESTIONS_TYPE.suggestion, () => html ` <span> ${this._getMatchedPhrase(suggestion.suggestionName)} </span>
|
|
@@ -133,6 +142,10 @@ __decorate([
|
|
|
133
142
|
property({ type: String, attribute: 'search-id' }),
|
|
134
143
|
__metadata("design:type", String)
|
|
135
144
|
], HSearchSuggestionContent.prototype, "searchId", void 0);
|
|
145
|
+
__decorate([
|
|
146
|
+
property({ type: Object, reflect: true }),
|
|
147
|
+
__metadata("design:type", Object)
|
|
148
|
+
], HSearchSuggestionContent.prototype, "initialItemIds", void 0);
|
|
136
149
|
__decorate([
|
|
137
150
|
property({ type: Object }),
|
|
138
151
|
__metadata("design:type", Object)
|
|
@@ -149,26 +162,14 @@ __decorate([
|
|
|
149
162
|
property({ type: String, attribute: 'module-instance-id' }),
|
|
150
163
|
__metadata("design:type", String)
|
|
151
164
|
], HSearchSuggestionContent.prototype, "moduleInstanceId", void 0);
|
|
152
|
-
__decorate([
|
|
153
|
-
property({ type: String, attribute: 'search-phrase' }),
|
|
154
|
-
__metadata("design:type", String)
|
|
155
|
-
], HSearchSuggestionContent.prototype, "searchPhrase", void 0);
|
|
156
|
-
__decorate([
|
|
157
|
-
property({ type: Object }),
|
|
158
|
-
__metadata("design:type", Array)
|
|
159
|
-
], HSearchSuggestionContent.prototype, "suggestions", void 0);
|
|
160
|
-
__decorate([
|
|
161
|
-
property({ type: Object }),
|
|
162
|
-
__metadata("design:type", Array)
|
|
163
|
-
], HSearchSuggestionContent.prototype, "products", void 0);
|
|
164
|
-
__decorate([
|
|
165
|
-
property({ type: Object, attribute: false }),
|
|
166
|
-
__metadata("design:type", Array)
|
|
167
|
-
], HSearchSuggestionContent.prototype, "categories", void 0);
|
|
168
165
|
__decorate([
|
|
169
166
|
property({ type: String }),
|
|
170
167
|
__metadata("design:type", String)
|
|
171
168
|
], HSearchSuggestionContent.prototype, "suggestionAriaLabel", void 0);
|
|
169
|
+
__decorate([
|
|
170
|
+
state(),
|
|
171
|
+
__metadata("design:type", String)
|
|
172
|
+
], HSearchSuggestionContent.prototype, "_searchPhrase", void 0);
|
|
172
173
|
__decorate([
|
|
173
174
|
state(),
|
|
174
175
|
__metadata("design:type", Array)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA,0BAA0B,8DAAkE;AAC5F;AACA,4BAA4B,gEAAoE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,8DAAkE;AAC5F;AACA,4BAA4B,gEAAoE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -195,9 +195,7 @@ let HSheet = HSheet_1 = class HSheet extends PhoenixLightLitElement {
|
|
|
195
195
|
});
|
|
196
196
|
}
|
|
197
197
|
_dispatchSheetOpenedEvent() {
|
|
198
|
-
this.emitCustomEvent(SHEET_EVENTS.opened
|
|
199
|
-
detail: this
|
|
200
|
-
});
|
|
198
|
+
this.emitCustomEvent(SHEET_EVENTS.opened);
|
|
201
199
|
this._backdropController.show();
|
|
202
200
|
this._addInertToBodyChildrenElements();
|
|
203
201
|
}
|
|
@@ -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;"}
|
|
@@ -8,6 +8,7 @@ export declare class HToggleBtn extends PhoenixLightLitElement {
|
|
|
8
8
|
action: "collapse";
|
|
9
9
|
private _visibility;
|
|
10
10
|
constructor();
|
|
11
|
+
private _handleFocusOppositeToggleButtonIfLostFocus;
|
|
11
12
|
connectedCallback(): Promise<void>;
|
|
12
13
|
disconnectedCallback(): void;
|
|
13
14
|
private _dispatchToggleEvent;
|
|
@@ -15,9 +15,20 @@ let HToggleBtn = class HToggleBtn extends PhoenixLightLitElement {
|
|
|
15
15
|
this._visibility = {
|
|
16
16
|
collapse: (isOpened) => {
|
|
17
17
|
isOpened ? this._visibilityController.show() : this._visibilityController.hide();
|
|
18
|
+
this._handleFocusOppositeToggleButtonIfLostFocus();
|
|
18
19
|
},
|
|
19
20
|
expand: (isOpened) => {
|
|
20
21
|
isOpened ? this._visibilityController.hide() : this._visibilityController.show();
|
|
22
|
+
this._handleFocusOppositeToggleButtonIfLostFocus();
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
this._handleFocusOppositeToggleButtonIfLostFocus = () => {
|
|
26
|
+
var _a;
|
|
27
|
+
const shouldFocus = this === document.activeElement;
|
|
28
|
+
const oppositeAction = this.action === TOGGLE_ACTIONS.collapse ? TOGGLE_ACTIONS.expand : TOGGLE_ACTIONS.collapse;
|
|
29
|
+
if (shouldFocus) {
|
|
30
|
+
const $oppositeToggleBtn = (_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.querySelector(`[action="${oppositeAction}"]`);
|
|
31
|
+
$oppositeToggleBtn === null || $oppositeToggleBtn === void 0 ? void 0 : $oppositeToggleBtn.focus();
|
|
21
32
|
}
|
|
22
33
|
};
|
|
23
34
|
this._dispatchToggleEvent = () => {
|
|
@@ -34,10 +45,12 @@ let HToggleBtn = class HToggleBtn extends PhoenixLightLitElement {
|
|
|
34
45
|
this._visibility[this.action](isOpened);
|
|
35
46
|
});
|
|
36
47
|
this._opened$.subscribe(this._openedObserver);
|
|
48
|
+
this.setAttribute('aria-expanded', this.action === TOGGLE_ACTIONS.collapse ? 'true' : 'false');
|
|
37
49
|
this.addEventListener('click', this._dispatchToggleEvent);
|
|
38
50
|
}
|
|
39
51
|
disconnectedCallback() {
|
|
40
|
-
|
|
52
|
+
super.disconnectedCallback();
|
|
53
|
+
this._openedObserver && this._opened$.unsubscribe(this._openedObserver);
|
|
41
54
|
}
|
|
42
55
|
};
|
|
43
56
|
__decorate([
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -133,7 +133,6 @@ export { HSearchHistoryLoadMore } from './components/form/search/subcomponents/h
|
|
|
133
133
|
export { HSearchSuggestionContent } from './components/form/search/subcomponents/results/search_suggestion_content';
|
|
134
134
|
export { HSearchProductContent } from './components/form/search/subcomponents/results/search_product_content';
|
|
135
135
|
export { HSearchProducerContent } from './components/form/search/subcomponents/results/search_producer_content';
|
|
136
|
-
export type { TSearchDisplayMode } from './components/form/search/search_types';
|
|
137
136
|
export * from './components/form/search/search_constants';
|
|
138
137
|
export { HToggle } from './components/toggle/toggle';
|
|
139
138
|
export { HToggleBtn } from './components/toggle/toggle_button';
|
package/package.json
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
2
|
+
"name": "@shoper/phoenix_design_system",
|
|
3
|
+
"packageManager": "yarn@3.2.0",
|
|
4
|
+
"sideEffects": false,
|
|
5
|
+
"version": "1.17.16-0",
|
|
6
|
+
"description": "phoenix design system",
|
|
7
|
+
"author": "zefirek",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"source": "src/index.ts",
|
|
10
|
+
"main": "build/cjs/packages/phoenix/src/index.js",
|
|
11
|
+
"module": "build/esm/packages/phoenix/src/index.js",
|
|
12
|
+
"jsnext:main": "build/esm/packages/phoenix/src/index.js",
|
|
13
|
+
"types": "build/esm/packages/phoenix/src/index.d.ts",
|
|
14
|
+
"files": [
|
|
15
|
+
"build"
|
|
16
|
+
],
|
|
17
|
+
"engines": {
|
|
18
|
+
"node": ">=14",
|
|
19
|
+
"npm": ">=6"
|
|
20
|
+
},
|
|
21
|
+
"scripts": {
|
|
22
|
+
"storybook": "NODE_OPTIONS=--openssl-legacy-provider && start-storybook --no-open --port 6007",
|
|
23
|
+
"build": "rimraf ./build/ && tsc --project tsconfig.build.json && rollup --config rollup.config.js",
|
|
24
|
+
"watch": "rollup --config rollup.config.js --watch",
|
|
25
|
+
"tests:unit": "jest --max-workers=1 -c .config/jest/jest.config.js",
|
|
26
|
+
"watch:tests:unit": "jest --watch -c .config/jest/jest.config.js"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"@dreamcommerce/utilities": "^1.0.0",
|
|
30
|
+
"@splidejs/splide": "4.0.7",
|
|
31
|
+
"@splidejs/splide-extension-auto-scroll": "0.5.3"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@dreamcommerce/utilities": "^1.23.0",
|
|
35
|
+
"@shoper/jest_config": "^0.0.0",
|
|
36
|
+
"@shoper/tsconfig": "^0.0.0",
|
|
37
|
+
"@splidejs/splide": "4.0.7",
|
|
38
|
+
"@splidejs/splide-extension-auto-scroll": "0.5.3",
|
|
39
|
+
"@storybook/web-components": "6.5.7",
|
|
40
|
+
"lit": "2.4.0"
|
|
41
|
+
},
|
|
42
|
+
"browserslist": [
|
|
43
|
+
"last 3 version, not ie <= 11, not dead"
|
|
44
|
+
],
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"classnames": "2.3.1"
|
|
47
|
+
}
|
|
48
|
+
}
|