@shoper/phoenix_design_system 1.1.9 → 1.1.10-2
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.js +6 -13
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js +4 -3
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
- package/build/cjs/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js +6 -2
- package/build/cjs/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +0 -2
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +6 -13
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js +4 -3
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
- package/build/esm/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js +6 -2
- package/build/esm/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js.map +1 -1
- package/package.json +2 -2
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
|
|
6
|
-
|
|
6
|
+
require('lit/decorators');
|
|
7
7
|
var utilities = require('@dreamcommerce/utilities');
|
|
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');
|
|
@@ -31,7 +31,6 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
31
31
|
this.offset = 0;
|
|
32
32
|
this.portalTarget = dropdown_constants.DEFAULT_DROPDOWN_PORTAL_NAME;
|
|
33
33
|
this._backdropController = new backdrop_controller.BackdropController();
|
|
34
|
-
this._lastFocusableElement = undefined;
|
|
35
34
|
this._handleClickOutside = async (target) => {
|
|
36
35
|
var _a, _b;
|
|
37
36
|
if (!this.opened)
|
|
@@ -64,12 +63,10 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
64
63
|
}, 0);
|
|
65
64
|
const transitionDuration = parseFloat(getComputedStyle(this.$dropdownContent || this).transitionDuration) * 1000;
|
|
66
65
|
setTimeout(() => {
|
|
67
|
-
var _a
|
|
66
|
+
var _a;
|
|
68
67
|
this._dispatchShowDropdownEvent();
|
|
69
68
|
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${dropdown_constants.DROPDOWN_CONTENT_SHOW}-${this.transition}-start`, `${dropdown_constants.DROPDOWN_CONTENT_SHOW}-${this.transition}-end`);
|
|
70
69
|
this._toggleScroll();
|
|
71
|
-
if (!this._lastFocusableElement)
|
|
72
|
-
this._lastFocusableElement = (_b = this.$dropdownContent) === null || _b === void 0 ? void 0 : _b.lastElementChild;
|
|
73
70
|
resolve();
|
|
74
71
|
}, transitionDuration);
|
|
75
72
|
});
|
|
@@ -151,18 +148,22 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
151
148
|
const doesNotHaveFocusableElementsInsideContent = $focusableElementsWithinDropdownContent.length <= 0 && this.opened;
|
|
152
149
|
const indexOfCurrentlyFocusedElement = $focusableElementsWithinDropdownContent.indexOf(document.activeElement);
|
|
153
150
|
const isActiveElementLastFocusableElement = indexOfCurrentlyFocusedElement === $focusableElementsWithinDropdownContent.length - 1;
|
|
151
|
+
console.log('isActiveElementLastFocusableElement', isActiveElementLastFocusableElement);
|
|
152
|
+
console.log($focusableElementsWithinDropdownContent);
|
|
154
153
|
if (doesNotHaveFocusableElementsInsideContent || isActiveElementLastFocusableElement)
|
|
155
154
|
this._handleFocusOnNextElement(ev);
|
|
156
155
|
};
|
|
157
156
|
this._handleFocusOnNextElement = async (ev) => {
|
|
158
157
|
ev.preventDefault();
|
|
159
158
|
const $focusableElements = utilities.UiDomUtils.getFocusableElements(document.body);
|
|
159
|
+
console.log($focusableElements);
|
|
160
160
|
const indexOfDropdownToggler = $focusableElements.indexOf(this.$dropdownToggler);
|
|
161
161
|
const $nextElementToFocus = $focusableElements.find((currentElement, index) => {
|
|
162
162
|
if (index > indexOfDropdownToggler && !currentElement.closest(`${dropdown_constants.DROPDOWN_TOGGLER_NAME}[name="${this.name}"]`))
|
|
163
163
|
return currentElement;
|
|
164
164
|
return null;
|
|
165
165
|
});
|
|
166
|
+
console.log('$nextElementToFocus', $nextElementToFocus);
|
|
166
167
|
await this._hideDropdownsSequentially();
|
|
167
168
|
await this.hide();
|
|
168
169
|
this._focusOnNextElementAfterToggler($nextElementToFocus);
|
|
@@ -223,12 +224,8 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
223
224
|
});
|
|
224
225
|
}
|
|
225
226
|
async connectedCallback() {
|
|
226
|
-
var _a;
|
|
227
227
|
super.connectedCallback();
|
|
228
228
|
HDropdown_1._appendDropdownPortal();
|
|
229
|
-
if (!this._rootDropdown)
|
|
230
|
-
this._rootDropdown =
|
|
231
|
-
((_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.tagName.toLowerCase()) === 'h-dropdown-content' ? this._findRootDropdown(this.parentElement) : this;
|
|
232
229
|
if (!this.$dropdownContent)
|
|
233
230
|
this.$dropdownContent = this.querySelector(dropdown_constants.DROPDOWN_CONTENT_NAME);
|
|
234
231
|
if (!this.$dropdownToggler)
|
|
@@ -374,10 +371,6 @@ tslib_es6.__decorate([
|
|
|
374
371
|
decorators_js.property({ type: String }),
|
|
375
372
|
tslib_es6.__metadata("design:type", Object)
|
|
376
373
|
], exports.HDropdown.prototype, "portalTarget", void 0);
|
|
377
|
-
tslib_es6.__decorate([
|
|
378
|
-
decorators.state(),
|
|
379
|
-
tslib_es6.__metadata("design:type", Object)
|
|
380
|
-
], exports.HDropdown.prototype, "_lastFocusableElement", void 0);
|
|
381
374
|
exports.HDropdown = HDropdown_1 = tslib_es6.__decorate([
|
|
382
375
|
phoenix_custom_element.phoenixCustomElement('h-dropdown'),
|
|
383
376
|
tslib_es6.__metadata("design:paramtypes", [])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,4CAAgD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uBAAuB,4CAAgD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,14 +11,14 @@ var dropdown_constants = require('./dropdown_constants.js');
|
|
|
11
11
|
|
|
12
12
|
exports.HDropdownContent = class HDropdownContent extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
13
13
|
constructor() {
|
|
14
|
-
super(
|
|
14
|
+
super();
|
|
15
15
|
this.name = '';
|
|
16
|
+
this.slot = this.hasAttribute('slot') ? this.slot : 'content';
|
|
16
17
|
}
|
|
17
18
|
connectedCallback() {
|
|
18
19
|
super.connectedCallback();
|
|
19
20
|
this.classList.add(dropdown_constants.DROPDOWN_CONTENT_CSS_CLASS);
|
|
20
21
|
this.setAttribute('role', 'menu');
|
|
21
|
-
this.slot = this.hasAttribute('slot') ? this.slot : 'content';
|
|
22
22
|
Array.from(this.children).forEach((element) => {
|
|
23
23
|
element.setAttribute('role', 'menuitem');
|
|
24
24
|
});
|
|
@@ -33,6 +33,7 @@ tslib_es6.__decorate([
|
|
|
33
33
|
tslib_es6.__metadata("design:type", Object)
|
|
34
34
|
], exports.HDropdownContent.prototype, "name", void 0);
|
|
35
35
|
exports.HDropdownContent = tslib_es6.__decorate([
|
|
36
|
-
phoenix_custom_element.phoenixCustomElement('h-dropdown-content')
|
|
36
|
+
phoenix_custom_element.phoenixCustomElement('h-dropdown-content'),
|
|
37
|
+
tslib_es6.__metadata("design:paramtypes", [])
|
|
37
38
|
], exports.HDropdownContent);
|
|
38
39
|
//# sourceMappingURL=dropdown_content.js.map
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -36,10 +36,14 @@ class ClickOutsideController {
|
|
|
36
36
|
tslib_es6.__classPrivateFieldSet(this, _ClickOutsideController_enabled, false, "f");
|
|
37
37
|
}
|
|
38
38
|
_setupClickEventListener() {
|
|
39
|
-
document.addEventListener('click', this._dispatchClickedOutsideEvent
|
|
39
|
+
document.addEventListener('click', this._dispatchClickedOutsideEvent, {
|
|
40
|
+
capture: true
|
|
41
|
+
});
|
|
40
42
|
}
|
|
41
43
|
_removeClickEventListener() {
|
|
42
|
-
document.removeEventListener('click', this._dispatchClickedOutsideEvent
|
|
44
|
+
document.removeEventListener('click', this._dispatchClickedOutsideEvent, {
|
|
45
|
+
capture: true
|
|
46
|
+
});
|
|
43
47
|
}
|
|
44
48
|
hostDisconnected() {
|
|
45
49
|
this._removeClickEventListener();
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -19,8 +19,6 @@ export declare class HDropdown extends PhoenixLightLitElement implements IDropdo
|
|
|
19
19
|
private _dropdownContentChildrenHeight;
|
|
20
20
|
private _hasScrollableClassInitially;
|
|
21
21
|
private _backdropController;
|
|
22
|
-
_lastFocusableElement: HTMLElement | undefined;
|
|
23
|
-
private _rootDropdown?;
|
|
24
22
|
constructor();
|
|
25
23
|
connectedCallback(): Promise<void>;
|
|
26
24
|
private static _appendDropdownPortal;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
|
|
2
|
-
import
|
|
2
|
+
import 'lit/decorators';
|
|
3
3
|
import { UiDomUtils } from '@dreamcommerce/utilities';
|
|
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';
|
|
@@ -27,7 +27,6 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
27
27
|
this.offset = 0;
|
|
28
28
|
this.portalTarget = DEFAULT_DROPDOWN_PORTAL_NAME;
|
|
29
29
|
this._backdropController = new BackdropController();
|
|
30
|
-
this._lastFocusableElement = undefined;
|
|
31
30
|
this._handleClickOutside = async (target) => {
|
|
32
31
|
var _a, _b;
|
|
33
32
|
if (!this.opened)
|
|
@@ -60,12 +59,10 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
60
59
|
}, 0);
|
|
61
60
|
const transitionDuration = parseFloat(getComputedStyle(this.$dropdownContent || this).transitionDuration) * 1000;
|
|
62
61
|
setTimeout(() => {
|
|
63
|
-
var _a
|
|
62
|
+
var _a;
|
|
64
63
|
this._dispatchShowDropdownEvent();
|
|
65
64
|
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${DROPDOWN_CONTENT_SHOW}-${this.transition}-start`, `${DROPDOWN_CONTENT_SHOW}-${this.transition}-end`);
|
|
66
65
|
this._toggleScroll();
|
|
67
|
-
if (!this._lastFocusableElement)
|
|
68
|
-
this._lastFocusableElement = (_b = this.$dropdownContent) === null || _b === void 0 ? void 0 : _b.lastElementChild;
|
|
69
66
|
resolve();
|
|
70
67
|
}, transitionDuration);
|
|
71
68
|
});
|
|
@@ -147,18 +144,22 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
147
144
|
const doesNotHaveFocusableElementsInsideContent = $focusableElementsWithinDropdownContent.length <= 0 && this.opened;
|
|
148
145
|
const indexOfCurrentlyFocusedElement = $focusableElementsWithinDropdownContent.indexOf(document.activeElement);
|
|
149
146
|
const isActiveElementLastFocusableElement = indexOfCurrentlyFocusedElement === $focusableElementsWithinDropdownContent.length - 1;
|
|
147
|
+
console.log('isActiveElementLastFocusableElement', isActiveElementLastFocusableElement);
|
|
148
|
+
console.log($focusableElementsWithinDropdownContent);
|
|
150
149
|
if (doesNotHaveFocusableElementsInsideContent || isActiveElementLastFocusableElement)
|
|
151
150
|
this._handleFocusOnNextElement(ev);
|
|
152
151
|
};
|
|
153
152
|
this._handleFocusOnNextElement = async (ev) => {
|
|
154
153
|
ev.preventDefault();
|
|
155
154
|
const $focusableElements = UiDomUtils.getFocusableElements(document.body);
|
|
155
|
+
console.log($focusableElements);
|
|
156
156
|
const indexOfDropdownToggler = $focusableElements.indexOf(this.$dropdownToggler);
|
|
157
157
|
const $nextElementToFocus = $focusableElements.find((currentElement, index) => {
|
|
158
158
|
if (index > indexOfDropdownToggler && !currentElement.closest(`${DROPDOWN_TOGGLER_NAME}[name="${this.name}"]`))
|
|
159
159
|
return currentElement;
|
|
160
160
|
return null;
|
|
161
161
|
});
|
|
162
|
+
console.log('$nextElementToFocus', $nextElementToFocus);
|
|
162
163
|
await this._hideDropdownsSequentially();
|
|
163
164
|
await this.hide();
|
|
164
165
|
this._focusOnNextElementAfterToggler($nextElementToFocus);
|
|
@@ -219,12 +220,8 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
219
220
|
});
|
|
220
221
|
}
|
|
221
222
|
async connectedCallback() {
|
|
222
|
-
var _a;
|
|
223
223
|
super.connectedCallback();
|
|
224
224
|
HDropdown_1._appendDropdownPortal();
|
|
225
|
-
if (!this._rootDropdown)
|
|
226
|
-
this._rootDropdown =
|
|
227
|
-
((_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.tagName.toLowerCase()) === 'h-dropdown-content' ? this._findRootDropdown(this.parentElement) : this;
|
|
228
225
|
if (!this.$dropdownContent)
|
|
229
226
|
this.$dropdownContent = this.querySelector(DROPDOWN_CONTENT_NAME);
|
|
230
227
|
if (!this.$dropdownToggler)
|
|
@@ -370,10 +367,6 @@ __decorate([
|
|
|
370
367
|
property({ type: String }),
|
|
371
368
|
__metadata("design:type", Object)
|
|
372
369
|
], HDropdown.prototype, "portalTarget", void 0);
|
|
373
|
-
__decorate([
|
|
374
|
-
state(),
|
|
375
|
-
__metadata("design:type", Object)
|
|
376
|
-
], HDropdown.prototype, "_lastFocusableElement", void 0);
|
|
377
370
|
HDropdown = HDropdown_1 = __decorate([
|
|
378
371
|
phoenixCustomElement('h-dropdown'),
|
|
379
372
|
__metadata("design:paramtypes", [])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,4CAAgD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uBAAuB,4CAAgD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -2,6 +2,7 @@ import { TemplateResult } from 'lit';
|
|
|
2
2
|
import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
|
|
3
3
|
export declare class HDropdownContent extends PhoenixLightLitElement {
|
|
4
4
|
name: string;
|
|
5
|
+
constructor();
|
|
5
6
|
connectedCallback(): void;
|
|
6
7
|
protected render(): TemplateResult;
|
|
7
8
|
}
|
|
@@ -7,14 +7,14 @@ import { DROPDOWN_CONTENT_CSS_CLASS } from './dropdown_constants.js';
|
|
|
7
7
|
|
|
8
8
|
let HDropdownContent = class HDropdownContent extends PhoenixLightLitElement {
|
|
9
9
|
constructor() {
|
|
10
|
-
super(
|
|
10
|
+
super();
|
|
11
11
|
this.name = '';
|
|
12
|
+
this.slot = this.hasAttribute('slot') ? this.slot : 'content';
|
|
12
13
|
}
|
|
13
14
|
connectedCallback() {
|
|
14
15
|
super.connectedCallback();
|
|
15
16
|
this.classList.add(DROPDOWN_CONTENT_CSS_CLASS);
|
|
16
17
|
this.setAttribute('role', 'menu');
|
|
17
|
-
this.slot = this.hasAttribute('slot') ? this.slot : 'content';
|
|
18
18
|
Array.from(this.children).forEach((element) => {
|
|
19
19
|
element.setAttribute('role', 'menuitem');
|
|
20
20
|
});
|
|
@@ -29,7 +29,8 @@ __decorate([
|
|
|
29
29
|
__metadata("design:type", Object)
|
|
30
30
|
], HDropdownContent.prototype, "name", void 0);
|
|
31
31
|
HDropdownContent = __decorate([
|
|
32
|
-
phoenixCustomElement('h-dropdown-content')
|
|
32
|
+
phoenixCustomElement('h-dropdown-content'),
|
|
33
|
+
__metadata("design:paramtypes", [])
|
|
33
34
|
], HDropdownContent);
|
|
34
35
|
|
|
35
36
|
export { HDropdownContent };
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -32,10 +32,14 @@ class ClickOutsideController {
|
|
|
32
32
|
__classPrivateFieldSet(this, _ClickOutsideController_enabled, false, "f");
|
|
33
33
|
}
|
|
34
34
|
_setupClickEventListener() {
|
|
35
|
-
document.addEventListener('click', this._dispatchClickedOutsideEvent
|
|
35
|
+
document.addEventListener('click', this._dispatchClickedOutsideEvent, {
|
|
36
|
+
capture: true
|
|
37
|
+
});
|
|
36
38
|
}
|
|
37
39
|
_removeClickEventListener() {
|
|
38
|
-
document.removeEventListener('click', this._dispatchClickedOutsideEvent
|
|
40
|
+
document.removeEventListener('click', this._dispatchClickedOutsideEvent, {
|
|
41
|
+
capture: true
|
|
42
|
+
});
|
|
39
43
|
}
|
|
40
44
|
hostDisconnected() {
|
|
41
45
|
this._removeClickEventListener();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,+DAA+D,4CAAgD;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,+DAA+D,4CAAgD;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@shoper/phoenix_design_system",
|
|
3
3
|
"packageManager": "yarn@3.2.0",
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "1.1.
|
|
5
|
+
"version": "1.1.10-2",
|
|
6
6
|
"description": "phoenix design system",
|
|
7
7
|
"author": "zefirek",
|
|
8
8
|
"license": "MIT",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@splidejs/splide": "^4.0.7"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@dreamcommerce/utilities": "^1.2.
|
|
33
|
+
"@dreamcommerce/utilities": "^1.2.1",
|
|
34
34
|
"@shoper/jest_config": "^0.0.0",
|
|
35
35
|
"@shoper/tsconfig": "^0.0.0",
|
|
36
36
|
"@splidejs/splide": "4.0.7",
|