@shoper/phoenix_design_system 1.11.3-3 → 1.11.3-4
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 +48 -36
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js +20 -1
- 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 +13 -24
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/select.js +1 -0
- package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/slider/slider.js +1 -10
- package/build/cjs/packages/phoenix/src/components/slider/slider.js.map +1 -1
- package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js +13 -2
- package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +4 -4
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +49 -37
- 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 +7 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js +20 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.d.ts +1 -2
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js +14 -25
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/select.js +1 -0
- package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/slider/slider.d.ts +1 -3
- package/build/esm/packages/phoenix/src/components/slider/slider.js +1 -10
- package/build/esm/packages/phoenix/src/components/slider/slider.js.map +1 -1
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.d.ts +2 -1
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js +13 -2
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js.map +1 -1
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller_types.d.ts +1 -0
- package/package.json +2 -2
|
@@ -12,6 +12,7 @@ var litHtml = require('lit-html');
|
|
|
12
12
|
var global_constants = require('../../global_constants.js');
|
|
13
13
|
var dropdown_constants = require('./dropdown_constants.js');
|
|
14
14
|
var relative_position_controller_constants = require('../../controllers/relative_position_controller/relative_position_controller_constants.js');
|
|
15
|
+
var v4 = require('../../../../../external/uuid/dist/esm-browser/v4.js');
|
|
15
16
|
var portal_constants = require('../portal/portal_constants.js');
|
|
16
17
|
var backdrop_controller = require('../backdrop/controller/backdrop_controller.js');
|
|
17
18
|
var click_outside_controller = require('../../controllers/click_outside_controller/click_outside_controller.js');
|
|
@@ -29,6 +30,8 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
29
30
|
this.transition = 'direction';
|
|
30
31
|
this.offset = 0;
|
|
31
32
|
this.portalTarget = dropdown_constants.DEFAULT_DROPDOWN_PORTAL_NAME;
|
|
33
|
+
this.id = v4['default']();
|
|
34
|
+
this.preventFocusTrap = false;
|
|
32
35
|
this._backdropController = new backdrop_controller.BackdropController();
|
|
33
36
|
this._handleClickOutside = async (target) => {
|
|
34
37
|
var _a, _b;
|
|
@@ -136,44 +139,44 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
136
139
|
return;
|
|
137
140
|
await this.hide();
|
|
138
141
|
};
|
|
139
|
-
this.
|
|
140
|
-
|
|
141
|
-
if (
|
|
142
|
-
return;
|
|
143
|
-
const $focusableElementsWithinDropdownContent = utilities.UiDomUtils.getFocusableElements(this.$dropdownContent).filter((element) => element.closest(dropdown_constants.DROPDOWN_CONTENT_NAME) === this.$dropdownContent);
|
|
144
|
-
const doesNotHaveFocusableElementsInsideContent = $focusableElementsWithinDropdownContent.length <= 0 && this.opened;
|
|
145
|
-
const indexOfCurrentlyFocusedElement = $focusableElementsWithinDropdownContent.indexOf(document.activeElement);
|
|
146
|
-
const isActiveElementLastFocusableElement = indexOfCurrentlyFocusedElement === $focusableElementsWithinDropdownContent.length - 1;
|
|
147
|
-
if (doesNotHaveFocusableElementsInsideContent || isActiveElementLastFocusableElement)
|
|
148
|
-
this._handleFocusOnNextElement(ev);
|
|
149
|
-
};
|
|
150
|
-
this._handleFocusOnNextElement = async (ev) => {
|
|
151
|
-
var _a;
|
|
152
|
-
ev.preventDefault();
|
|
153
|
-
const $focusableElements = utilities.UiDomUtils.getFocusableElements(document.body);
|
|
154
|
-
const indexOfDropdownToggler = $focusableElements.indexOf(this.$dropdownToggler);
|
|
155
|
-
const $nextElementToFocus = (_a = $focusableElements[indexOfDropdownToggler + 1]) !== null && _a !== void 0 ? _a : $focusableElements[0];
|
|
156
|
-
await this._hideDropdownsSequentially();
|
|
157
|
-
await this.hide();
|
|
158
|
-
this._focusOnNextElementAfterToggler($nextElementToFocus);
|
|
159
|
-
};
|
|
160
|
-
this._focusOnNextElementAfterToggler = ($elementToFocus) => {
|
|
161
|
-
var _a;
|
|
162
|
-
const isTogglerLastChildOfPreviousDropdown = ($elementToFocus === null || $elementToFocus === void 0 ? void 0 : $elementToFocus.closest(dropdown_constants.DROPDOWN_CONTENT_NAME)) === this.$dropdownContent;
|
|
163
|
-
if (isTogglerLastChildOfPreviousDropdown) {
|
|
164
|
-
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.focus();
|
|
142
|
+
this._keepFocusWithinDropdownForwards = (ev) => {
|
|
143
|
+
var _a, _b, _c;
|
|
144
|
+
if (ev.shiftKey === true || !this.$dropdownContent)
|
|
165
145
|
return;
|
|
146
|
+
const $target = ev.target;
|
|
147
|
+
if (((_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.contains($target)) && this.opened) {
|
|
148
|
+
ev.preventDefault();
|
|
149
|
+
(_b = this.$dropdownContent.focusSentinelStart.value) === null || _b === void 0 ? void 0 : _b.focus();
|
|
150
|
+
}
|
|
151
|
+
if ($target === this.$dropdownContent.focusSentinelEnd.value) {
|
|
152
|
+
ev.preventDefault();
|
|
153
|
+
if (this.preventFocusTrap) {
|
|
154
|
+
this.hide();
|
|
155
|
+
utilities.UiDomUtils.getNextFocusableElement(this.$dropdownToggler || this).focus();
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
(_c = this.$dropdownToggler) === null || _c === void 0 ? void 0 : _c.focus();
|
|
159
|
+
}
|
|
166
160
|
}
|
|
167
|
-
$elementToFocus === null || $elementToFocus === void 0 ? void 0 : $elementToFocus.focus();
|
|
168
161
|
};
|
|
169
|
-
this.
|
|
170
|
-
var _a;
|
|
171
|
-
|
|
172
|
-
if (document.activeElement !== $firstFocusableElement)
|
|
162
|
+
this._keepFocusWithinDropdownBackwards = (ev) => {
|
|
163
|
+
var _a, _b, _c;
|
|
164
|
+
if (!this.opened || !this.$dropdownContent)
|
|
173
165
|
return;
|
|
174
|
-
ev.
|
|
175
|
-
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.
|
|
176
|
-
|
|
166
|
+
const $target = ev.target;
|
|
167
|
+
if (($target === this.$dropdownToggler || ((_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.contains($target)))) {
|
|
168
|
+
if (this.preventFocusTrap) {
|
|
169
|
+
this.hide();
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
ev.preventDefault();
|
|
173
|
+
(_b = this.$dropdownContent.focusSentinelEnd.value) === null || _b === void 0 ? void 0 : _b.focus();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if ($target === this.$dropdownContent.focusSentinelStart.value) {
|
|
177
|
+
ev.preventDefault();
|
|
178
|
+
(_c = this.$dropdownToggler) === null || _c === void 0 ? void 0 : _c.focus();
|
|
179
|
+
}
|
|
177
180
|
};
|
|
178
181
|
this._hoverToggle = async (ev) => {
|
|
179
182
|
if (window.innerWidth < global_constants.BREAKPOINTS.xs)
|
|
@@ -216,13 +219,14 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
216
219
|
host: this,
|
|
217
220
|
target: document.body,
|
|
218
221
|
keys: ['tab'],
|
|
219
|
-
callback: this.
|
|
222
|
+
callback: this._keepFocusWithinDropdownForwards
|
|
220
223
|
});
|
|
221
224
|
new keystrokes_controller.KeystrokesController({
|
|
222
225
|
host: this,
|
|
223
226
|
target: document.body,
|
|
224
227
|
keys: [['shift', 'tab']],
|
|
225
|
-
callback: this.
|
|
228
|
+
callback: this._keepFocusWithinDropdownBackwards,
|
|
229
|
+
containerSelectors: ['h-dropdown', 'h-dropdown-content']
|
|
226
230
|
});
|
|
227
231
|
}
|
|
228
232
|
async connectedCallback() {
|
|
@@ -389,6 +393,14 @@ tslib_es6.__decorate([
|
|
|
389
393
|
decorators_js.property({ type: String, attribute: 'mobile-position' }),
|
|
390
394
|
tslib_es6.__metadata("design:type", String)
|
|
391
395
|
], exports.HDropdown.prototype, "mobilePosition", void 0);
|
|
396
|
+
tslib_es6.__decorate([
|
|
397
|
+
decorators_js.property({ type: String, attribute: 'id', reflect: true }),
|
|
398
|
+
tslib_es6.__metadata("design:type", Object)
|
|
399
|
+
], exports.HDropdown.prototype, "id", void 0);
|
|
400
|
+
tslib_es6.__decorate([
|
|
401
|
+
decorators_js.property({ type: Boolean, attribute: 'prevent-focus-trap' }),
|
|
402
|
+
tslib_es6.__metadata("design:type", Object)
|
|
403
|
+
], exports.HDropdown.prototype, "preventFocusTrap", void 0);
|
|
392
404
|
exports.HDropdown = HDropdown_1 = tslib_es6.__decorate([
|
|
393
405
|
phoenix_custom_element.phoenixCustomElement('h-dropdown'),
|
|
394
406
|
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,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;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,iBAAiB,qDAAyD;AAC1E;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;AACA;AACA;AACA;AACA;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,25 +7,44 @@ 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 ref_js = require('lit-html/directives/ref.js');
|
|
10
11
|
var dropdown_constants = require('./dropdown_constants.js');
|
|
11
12
|
|
|
12
13
|
exports.HDropdownContent = class HDropdownContent extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
13
14
|
constructor() {
|
|
14
15
|
super();
|
|
15
16
|
this.name = '';
|
|
17
|
+
this.focusSentinelStart = ref_js.createRef();
|
|
18
|
+
this.focusSentinelEnd = ref_js.createRef();
|
|
19
|
+
this._contentContainer = ref_js.createRef();
|
|
16
20
|
this.slot = this.hasAttribute('slot') ? this.slot : 'content';
|
|
21
|
+
this._initialChildren = Array.from(this.childNodes);
|
|
17
22
|
}
|
|
18
23
|
connectedCallback() {
|
|
19
24
|
super.connectedCallback();
|
|
20
25
|
this.classList.add(dropdown_constants.DROPDOWN_CSS_CLASSES.content);
|
|
21
26
|
this.setAttribute('role', 'menu');
|
|
27
|
+
this.setAttribute('aria-modal', 'true');
|
|
22
28
|
Array.from(this.children).forEach((element) => {
|
|
23
29
|
element.setAttribute('role', 'menuitem');
|
|
24
30
|
});
|
|
25
31
|
}
|
|
32
|
+
firstUpdated(_changedProperties) {
|
|
33
|
+
super.firstUpdated(_changedProperties);
|
|
34
|
+
if (this._contentContainer.value) {
|
|
35
|
+
this._initialChildren.forEach((child) => {
|
|
36
|
+
var _a;
|
|
37
|
+
(_a = this._contentContainer.value) === null || _a === void 0 ? void 0 : _a.appendChild(child);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
26
41
|
render() {
|
|
27
42
|
super.render();
|
|
28
|
-
return lit.html `
|
|
43
|
+
return lit.html `
|
|
44
|
+
<div tabindex="0" ${ref_js.ref(this.focusSentinelStart)}></div>
|
|
45
|
+
<div ${ref_js.ref(this._contentContainer)}></div>
|
|
46
|
+
<div tabindex="0" ${ref_js.ref(this.focusSentinelEnd)}></div>
|
|
47
|
+
`;
|
|
29
48
|
}
|
|
30
49
|
};
|
|
31
50
|
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;"}
|
|
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;"}
|
|
@@ -4,7 +4,7 @@ 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
|
-
|
|
7
|
+
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');
|
|
10
10
|
var btn_controller = require('../../controllers/btn_controller/btn_controller.js');
|
|
@@ -16,6 +16,17 @@ exports.HDropdownToggler = class HDropdownToggler extends phoenix_light_lit_elem
|
|
|
16
16
|
constructor() {
|
|
17
17
|
super();
|
|
18
18
|
this.name = '';
|
|
19
|
+
this._setupTogglerAria = () => {
|
|
20
|
+
this._$dropdown = this.closest(dropdown_constants.DROPDOWN_CONTAINER_NAME);
|
|
21
|
+
if (this._$dropdown.isOpened)
|
|
22
|
+
this._toggleElementAriaController = new toggle_element_aria_controller.ToggleElementAriaController({
|
|
23
|
+
host: this,
|
|
24
|
+
initialAriaExpandedValue: this._$dropdown.isOpened()
|
|
25
|
+
});
|
|
26
|
+
this.setAttribute('aria-haspopup', 'true');
|
|
27
|
+
if (this._$dropdown.id)
|
|
28
|
+
this.setAttribute('aria-controls', this._$dropdown.id);
|
|
29
|
+
};
|
|
19
30
|
this._dispatchToggleDropdownEventWithKeyboard = (ev) => {
|
|
20
31
|
ev.stopImmediatePropagation();
|
|
21
32
|
this._dispatchToggleDropdownEvent(ev);
|
|
@@ -29,18 +40,6 @@ exports.HDropdownToggler = class HDropdownToggler extends phoenix_light_lit_elem
|
|
|
29
40
|
ev.preventDefault();
|
|
30
41
|
this.emitCustomEvent(dropdown_constants.DROPDOWN_EVENTS.toggle);
|
|
31
42
|
};
|
|
32
|
-
this._handleFocusToOpenedDropdown = async (ev) => {
|
|
33
|
-
if (ev.target !== this)
|
|
34
|
-
return;
|
|
35
|
-
const isOpened = this._$dropdown.isOpened();
|
|
36
|
-
if (!isOpened)
|
|
37
|
-
return;
|
|
38
|
-
const $dropdownContent = document.querySelector(`${dropdown_constants.DROPDOWN_CONTENT_NAME}[name="${this.name}"]`);
|
|
39
|
-
if (!$dropdownContent)
|
|
40
|
-
return;
|
|
41
|
-
ev.preventDefault();
|
|
42
|
-
utilities.UiDomUtils.setFocusToFirstFocusableElementInContainer($dropdownContent);
|
|
43
|
-
};
|
|
44
43
|
this.slot = this.hasAttribute('slot') ? this.slot : 'toggler';
|
|
45
44
|
this.className = `${dropdown_constants.DROPDOWN_CSS_CLASSES.toggler} ${this.className}`;
|
|
46
45
|
}
|
|
@@ -48,13 +47,7 @@ exports.HDropdownToggler = class HDropdownToggler extends phoenix_light_lit_elem
|
|
|
48
47
|
var _a;
|
|
49
48
|
super.connectedCallback();
|
|
50
49
|
this._btnController = new btn_controller.BtnController(this, this._dispatchToggleDropdownEventWithKeyboard);
|
|
51
|
-
this.
|
|
52
|
-
if (this._$dropdown.isOpened)
|
|
53
|
-
this._toggleElementAriaController = new toggle_element_aria_controller.ToggleElementAriaController({
|
|
54
|
-
host: this,
|
|
55
|
-
initialAriaExpandedValue: this._$dropdown.isOpened()
|
|
56
|
-
});
|
|
57
|
-
document.addEventListener('keydown', this._handleFocusToOpenedDropdown);
|
|
50
|
+
this._setupTogglerAria();
|
|
58
51
|
const hasToggleOnHover = (_a = this._$dropdown) === null || _a === void 0 ? void 0 : _a.hasAttribute(dropdown_constants.DROPDOWN_TOGGLE_ON_HOVER_ATTRIBUTE_NAME);
|
|
59
52
|
if (hasToggleOnHover) {
|
|
60
53
|
this.addEventListener('click', this._dispatchToggleDropdownEventOnMobile);
|
|
@@ -62,10 +55,6 @@ exports.HDropdownToggler = class HDropdownToggler extends phoenix_light_lit_elem
|
|
|
62
55
|
}
|
|
63
56
|
this.addEventListener('click', this._dispatchToggleDropdownEvent);
|
|
64
57
|
}
|
|
65
|
-
disconnectedCallback() {
|
|
66
|
-
super.disconnectedCallback();
|
|
67
|
-
document.removeEventListener('keydown', this._handleFocusToOpenedDropdown);
|
|
68
|
-
}
|
|
69
58
|
};
|
|
70
59
|
tslib_es6.__decorate([
|
|
71
60
|
decorators.property({ type: String, reflect: true }),
|
|
@@ -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;
|
|
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;"}
|
|
@@ -300,6 +300,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
300
300
|
name="${this.controlName}"
|
|
301
301
|
offset=${this.offset}
|
|
302
302
|
content-width="full"
|
|
303
|
+
prevent-focus-trap
|
|
303
304
|
>
|
|
304
305
|
<h-dropdown-toggler name=${this.controlName}> ${this.getSlot(select_constants.SELECT_SLOT_NAMES.toggler)} </h-dropdown-toggler>
|
|
305
306
|
|
|
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -22,15 +22,6 @@ exports.HSlider = class HSlider extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
22
22
|
};
|
|
23
23
|
this._slider = null;
|
|
24
24
|
}
|
|
25
|
-
get sliderSettings() {
|
|
26
|
-
return this._settings;
|
|
27
|
-
}
|
|
28
|
-
set sliderSettings(newSettingsObject) {
|
|
29
|
-
const newSettings = utilities.JsonUtils.toJson(newSettingsObject);
|
|
30
|
-
if (!newSettings)
|
|
31
|
-
return;
|
|
32
|
-
this.settings = newSettings;
|
|
33
|
-
}
|
|
34
25
|
connectedCallback() {
|
|
35
26
|
var _a;
|
|
36
27
|
if (this.settings) {
|
|
@@ -46,7 +37,7 @@ exports.HSlider = class HSlider extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
46
37
|
}
|
|
47
38
|
};
|
|
48
39
|
tslib_es6.__decorate([
|
|
49
|
-
decorators.property(
|
|
40
|
+
decorators.property(),
|
|
50
41
|
tslib_es6.__metadata("design:type", String)
|
|
51
42
|
], exports.HSlider.prototype, "settings", void 0);
|
|
52
43
|
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,yBAAyB,gEAAoE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA,yBAAyB,gEAAoE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js
CHANGED
|
@@ -7,11 +7,21 @@ require('lit');
|
|
|
7
7
|
|
|
8
8
|
var _KeystrokesController_host, _KeystrokesController_target;
|
|
9
9
|
class KeystrokesController {
|
|
10
|
-
constructor({ host, keys, callback, target }) {
|
|
10
|
+
constructor({ host, keys, callback, target, containerSelectors }) {
|
|
11
11
|
_KeystrokesController_host.set(this, void 0);
|
|
12
12
|
_KeystrokesController_target.set(this, void 0);
|
|
13
13
|
this._buffer = [];
|
|
14
|
-
this._clearBuffer = () => {
|
|
14
|
+
this._clearBuffer = (ev) => {
|
|
15
|
+
if (!this._containerSelectors) {
|
|
16
|
+
this._buffer = [];
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const $newFocusedElement = ev.relatedTarget;
|
|
20
|
+
if ($newFocusedElement) {
|
|
21
|
+
const isNewFocusedElementAChild = !!this._containerSelectors.find((containerSelector) => !!$newFocusedElement.closest(containerSelector));
|
|
22
|
+
if (isNewFocusedElementAChild)
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
15
25
|
this._buffer = [];
|
|
16
26
|
};
|
|
17
27
|
this._saveKey = (ev) => {
|
|
@@ -79,6 +89,7 @@ class KeystrokesController {
|
|
|
79
89
|
tslib_es6.__classPrivateFieldSet(this, _KeystrokesController_target, target, "f");
|
|
80
90
|
this._keys = keys;
|
|
81
91
|
this._callback = callback;
|
|
92
|
+
this._containerSelectors = containerSelectors;
|
|
82
93
|
tslib_es6.__classPrivateFieldGet(this, _KeystrokesController_host, "f").addController(this);
|
|
83
94
|
}
|
|
84
95
|
hostConnected() {
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -15,6 +15,8 @@ export declare class HDropdown extends PhoenixLightLitElement implements IDropdo
|
|
|
15
15
|
contentWidth: TDropdownContentWidth;
|
|
16
16
|
portalTarget: string;
|
|
17
17
|
mobilePosition: TMobileElementPosition;
|
|
18
|
+
id: string;
|
|
19
|
+
preventFocusTrap: boolean;
|
|
18
20
|
$dropdownToggler: HDropdownToggler | null;
|
|
19
21
|
$dropdownContent: HDropdownContent | null;
|
|
20
22
|
$nestedDropdownContentElements?: HDropdownContent[];
|
|
@@ -40,10 +42,8 @@ export declare class HDropdown extends PhoenixLightLitElement implements IDropdo
|
|
|
40
42
|
private _observeScrollToggling;
|
|
41
43
|
private _toggleScroll;
|
|
42
44
|
private _closeDropdownOnEscape;
|
|
43
|
-
private
|
|
44
|
-
private
|
|
45
|
-
private _focusOnNextElementAfterToggler;
|
|
46
|
-
private _handleBackwardFocus;
|
|
45
|
+
private _keepFocusWithinDropdownForwards;
|
|
46
|
+
private _keepFocusWithinDropdownBackwards;
|
|
47
47
|
private _hoverToggle;
|
|
48
48
|
private _isHoveredWithinDropdown;
|
|
49
49
|
private _setupInitialDropdownProperties;
|
|
@@ -6,8 +6,9 @@ import { property } from '@lit/reactive-element/decorators.js';
|
|
|
6
6
|
import { KeystrokesController } from '../../controllers/keystrokes_controller/keystrokes_controller.js';
|
|
7
7
|
import { html } from 'lit-html';
|
|
8
8
|
import { BREAKPOINTS, SCROLLABLE_CLASS_NAME } from '../../global_constants.js';
|
|
9
|
-
import { DEFAULT_DROPDOWN_PORTAL_NAME, DROPDOWN_CONTENT_CSS_CLASSES, DROPDOWN_EVENTS, DROPDOWN_CONTAINER_NAME,
|
|
9
|
+
import { DEFAULT_DROPDOWN_PORTAL_NAME, DROPDOWN_CONTENT_CSS_CLASSES, DROPDOWN_EVENTS, DROPDOWN_CONTAINER_NAME, DROPDOWN_CONTENT_WIDTH, DROPDOWN_CONTENT_NAME, DROPDOWN_TOGGLER_NAME } from './dropdown_constants.js';
|
|
10
10
|
import { RELATIVE_POSITION_CONTROLLER_EVENTS, DEFAULT_THROTTLE_WAIT_TIME } from '../../controllers/relative_position_controller/relative_position_controller_constants.js';
|
|
11
|
+
import v4 from '../../../../../external/uuid/dist/esm-browser/v4.js';
|
|
11
12
|
import { PORTAL_TARGET_COMPONENT_NAME, PORTAL_TARGET_NAME_PROP } from '../portal/portal_constants.js';
|
|
12
13
|
import { BackdropController } from '../backdrop/controller/backdrop_controller.js';
|
|
13
14
|
import { ClickOutsideController } from '../../controllers/click_outside_controller/click_outside_controller.js';
|
|
@@ -25,6 +26,8 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
25
26
|
this.transition = 'direction';
|
|
26
27
|
this.offset = 0;
|
|
27
28
|
this.portalTarget = DEFAULT_DROPDOWN_PORTAL_NAME;
|
|
29
|
+
this.id = v4();
|
|
30
|
+
this.preventFocusTrap = false;
|
|
28
31
|
this._backdropController = new BackdropController();
|
|
29
32
|
this._handleClickOutside = async (target) => {
|
|
30
33
|
var _a, _b;
|
|
@@ -132,44 +135,44 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
132
135
|
return;
|
|
133
136
|
await this.hide();
|
|
134
137
|
};
|
|
135
|
-
this.
|
|
136
|
-
|
|
137
|
-
if (
|
|
138
|
-
return;
|
|
139
|
-
const $focusableElementsWithinDropdownContent = UiDomUtils.getFocusableElements(this.$dropdownContent).filter((element) => element.closest(DROPDOWN_CONTENT_NAME) === this.$dropdownContent);
|
|
140
|
-
const doesNotHaveFocusableElementsInsideContent = $focusableElementsWithinDropdownContent.length <= 0 && this.opened;
|
|
141
|
-
const indexOfCurrentlyFocusedElement = $focusableElementsWithinDropdownContent.indexOf(document.activeElement);
|
|
142
|
-
const isActiveElementLastFocusableElement = indexOfCurrentlyFocusedElement === $focusableElementsWithinDropdownContent.length - 1;
|
|
143
|
-
if (doesNotHaveFocusableElementsInsideContent || isActiveElementLastFocusableElement)
|
|
144
|
-
this._handleFocusOnNextElement(ev);
|
|
145
|
-
};
|
|
146
|
-
this._handleFocusOnNextElement = async (ev) => {
|
|
147
|
-
var _a;
|
|
148
|
-
ev.preventDefault();
|
|
149
|
-
const $focusableElements = UiDomUtils.getFocusableElements(document.body);
|
|
150
|
-
const indexOfDropdownToggler = $focusableElements.indexOf(this.$dropdownToggler);
|
|
151
|
-
const $nextElementToFocus = (_a = $focusableElements[indexOfDropdownToggler + 1]) !== null && _a !== void 0 ? _a : $focusableElements[0];
|
|
152
|
-
await this._hideDropdownsSequentially();
|
|
153
|
-
await this.hide();
|
|
154
|
-
this._focusOnNextElementAfterToggler($nextElementToFocus);
|
|
155
|
-
};
|
|
156
|
-
this._focusOnNextElementAfterToggler = ($elementToFocus) => {
|
|
157
|
-
var _a;
|
|
158
|
-
const isTogglerLastChildOfPreviousDropdown = ($elementToFocus === null || $elementToFocus === void 0 ? void 0 : $elementToFocus.closest(DROPDOWN_CONTENT_NAME)) === this.$dropdownContent;
|
|
159
|
-
if (isTogglerLastChildOfPreviousDropdown) {
|
|
160
|
-
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.focus();
|
|
138
|
+
this._keepFocusWithinDropdownForwards = (ev) => {
|
|
139
|
+
var _a, _b, _c;
|
|
140
|
+
if (ev.shiftKey === true || !this.$dropdownContent)
|
|
161
141
|
return;
|
|
142
|
+
const $target = ev.target;
|
|
143
|
+
if (((_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.contains($target)) && this.opened) {
|
|
144
|
+
ev.preventDefault();
|
|
145
|
+
(_b = this.$dropdownContent.focusSentinelStart.value) === null || _b === void 0 ? void 0 : _b.focus();
|
|
146
|
+
}
|
|
147
|
+
if ($target === this.$dropdownContent.focusSentinelEnd.value) {
|
|
148
|
+
ev.preventDefault();
|
|
149
|
+
if (this.preventFocusTrap) {
|
|
150
|
+
this.hide();
|
|
151
|
+
UiDomUtils.getNextFocusableElement(this.$dropdownToggler || this).focus();
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
(_c = this.$dropdownToggler) === null || _c === void 0 ? void 0 : _c.focus();
|
|
155
|
+
}
|
|
162
156
|
}
|
|
163
|
-
$elementToFocus === null || $elementToFocus === void 0 ? void 0 : $elementToFocus.focus();
|
|
164
157
|
};
|
|
165
|
-
this.
|
|
166
|
-
var _a;
|
|
167
|
-
|
|
168
|
-
if (document.activeElement !== $firstFocusableElement)
|
|
158
|
+
this._keepFocusWithinDropdownBackwards = (ev) => {
|
|
159
|
+
var _a, _b, _c;
|
|
160
|
+
if (!this.opened || !this.$dropdownContent)
|
|
169
161
|
return;
|
|
170
|
-
ev.
|
|
171
|
-
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.
|
|
172
|
-
|
|
162
|
+
const $target = ev.target;
|
|
163
|
+
if (($target === this.$dropdownToggler || ((_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.contains($target)))) {
|
|
164
|
+
if (this.preventFocusTrap) {
|
|
165
|
+
this.hide();
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
ev.preventDefault();
|
|
169
|
+
(_b = this.$dropdownContent.focusSentinelEnd.value) === null || _b === void 0 ? void 0 : _b.focus();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
if ($target === this.$dropdownContent.focusSentinelStart.value) {
|
|
173
|
+
ev.preventDefault();
|
|
174
|
+
(_c = this.$dropdownToggler) === null || _c === void 0 ? void 0 : _c.focus();
|
|
175
|
+
}
|
|
173
176
|
};
|
|
174
177
|
this._hoverToggle = async (ev) => {
|
|
175
178
|
if (window.innerWidth < BREAKPOINTS.xs)
|
|
@@ -212,13 +215,14 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
212
215
|
host: this,
|
|
213
216
|
target: document.body,
|
|
214
217
|
keys: ['tab'],
|
|
215
|
-
callback: this.
|
|
218
|
+
callback: this._keepFocusWithinDropdownForwards
|
|
216
219
|
});
|
|
217
220
|
new KeystrokesController({
|
|
218
221
|
host: this,
|
|
219
222
|
target: document.body,
|
|
220
223
|
keys: [['shift', 'tab']],
|
|
221
|
-
callback: this.
|
|
224
|
+
callback: this._keepFocusWithinDropdownBackwards,
|
|
225
|
+
containerSelectors: ['h-dropdown', 'h-dropdown-content']
|
|
222
226
|
});
|
|
223
227
|
}
|
|
224
228
|
async connectedCallback() {
|
|
@@ -385,6 +389,14 @@ __decorate([
|
|
|
385
389
|
property({ type: String, attribute: 'mobile-position' }),
|
|
386
390
|
__metadata("design:type", String)
|
|
387
391
|
], HDropdown.prototype, "mobilePosition", void 0);
|
|
392
|
+
__decorate([
|
|
393
|
+
property({ type: String, attribute: 'id', reflect: true }),
|
|
394
|
+
__metadata("design:type", Object)
|
|
395
|
+
], HDropdown.prototype, "id", void 0);
|
|
396
|
+
__decorate([
|
|
397
|
+
property({ type: Boolean, attribute: 'prevent-focus-trap' }),
|
|
398
|
+
__metadata("design:type", Object)
|
|
399
|
+
], HDropdown.prototype, "preventFocusTrap", void 0);
|
|
388
400
|
HDropdown = HDropdown_1 = __decorate([
|
|
389
401
|
phoenixCustomElement('h-dropdown'),
|
|
390
402
|
__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,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;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,eAAe,qDAAyD;AACxE;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;AACA;AACA;AACA;AACA;AACA;AACA;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,8 +1,14 @@
|
|
|
1
|
-
import { TemplateResult } from 'lit';
|
|
1
|
+
import { PropertyValues, TemplateResult } from 'lit';
|
|
2
2
|
import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
|
|
3
|
+
import { Ref } from 'lit-html/directives/ref.js';
|
|
3
4
|
export declare class HDropdownContent extends PhoenixLightLitElement {
|
|
4
5
|
name: string;
|
|
6
|
+
focusSentinelStart: Ref<HTMLElement>;
|
|
7
|
+
focusSentinelEnd: Ref<HTMLElement>;
|
|
8
|
+
private _contentContainer;
|
|
9
|
+
private _initialChildren;
|
|
5
10
|
constructor();
|
|
6
11
|
connectedCallback(): void;
|
|
12
|
+
firstUpdated(_changedProperties: PropertyValues): void;
|
|
7
13
|
protected render(): TemplateResult;
|
|
8
14
|
}
|
|
@@ -3,25 +3,44 @@ import { html } from 'lit';
|
|
|
3
3
|
import { property } 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 { createRef, ref } from 'lit-html/directives/ref.js';
|
|
6
7
|
import { DROPDOWN_CSS_CLASSES } from './dropdown_constants.js';
|
|
7
8
|
|
|
8
9
|
let HDropdownContent = class HDropdownContent extends PhoenixLightLitElement {
|
|
9
10
|
constructor() {
|
|
10
11
|
super();
|
|
11
12
|
this.name = '';
|
|
13
|
+
this.focusSentinelStart = createRef();
|
|
14
|
+
this.focusSentinelEnd = createRef();
|
|
15
|
+
this._contentContainer = createRef();
|
|
12
16
|
this.slot = this.hasAttribute('slot') ? this.slot : 'content';
|
|
17
|
+
this._initialChildren = Array.from(this.childNodes);
|
|
13
18
|
}
|
|
14
19
|
connectedCallback() {
|
|
15
20
|
super.connectedCallback();
|
|
16
21
|
this.classList.add(DROPDOWN_CSS_CLASSES.content);
|
|
17
22
|
this.setAttribute('role', 'menu');
|
|
23
|
+
this.setAttribute('aria-modal', 'true');
|
|
18
24
|
Array.from(this.children).forEach((element) => {
|
|
19
25
|
element.setAttribute('role', 'menuitem');
|
|
20
26
|
});
|
|
21
27
|
}
|
|
28
|
+
firstUpdated(_changedProperties) {
|
|
29
|
+
super.firstUpdated(_changedProperties);
|
|
30
|
+
if (this._contentContainer.value) {
|
|
31
|
+
this._initialChildren.forEach((child) => {
|
|
32
|
+
var _a;
|
|
33
|
+
(_a = this._contentContainer.value) === null || _a === void 0 ? void 0 : _a.appendChild(child);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
22
37
|
render() {
|
|
23
38
|
super.render();
|
|
24
|
-
return html `
|
|
39
|
+
return html `
|
|
40
|
+
<div tabindex="0" ${ref(this.focusSentinelStart)}></div>
|
|
41
|
+
<div ${ref(this._contentContainer)}></div>
|
|
42
|
+
<div tabindex="0" ${ref(this.focusSentinelEnd)}></div>
|
|
43
|
+
`;
|
|
25
44
|
}
|
|
26
45
|
};
|
|
27
46
|
__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;"}
|
|
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;"}
|
|
@@ -6,9 +6,8 @@ export declare class HDropdownToggler extends PhoenixLightLitElement {
|
|
|
6
6
|
private _$dropdown;
|
|
7
7
|
constructor();
|
|
8
8
|
connectedCallback(): void;
|
|
9
|
+
private _setupTogglerAria;
|
|
9
10
|
private _dispatchToggleDropdownEventWithKeyboard;
|
|
10
11
|
private _dispatchToggleDropdownEventOnMobile;
|
|
11
12
|
private _dispatchToggleDropdownEvent;
|
|
12
|
-
private _handleFocusToOpenedDropdown;
|
|
13
|
-
disconnectedCallback(): void;
|
|
14
13
|
}
|
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
|
|
2
2
|
import { property } from 'lit/decorators';
|
|
3
|
-
import
|
|
3
|
+
import '@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';
|
|
6
6
|
import { BtnController } from '../../controllers/btn_controller/btn_controller.js';
|
|
7
7
|
import { BREAKPOINTS } from '../../global_constants.js';
|
|
8
|
-
import {
|
|
8
|
+
import { DROPDOWN_CONTAINER_NAME, DROPDOWN_EVENTS, DROPDOWN_CSS_CLASSES, DROPDOWN_TOGGLE_ON_HOVER_ATTRIBUTE_NAME } from './dropdown_constants.js';
|
|
9
9
|
import { ToggleElementAriaController } from '../../controllers/toggle_element_aria_controller/toggle_element_aria_controller.js';
|
|
10
10
|
|
|
11
11
|
let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
|
|
12
12
|
constructor() {
|
|
13
13
|
super();
|
|
14
14
|
this.name = '';
|
|
15
|
+
this._setupTogglerAria = () => {
|
|
16
|
+
this._$dropdown = this.closest(DROPDOWN_CONTAINER_NAME);
|
|
17
|
+
if (this._$dropdown.isOpened)
|
|
18
|
+
this._toggleElementAriaController = new ToggleElementAriaController({
|
|
19
|
+
host: this,
|
|
20
|
+
initialAriaExpandedValue: this._$dropdown.isOpened()
|
|
21
|
+
});
|
|
22
|
+
this.setAttribute('aria-haspopup', 'true');
|
|
23
|
+
if (this._$dropdown.id)
|
|
24
|
+
this.setAttribute('aria-controls', this._$dropdown.id);
|
|
25
|
+
};
|
|
15
26
|
this._dispatchToggleDropdownEventWithKeyboard = (ev) => {
|
|
16
27
|
ev.stopImmediatePropagation();
|
|
17
28
|
this._dispatchToggleDropdownEvent(ev);
|
|
@@ -25,18 +36,6 @@ let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
|
|
|
25
36
|
ev.preventDefault();
|
|
26
37
|
this.emitCustomEvent(DROPDOWN_EVENTS.toggle);
|
|
27
38
|
};
|
|
28
|
-
this._handleFocusToOpenedDropdown = async (ev) => {
|
|
29
|
-
if (ev.target !== this)
|
|
30
|
-
return;
|
|
31
|
-
const isOpened = this._$dropdown.isOpened();
|
|
32
|
-
if (!isOpened)
|
|
33
|
-
return;
|
|
34
|
-
const $dropdownContent = document.querySelector(`${DROPDOWN_CONTENT_NAME}[name="${this.name}"]`);
|
|
35
|
-
if (!$dropdownContent)
|
|
36
|
-
return;
|
|
37
|
-
ev.preventDefault();
|
|
38
|
-
UiDomUtils.setFocusToFirstFocusableElementInContainer($dropdownContent);
|
|
39
|
-
};
|
|
40
39
|
this.slot = this.hasAttribute('slot') ? this.slot : 'toggler';
|
|
41
40
|
this.className = `${DROPDOWN_CSS_CLASSES.toggler} ${this.className}`;
|
|
42
41
|
}
|
|
@@ -44,13 +43,7 @@ let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
|
|
|
44
43
|
var _a;
|
|
45
44
|
super.connectedCallback();
|
|
46
45
|
this._btnController = new BtnController(this, this._dispatchToggleDropdownEventWithKeyboard);
|
|
47
|
-
this.
|
|
48
|
-
if (this._$dropdown.isOpened)
|
|
49
|
-
this._toggleElementAriaController = new ToggleElementAriaController({
|
|
50
|
-
host: this,
|
|
51
|
-
initialAriaExpandedValue: this._$dropdown.isOpened()
|
|
52
|
-
});
|
|
53
|
-
document.addEventListener('keydown', this._handleFocusToOpenedDropdown);
|
|
46
|
+
this._setupTogglerAria();
|
|
54
47
|
const hasToggleOnHover = (_a = this._$dropdown) === null || _a === void 0 ? void 0 : _a.hasAttribute(DROPDOWN_TOGGLE_ON_HOVER_ATTRIBUTE_NAME);
|
|
55
48
|
if (hasToggleOnHover) {
|
|
56
49
|
this.addEventListener('click', this._dispatchToggleDropdownEventOnMobile);
|
|
@@ -58,10 +51,6 @@ let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
|
|
|
58
51
|
}
|
|
59
52
|
this.addEventListener('click', this._dispatchToggleDropdownEvent);
|
|
60
53
|
}
|
|
61
|
-
disconnectedCallback() {
|
|
62
|
-
super.disconnectedCallback();
|
|
63
|
-
document.removeEventListener('keydown', this._handleFocusToOpenedDropdown);
|
|
64
|
-
}
|
|
65
54
|
};
|
|
66
55
|
__decorate([
|
|
67
56
|
property({ type: String, reflect: true }),
|
|
@@ -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;
|
|
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;"}
|
|
@@ -296,6 +296,7 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
|
|
|
296
296
|
name="${this.controlName}"
|
|
297
297
|
offset=${this.offset}
|
|
298
298
|
content-width="full"
|
|
299
|
+
prevent-focus-trap
|
|
299
300
|
>
|
|
300
301
|
<h-dropdown-toggler name=${this.controlName}> ${this.getSlot(SELECT_SLOT_NAMES.toggler)} </h-dropdown-toggler>
|
|
301
302
|
|
|
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,10 +1,8 @@
|
|
|
1
|
-
import { ISlider
|
|
1
|
+
import { ISlider } from './slider_types';
|
|
2
2
|
import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
|
|
3
3
|
export declare class HSlider extends PhoenixLightLitElement {
|
|
4
4
|
settings: string;
|
|
5
5
|
id: string;
|
|
6
|
-
get sliderSettings(): ISliderOptions;
|
|
7
|
-
set sliderSettings(newSettingsObject: ISliderOptions);
|
|
8
6
|
private _settings;
|
|
9
7
|
private _slider;
|
|
10
8
|
connectedCallback(): void;
|
|
@@ -18,15 +18,6 @@ let HSlider = class HSlider extends PhoenixLightLitElement {
|
|
|
18
18
|
};
|
|
19
19
|
this._slider = null;
|
|
20
20
|
}
|
|
21
|
-
get sliderSettings() {
|
|
22
|
-
return this._settings;
|
|
23
|
-
}
|
|
24
|
-
set sliderSettings(newSettingsObject) {
|
|
25
|
-
const newSettings = JsonUtils.toJson(newSettingsObject);
|
|
26
|
-
if (!newSettings)
|
|
27
|
-
return;
|
|
28
|
-
this.settings = newSettings;
|
|
29
|
-
}
|
|
30
21
|
connectedCallback() {
|
|
31
22
|
var _a;
|
|
32
23
|
if (this.settings) {
|
|
@@ -42,7 +33,7 @@ let HSlider = class HSlider extends PhoenixLightLitElement {
|
|
|
42
33
|
}
|
|
43
34
|
};
|
|
44
35
|
__decorate([
|
|
45
|
-
property(
|
|
36
|
+
property(),
|
|
46
37
|
__metadata("design:type", String)
|
|
47
38
|
], HSlider.prototype, "settings", void 0);
|
|
48
39
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA,uBAAuB,gEAAoE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uBAAuB,gEAAoE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/controllers/keystrokes_controller/keystrokes_controller.d.ts
CHANGED
|
@@ -4,8 +4,9 @@ export declare class KeystrokesController implements ReactiveController {
|
|
|
4
4
|
#private;
|
|
5
5
|
private _keys;
|
|
6
6
|
private _callback;
|
|
7
|
+
private _containerSelectors?;
|
|
7
8
|
private _buffer;
|
|
8
|
-
constructor({ host, keys, callback, target }: TKeystrokesControllerProps);
|
|
9
|
+
constructor({ host, keys, callback, target, containerSelectors }: TKeystrokesControllerProps);
|
|
9
10
|
hostConnected(): void;
|
|
10
11
|
hostDisconnected(): void;
|
|
11
12
|
private _clearBuffer;
|
package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js
CHANGED
|
@@ -3,11 +3,21 @@ import 'lit';
|
|
|
3
3
|
|
|
4
4
|
var _KeystrokesController_host, _KeystrokesController_target;
|
|
5
5
|
class KeystrokesController {
|
|
6
|
-
constructor({ host, keys, callback, target }) {
|
|
6
|
+
constructor({ host, keys, callback, target, containerSelectors }) {
|
|
7
7
|
_KeystrokesController_host.set(this, void 0);
|
|
8
8
|
_KeystrokesController_target.set(this, void 0);
|
|
9
9
|
this._buffer = [];
|
|
10
|
-
this._clearBuffer = () => {
|
|
10
|
+
this._clearBuffer = (ev) => {
|
|
11
|
+
if (!this._containerSelectors) {
|
|
12
|
+
this._buffer = [];
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const $newFocusedElement = ev.relatedTarget;
|
|
16
|
+
if ($newFocusedElement) {
|
|
17
|
+
const isNewFocusedElementAChild = !!this._containerSelectors.find((containerSelector) => !!$newFocusedElement.closest(containerSelector));
|
|
18
|
+
if (isNewFocusedElementAChild)
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
11
21
|
this._buffer = [];
|
|
12
22
|
};
|
|
13
23
|
this._saveKey = (ev) => {
|
|
@@ -75,6 +85,7 @@ class KeystrokesController {
|
|
|
75
85
|
__classPrivateFieldSet(this, _KeystrokesController_target, target, "f");
|
|
76
86
|
this._keys = keys;
|
|
77
87
|
this._callback = callback;
|
|
88
|
+
this._containerSelectors = containerSelectors;
|
|
78
89
|
__classPrivateFieldGet(this, _KeystrokesController_host, "f").addController(this);
|
|
79
90
|
}
|
|
80
91
|
hostConnected() {
|
|
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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.11.3-
|
|
5
|
+
"version": "1.11.3-4",
|
|
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.18.1",
|
|
33
|
+
"@dreamcommerce/utilities": "^1.18.1-3",
|
|
34
34
|
"@shoper/jest_config": "^0.0.0",
|
|
35
35
|
"@shoper/tsconfig": "^0.0.0",
|
|
36
36
|
"@splidejs/splide": "4.0.7",
|