@shoper/phoenix_design_system 1.18.23-1 → 1.18.23-3
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 +14 -77
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/search/search.js +26 -0
- package/build/cjs/packages/phoenix/src/components/form/search/search.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/select.js +37 -18
- package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/modal/modal.js +13 -59
- package/build/cjs/packages/phoenix/src/components/modal/modal.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/modal/modal_constants.js +1 -3
- package/build/cjs/packages/phoenix/src/components/modal/modal_constants.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/sheet/sheet.js +9 -55
- package/build/cjs/packages/phoenix/src/components/sheet/sheet.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/sheet/sheet_constants.js +1 -3
- package/build/cjs/packages/phoenix/src/components/sheet/sheet_constants.js.map +1 -1
- package/build/cjs/packages/phoenix/src/controllers/focus_trap_controller/focus_trap_controller.js +200 -0
- package/build/cjs/packages/phoenix/src/controllers/focus_trap_controller/focus_trap_controller.js.map +1 -0
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +1 -6
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +14 -77
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/search/search.d.ts +4 -0
- package/build/esm/packages/phoenix/src/components/form/search/search.js +26 -0
- package/build/esm/packages/phoenix/src/components/form/search/search.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/form/select/select.js +37 -18
- package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/modal/modal.d.ts +1 -5
- package/build/esm/packages/phoenix/src/components/modal/modal.js +15 -61
- package/build/esm/packages/phoenix/src/components/modal/modal.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/modal/modal_constants.js +2 -3
- package/build/esm/packages/phoenix/src/components/modal/modal_constants.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/sheet/sheet.d.ts +1 -5
- package/build/esm/packages/phoenix/src/components/sheet/sheet.js +11 -57
- package/build/esm/packages/phoenix/src/components/sheet/sheet.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/sheet/sheet_constants.js +2 -3
- package/build/esm/packages/phoenix/src/components/sheet/sheet_constants.js.map +1 -1
- package/build/esm/packages/phoenix/src/controllers/focus_trap_controller/focus_trap_controller.d.ts +24 -0
- package/build/esm/packages/phoenix/src/controllers/focus_trap_controller/focus_trap_controller.js +196 -0
- package/build/esm/packages/phoenix/src/controllers/focus_trap_controller/focus_trap_controller.js.map +1 -0
- package/build/esm/packages/phoenix/src/controllers/focus_trap_controller/focus_trap_controller_types.d.ts +14 -0
- package/build/esm/packages/phoenix/src/controllers/focus_trap_controller/focus_trap_controller_types.js +2 -0
- package/build/esm/packages/phoenix/src/controllers/focus_trap_controller/focus_trap_controller_types.js.map +1 -0
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ var v4 = require('../../../../../external/uuid/dist/esm-browser/v4.js');
|
|
|
16
16
|
var portal_constants = require('../portal/portal_constants.js');
|
|
17
17
|
var backdrop_controller = require('../backdrop/controller/backdrop_controller.js');
|
|
18
18
|
var click_outside_controller = require('../../controllers/click_outside_controller/click_outside_controller.js');
|
|
19
|
+
var focus_trap_controller = require('../../controllers/focus_trap_controller/focus_trap_controller.js');
|
|
19
20
|
var throttle = require('../../../../../external/lodash/throttle.js');
|
|
20
21
|
var relative_position_controller = require('../../controllers/relative_position_controller/relative_position_controller.js');
|
|
21
22
|
|
|
@@ -34,6 +35,11 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
34
35
|
this.preventFocusTrap = false;
|
|
35
36
|
this.noAutoFocus = false;
|
|
36
37
|
this._backdropController = new backdrop_controller.BackdropController();
|
|
38
|
+
this._focusTrapController = new focus_trap_controller.FocusTrapController({
|
|
39
|
+
host: this,
|
|
40
|
+
getContainer: () => { var _a; return (_a = this.$dropdownContent) !== null && _a !== void 0 ? _a : undefined; },
|
|
41
|
+
getToggler: () => this.$dropdownToggler
|
|
42
|
+
});
|
|
37
43
|
this._handleClickOutside = async (target) => {
|
|
38
44
|
var _a, _b;
|
|
39
45
|
if (!this.opened)
|
|
@@ -71,6 +77,8 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
71
77
|
this._dispatchShowDropdownEvent();
|
|
72
78
|
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${dropdown_constants.DROPDOWN_CONTENT_CSS_CLASSES.show}-${this.transition}-start`, `${dropdown_constants.DROPDOWN_CONTENT_CSS_CLASSES.show}-${this.transition}-end`);
|
|
73
79
|
this._toggleScroll();
|
|
80
|
+
if (!this.preventFocusTrap)
|
|
81
|
+
this._focusTrapController.activate();
|
|
74
82
|
resolve();
|
|
75
83
|
}, transitionDuration);
|
|
76
84
|
});
|
|
@@ -111,6 +119,7 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
111
119
|
var _a;
|
|
112
120
|
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${dropdown_constants.DROPDOWN_CONTENT_CSS_CLASSES.hide}-${this.transition}-start`, `${dropdown_constants.DROPDOWN_CONTENT_CSS_CLASSES.hide}-${this.transition}-end`);
|
|
113
121
|
this.opened = false;
|
|
122
|
+
this._focusTrapController.deactivate();
|
|
114
123
|
this._dispatchHideDropdownEvent();
|
|
115
124
|
resolve();
|
|
116
125
|
}, transitionDuration);
|
|
@@ -142,31 +151,16 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
142
151
|
await this.hide();
|
|
143
152
|
};
|
|
144
153
|
this._keepFocusWithinDropdownForwards = (ev) => {
|
|
145
|
-
|
|
146
|
-
if (ev.shiftKey === true || !this.$dropdownContent || !this.opened)
|
|
154
|
+
if (ev.shiftKey || !this.$dropdownContent || !this.opened || !this.preventFocusTrap)
|
|
147
155
|
return;
|
|
148
|
-
|
|
149
|
-
if (((_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.contains($target)) && this.preventFocusTrap) {
|
|
156
|
+
if (this.$dropdownContent.contains(ev.target)) {
|
|
150
157
|
this._handleFocusOnNextElementAfterDropdown(ev);
|
|
151
|
-
return;
|
|
152
158
|
}
|
|
153
|
-
if ((_b = this.$dropdownToggler) === null || _b === void 0 ? void 0 : _b.contains($target)) {
|
|
154
|
-
this._handleFocusFromTogglerForwards(ev);
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
this._handleFocusFromSentinelEndForwards(ev, $target);
|
|
158
159
|
};
|
|
159
160
|
this._keepFocusWithinDropdownBackwards = (ev) => {
|
|
160
|
-
if (!this.opened || !this.$dropdownContent)
|
|
161
|
+
if (!this.opened || !this.$dropdownContent || !this.preventFocusTrap)
|
|
161
162
|
return;
|
|
162
|
-
|
|
163
|
-
if (this.preventFocusTrap) {
|
|
164
|
-
this._handleDefaultFocusFromDropdownBackwards(ev);
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
this._handleFocusFromTogglerBackwards(ev, $target);
|
|
168
|
-
this._handleFocusFromSentinelStartBackwards(ev, $target);
|
|
169
|
-
}
|
|
163
|
+
this._handleDefaultFocusFromDropdownBackwards(ev);
|
|
170
164
|
};
|
|
171
165
|
this._hoverToggle = async (ev) => {
|
|
172
166
|
if (window.innerWidth < global_constants.BREAKPOINTS.xs)
|
|
@@ -188,7 +182,7 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
188
182
|
this._focusOnFirstContentElement = () => {
|
|
189
183
|
if (!this.$dropdownContent)
|
|
190
184
|
return;
|
|
191
|
-
const $firstFocusableElement = this.
|
|
185
|
+
const $firstFocusableElement = this._focusTrapController.getFocusableElements(this.$dropdownContent)[0];
|
|
192
186
|
if ($firstFocusableElement)
|
|
193
187
|
$firstFocusableElement.focus();
|
|
194
188
|
};
|
|
@@ -306,68 +300,11 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
306
300
|
utilities.UiDomUtils.getNextFocusableElement(this.$dropdownToggler || this).focus();
|
|
307
301
|
return;
|
|
308
302
|
}
|
|
309
|
-
_handleFocusFromTogglerForwards(ev) {
|
|
310
|
-
if (!this.$dropdownContent)
|
|
311
|
-
return;
|
|
312
|
-
const trulyFocusableElements = this._getTrulyFocusableElements(this.$dropdownContent);
|
|
313
|
-
if (trulyFocusableElements.length === 0)
|
|
314
|
-
return;
|
|
315
|
-
ev.preventDefault();
|
|
316
|
-
trulyFocusableElements[0].focus();
|
|
317
|
-
}
|
|
318
|
-
_handleFocusFromSentinelEndForwards(ev, $target) {
|
|
319
|
-
var _a;
|
|
320
|
-
if (!this.$dropdownContent)
|
|
321
|
-
return;
|
|
322
|
-
const trulyFocusableElements = this._getTrulyFocusableElements(this.$dropdownContent);
|
|
323
|
-
const $lastFocusableElement = trulyFocusableElements.slice(-1)[0];
|
|
324
|
-
if ($target !== $lastFocusableElement)
|
|
325
|
-
return;
|
|
326
|
-
ev.preventDefault();
|
|
327
|
-
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.focus();
|
|
328
|
-
}
|
|
329
303
|
_handleDefaultFocusFromDropdownBackwards(ev) {
|
|
330
304
|
ev.preventDefault();
|
|
331
305
|
this.hide();
|
|
332
306
|
utilities.UiDomUtils.getPreviousFocusableElement(this.$dropdownToggler || this).focus();
|
|
333
307
|
}
|
|
334
|
-
_handleFocusFromTogglerBackwards(ev, $target) {
|
|
335
|
-
var _a;
|
|
336
|
-
if ($target !== this.$dropdownToggler && !((_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.contains($target)) || !this.$dropdownContent)
|
|
337
|
-
return;
|
|
338
|
-
ev.preventDefault();
|
|
339
|
-
const trulyFocusableElements = this._getTrulyFocusableElements(this.$dropdownContent);
|
|
340
|
-
if (trulyFocusableElements.length === 0)
|
|
341
|
-
return;
|
|
342
|
-
const $lastFocusableElement = trulyFocusableElements.slice(-1)[0];
|
|
343
|
-
$lastFocusableElement.focus();
|
|
344
|
-
}
|
|
345
|
-
_handleFocusFromSentinelStartBackwards(ev, $target) {
|
|
346
|
-
var _a;
|
|
347
|
-
if (!this.$dropdownContent)
|
|
348
|
-
return;
|
|
349
|
-
const $firstFocusableElement = this._getTrulyFocusableElements(this.$dropdownContent)[0];
|
|
350
|
-
if ($target !== $firstFocusableElement)
|
|
351
|
-
return;
|
|
352
|
-
ev.preventDefault();
|
|
353
|
-
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.focus();
|
|
354
|
-
}
|
|
355
|
-
_getTrulyFocusableElements($container) {
|
|
356
|
-
const focusableElements = utilities.UiDomUtils.getFocusableElements($container);
|
|
357
|
-
return focusableElements.filter(($el) => this._isElementTrulyFocusable($el));
|
|
358
|
-
}
|
|
359
|
-
_isElementTrulyFocusable($el) {
|
|
360
|
-
const style = window.getComputedStyle($el);
|
|
361
|
-
if (style.display === 'none' || style.visibility === 'hidden') {
|
|
362
|
-
return false;
|
|
363
|
-
}
|
|
364
|
-
if ($el.nodeName === 'H-PORTAL')
|
|
365
|
-
return true;
|
|
366
|
-
const $parent = $el.parentElement;
|
|
367
|
-
if (!$parent)
|
|
368
|
-
return true;
|
|
369
|
-
return this._isElementTrulyFocusable($parent);
|
|
370
|
-
}
|
|
371
308
|
_isHoveredWithinDropdown(element) {
|
|
372
309
|
var _a;
|
|
373
310
|
if (element === this)
|
|
@@ -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,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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -16,6 +16,7 @@ var ref_js = require('lit-html/directives/ref.js');
|
|
|
16
16
|
var context_provider_controller = require('../../../core/context/context_provider_controller.js');
|
|
17
17
|
var global_constants = require('../../../global_constants.js');
|
|
18
18
|
var v4 = require('../../../../../../external/uuid/dist/esm-browser/v4.js');
|
|
19
|
+
var focus_trap_controller = require('../../../controllers/focus_trap_controller/focus_trap_controller.js');
|
|
19
20
|
var modal_constants = require('../../modal/modal_constants.js');
|
|
20
21
|
var sheet_constants = require('../../sheet/sheet_constants.js');
|
|
21
22
|
var when = require('../../../../../../external/lit-html/directives/when.js');
|
|
@@ -29,9 +30,16 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
29
30
|
this.isSearchUxFixesFlagEnabled = false;
|
|
30
31
|
this.displayMode = 'dropdown';
|
|
31
32
|
this._togglerElement = null;
|
|
33
|
+
this._mobileDialogOpener = null;
|
|
32
34
|
this._id = v4['default']();
|
|
33
35
|
this._openSearchButtonAriaLabelId = `${this._id}-open-search-button-aria-label`;
|
|
34
36
|
this._searchContentContainerId = v4['default']();
|
|
37
|
+
this._mobileFocusTrapController = new focus_trap_controller.FocusTrapController({
|
|
38
|
+
host: this,
|
|
39
|
+
getContainer: () => this,
|
|
40
|
+
noAutofocus: true,
|
|
41
|
+
cyclicKeydown: true
|
|
42
|
+
});
|
|
35
43
|
this._searchResultsRef = ref_js.createRef();
|
|
36
44
|
this._searchHistoryRef = ref_js.createRef();
|
|
37
45
|
this._searchMessageRef = ref_js.createRef();
|
|
@@ -327,6 +335,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
327
335
|
if (window.innerWidth > global_constants.BREAKPOINTS.sm) {
|
|
328
336
|
const hasBeenOpened = this.classList.contains(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
329
337
|
this.classList.remove(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
338
|
+
this._deactivateMobileDialog();
|
|
330
339
|
if (hasBeenOpened && this.displayMode !== 'dropdown') {
|
|
331
340
|
const $storefrontSearch = document.querySelector(`h-storefront-search[module-instance-id="${this.moduleInstanceId}"]`);
|
|
332
341
|
const searchOverlayTriggerName = (_a = $storefrontSearch === null || $storefrontSearch === void 0 ? void 0 : $storefrontSearch.querySelector('[aria-haspopup="dialog"]')) === null || _a === void 0 ? void 0 : _a.getAttribute('name');
|
|
@@ -342,6 +351,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
342
351
|
};
|
|
343
352
|
this._openMobileView = () => {
|
|
344
353
|
this.classList.add(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
354
|
+
this._activateMobileDialog();
|
|
345
355
|
};
|
|
346
356
|
this._isSuggesterLayerVisible = () => {
|
|
347
357
|
var _a;
|
|
@@ -362,6 +372,19 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
362
372
|
document.removeEventListener('focusin', this._resetSearchOnFocusOutside);
|
|
363
373
|
}
|
|
364
374
|
};
|
|
375
|
+
this._activateMobileDialog = () => {
|
|
376
|
+
if (this.displayMode !== 'dropdown')
|
|
377
|
+
return;
|
|
378
|
+
this._mobileDialogOpener = document.activeElement;
|
|
379
|
+
this.setAttribute('role', 'dialog');
|
|
380
|
+
this.setAttribute('aria-modal', 'true');
|
|
381
|
+
this._mobileFocusTrapController.activate();
|
|
382
|
+
};
|
|
383
|
+
this._deactivateMobileDialog = () => {
|
|
384
|
+
this.removeAttribute('role');
|
|
385
|
+
this.removeAttribute('aria-modal');
|
|
386
|
+
this._mobileFocusTrapController.deactivate();
|
|
387
|
+
};
|
|
365
388
|
this._setupAriaAttributes = () => {
|
|
366
389
|
var _a;
|
|
367
390
|
if (this._translations.openSearchButtonAriaLabel) {
|
|
@@ -370,6 +393,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
370
393
|
};
|
|
371
394
|
this._handleOpenSearch = () => {
|
|
372
395
|
this.classList.add(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
396
|
+
this._activateMobileDialog();
|
|
373
397
|
const shouldShowMessage = this._searchPhrase !== '';
|
|
374
398
|
this._updateSearchView(this._searchPhrase, shouldShowMessage, false);
|
|
375
399
|
const $searchInput = this.querySelector(`
|
|
@@ -490,8 +514,10 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
490
514
|
this.addEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.submit, this._handleSubmitForm);
|
|
491
515
|
this.addEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.close, () => {
|
|
492
516
|
this.classList.remove(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
|
|
517
|
+
this._deactivateMobileDialog();
|
|
493
518
|
this._resetSearchView();
|
|
494
519
|
this.isSearchUxFixesFlagEnabled && this._removeSearchKeyboardNavigation();
|
|
520
|
+
requestAnimationFrame(() => { var _a; return (_a = this._mobileDialogOpener) === null || _a === void 0 ? void 0 : _a.focus(); });
|
|
495
521
|
});
|
|
496
522
|
this.addEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.loadMoreHistoryItems, () => {
|
|
497
523
|
const contentLength = this._searchHistory.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E;AACA;AACA,mBAAmB,wDAA4D;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E;AACA;AACA;AACA,mBAAmB,wDAA4D;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -34,6 +34,7 @@ var select_toggler_keyboard_controller = require('./controllers/select_toggler_k
|
|
|
34
34
|
|
|
35
35
|
exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
36
36
|
constructor() {
|
|
37
|
+
var _a;
|
|
37
38
|
super();
|
|
38
39
|
this.multiple = false;
|
|
39
40
|
this.opened = false;
|
|
@@ -42,6 +43,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
42
43
|
this.type = select_constants.SELECT_TYPES.select;
|
|
43
44
|
this.noDeselect = false;
|
|
44
45
|
this.assistiveTitleId = '';
|
|
46
|
+
this.isDevSelectPlaceholderFlagEnabled = false;
|
|
45
47
|
this.isReactiveSelectionFlagEnabled = false;
|
|
46
48
|
this.translations = {};
|
|
47
49
|
this._selectOptionsId = v4['default']();
|
|
@@ -53,7 +55,6 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
53
55
|
this._$dropdownContent = ref_js.createRef();
|
|
54
56
|
this.$dropdownToggler = ref_js.createRef();
|
|
55
57
|
this._selectContext = new context_provider_controller.ContextProviderController(this);
|
|
56
|
-
this.$placeholder = 'Select';
|
|
57
58
|
this._updateOptions = () => {
|
|
58
59
|
const $options = this._getOptions();
|
|
59
60
|
this._$options = $options.reduce((acc, $option) => {
|
|
@@ -111,18 +112,28 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
111
112
|
});
|
|
112
113
|
};
|
|
113
114
|
this._updateLabelAria = (options) => {
|
|
114
|
-
var _a;
|
|
115
|
+
var _a, _b;
|
|
115
116
|
if (!this.$searchLabel)
|
|
116
117
|
return;
|
|
117
118
|
(_a = this.$searchLabel.querySelector(`[id="value-label"]`)) === null || _a === void 0 ? void 0 : _a.remove();
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
119
|
+
if (this.isDevSelectPlaceholderFlagEnabled) {
|
|
120
|
+
const hasValidOptions = options.some((option) => !option.isPlaceholder);
|
|
121
|
+
if (!hasValidOptions)
|
|
122
|
+
return;
|
|
123
|
+
const valueLabelSpan = document.createElement('span');
|
|
124
|
+
valueLabelSpan.id = 'value-label';
|
|
125
|
+
valueLabelSpan.className = 'sr-only';
|
|
126
|
+
valueLabelSpan.textContent = options.reduce((totalSelectedContent, currentOption) => totalSelectedContent + currentOption.content, '');
|
|
127
|
+
this.$searchLabel.appendChild(valueLabelSpan);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
this.$searchLabel.innerHTML = `
|
|
131
|
+
${(_b = this.$searchLabel) === null || _b === void 0 ? void 0 : _b.innerHTML}
|
|
132
|
+
<span id="value-label" class="sr-only">
|
|
133
|
+
${options.reduce((totalSelectedContent, currentOption) => (totalSelectedContent += currentOption.content), '')}
|
|
134
|
+
</span>
|
|
135
|
+
`;
|
|
136
|
+
}
|
|
126
137
|
};
|
|
127
138
|
this._handleOptionClicked = ({ detail }) => {
|
|
128
139
|
if (!(detail === null || detail === void 0 ? void 0 : detail.$option))
|
|
@@ -174,6 +185,8 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
174
185
|
};
|
|
175
186
|
const $options = Array.from(this.querySelectorAll(select_components_constatns.SELECT_RELATED_COMPONENTS_NAMES.option));
|
|
176
187
|
$options.forEach(($option) => $option.setAttribute('slot', select_constants.SELECT_SLOT_NAMES.content));
|
|
188
|
+
const $placeholderEl = this.querySelector(`[slot="${select_components_constatns.SELECT_INPUT_PLACEHOLDER_SLOT_NAME}"]`);
|
|
189
|
+
this.$placeholder = $placeholderEl && ((_a = $placeholderEl.textContent) === null || _a === void 0 ? void 0 : _a.trim()) ? $placeholderEl : 'Select';
|
|
177
190
|
if (this.multiple)
|
|
178
191
|
this.type = select_constants.SELECT_TYPES.multiple;
|
|
179
192
|
}
|
|
@@ -219,7 +232,9 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
219
232
|
}
|
|
220
233
|
if (changedProperties.has('optionsList')) {
|
|
221
234
|
this._updateOptions();
|
|
222
|
-
this.
|
|
235
|
+
if (this.isDevSelectPlaceholderFlagEnabled) {
|
|
236
|
+
this._addPlaceholderOptionIfNeeded();
|
|
237
|
+
}
|
|
223
238
|
}
|
|
224
239
|
if (this._$optionsList.value) {
|
|
225
240
|
(_a = this.listBoxController) === null || _a === void 0 ? void 0 : _a.hostDisconnected();
|
|
@@ -252,7 +267,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
252
267
|
$searchInput ? $searchInput.focus() : $optionToFocus === null || $optionToFocus === void 0 ? void 0 : $optionToFocus.focus();
|
|
253
268
|
}
|
|
254
269
|
connectedCallback() {
|
|
255
|
-
var _a
|
|
270
|
+
var _a;
|
|
256
271
|
super.connectedCallback();
|
|
257
272
|
this.classList.add(select_constants.SELECT_CSS_CLASSES.select);
|
|
258
273
|
if (!this.searchDisabled) {
|
|
@@ -267,12 +282,10 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
267
282
|
this._selectController.options$.subscribe(this._optionsObserver);
|
|
268
283
|
this._selectedOptionsAriaObserver = new observer.Observer((selectedOptions) => this._updateLabelAria(selectedOptions));
|
|
269
284
|
this._selectController.selectedOptions$.subscribe(this._selectedOptionsAriaObserver);
|
|
270
|
-
const $placeholderEl = this.querySelector(`[slot="${select_components_constatns.SELECT_INPUT_PLACEHOLDER_SLOT_NAME}"]`);
|
|
271
|
-
if ($placeholderEl && ((_b = $placeholderEl.textContent) === null || _b === void 0 ? void 0 : _b.trim())) {
|
|
272
|
-
this.$placeholder = $placeholderEl;
|
|
273
|
-
}
|
|
274
285
|
this._updateOptions();
|
|
275
|
-
this.
|
|
286
|
+
if (this.isDevSelectPlaceholderFlagEnabled) {
|
|
287
|
+
this._addPlaceholderOptionIfNeeded();
|
|
288
|
+
}
|
|
276
289
|
this._setupEvents();
|
|
277
290
|
}
|
|
278
291
|
firstUpdated(changedProperties) {
|
|
@@ -502,7 +515,9 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
502
515
|
<h-select-close-btn class="${select_constants.SELECT_CSS_CLASSES.selectCloseMobileButton}" @close=${this._closeSelect}></h-select-close-btn>
|
|
503
516
|
|
|
504
517
|
<div class=${select_constants.SELECT_CSS_CLASSES.selectLabel}>
|
|
505
|
-
${
|
|
518
|
+
${this.isDevSelectPlaceholderFlagEnabled
|
|
519
|
+
? (_b = this.$searchLabel) === null || _b === void 0 ? void 0 : _b.cloneNode(true)
|
|
520
|
+
: lit.html `${this._getClonedPlaceholderElement()}`}
|
|
506
521
|
</div>
|
|
507
522
|
|
|
508
523
|
${isSearchEnabled
|
|
@@ -618,6 +633,10 @@ tslib_es6.__decorate([
|
|
|
618
633
|
decorators_js.property({ type: String, attribute: 'assistive-title-id' }),
|
|
619
634
|
tslib_es6.__metadata("design:type", String)
|
|
620
635
|
], exports.HSelect.prototype, "assistiveTitleId", void 0);
|
|
636
|
+
tslib_es6.__decorate([
|
|
637
|
+
decorators_js.property({ type: Boolean, attribute: 'is-dev-select-placeholder-flag-enabled' }),
|
|
638
|
+
tslib_es6.__metadata("design:type", Boolean)
|
|
639
|
+
], exports.HSelect.prototype, "isDevSelectPlaceholderFlagEnabled", void 0);
|
|
621
640
|
tslib_es6.__decorate([
|
|
622
641
|
decorators_js.property({ type: Boolean, attribute: 'is-reactive-selection-flag-enabled' }),
|
|
623
642
|
tslib_es6.__metadata("design:type", Boolean)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,iBAAiB,wDAA4D;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
|
|
6
|
-
var utilities = require('@dreamcommerce/utilities');
|
|
7
6
|
var phoenix_light_lit_element = require('../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
8
7
|
var phoenix_custom_element = require('../../core/decorators/phoenix_custom_element.js');
|
|
9
8
|
var decorators_js = require('@lit/reactive-element/decorators.js');
|
|
@@ -13,6 +12,7 @@ var ref_js = require('lit-html/directives/ref.js');
|
|
|
13
12
|
var portal_constants = require('../portal/portal_constants.js');
|
|
14
13
|
var backdrop_constants = require('../backdrop/backdrop_constants.js');
|
|
15
14
|
var backdrop_controller = require('../backdrop/controller/backdrop_controller.js');
|
|
15
|
+
var focus_trap_controller = require('../../controllers/focus_trap_controller/focus_trap_controller.js');
|
|
16
16
|
var modal_constants = require('./modal_constants.js');
|
|
17
17
|
var modal_close = require('./modal_close.js');
|
|
18
18
|
|
|
@@ -25,9 +25,6 @@ exports.HModal = HModal_1 = class HModal extends phoenix_light_lit_element.Phoen
|
|
|
25
25
|
this.transition = 'scale';
|
|
26
26
|
this.modalLabel = '';
|
|
27
27
|
this.noAutofocus = false;
|
|
28
|
-
this._firstFocusableElement = undefined;
|
|
29
|
-
this._focusableElements = null;
|
|
30
|
-
this._lastFocusableElement = undefined;
|
|
31
28
|
this._focusedToggler = null;
|
|
32
29
|
this._contentRef = ref_js.createRef();
|
|
33
30
|
this._focusSentinelStart = ref_js.createRef();
|
|
@@ -35,44 +32,26 @@ exports.HModal = HModal_1 = class HModal extends phoenix_light_lit_element.Phoen
|
|
|
35
32
|
this._propsChangeStrategies = {
|
|
36
33
|
[modal_constants.MODAL_OPENED_PROP]: {
|
|
37
34
|
true: () => {
|
|
38
|
-
const scrollY = window.scrollY;
|
|
39
35
|
HModal_1.openModals = [...HModal_1.openModals, this];
|
|
40
36
|
document.addEventListener('keydown', this._bindCloseOnEsc);
|
|
41
37
|
document.addEventListener(backdrop_constants.BACKDROP_EVENTS.clicked, this.close);
|
|
42
38
|
this._dispatchModalOpenedEvent();
|
|
43
|
-
|
|
44
|
-
setTimeout(() => {
|
|
45
|
-
var _a;
|
|
46
|
-
(_a = this._firstFocusableElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
47
|
-
window.scrollTo(0, scrollY);
|
|
48
|
-
}, 0);
|
|
49
|
-
}
|
|
39
|
+
this._focusTrapController.activate();
|
|
50
40
|
},
|
|
51
41
|
false: () => {
|
|
52
42
|
HModal_1.openModals = HModal_1.openModals.filter((modal) => modal !== this);
|
|
53
43
|
document.removeEventListener('keydown', this._bindCloseOnEsc);
|
|
54
44
|
document.removeEventListener(backdrop_constants.BACKDROP_EVENTS.clicked, this.close);
|
|
45
|
+
this._focusTrapController.deactivate();
|
|
55
46
|
}
|
|
56
47
|
}
|
|
57
48
|
};
|
|
58
49
|
this._backdropController = new backdrop_controller.BackdropController();
|
|
59
|
-
this.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (document.activeElement === this._firstFocusableElement) {
|
|
65
|
-
const focusableElements = utilities.UiDomUtils.getFocusableElements(this._contentRef.value);
|
|
66
|
-
(_a = focusableElements[focusableElements.length - 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
67
|
-
ev.preventDefault();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
else if (document.activeElement === this._lastFocusableElement) {
|
|
71
|
-
utilities.UiDomUtils.setFocusToFirstFocusableElementInContainer(this._contentRef.value);
|
|
72
|
-
ev.preventDefault();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
};
|
|
50
|
+
this._focusTrapController = new focus_trap_controller.FocusTrapController({
|
|
51
|
+
host: this,
|
|
52
|
+
getContainer: () => this._contentRef.value,
|
|
53
|
+
noAutofocus: this.noAutofocus
|
|
54
|
+
});
|
|
76
55
|
this._handleCloseFromCloseComponent = async (ev) => {
|
|
77
56
|
var _a;
|
|
78
57
|
ev.stopPropagation();
|
|
@@ -133,7 +112,6 @@ exports.HModal = HModal_1 = class HModal extends phoenix_light_lit_element.Phoen
|
|
|
133
112
|
});
|
|
134
113
|
};
|
|
135
114
|
this.hidden = true;
|
|
136
|
-
this._focusableElements = [...this.querySelectorAll(modal_constants.FOCUSABLE_ELEMENTS_WITHIN_MODAL)];
|
|
137
115
|
}
|
|
138
116
|
static _appendModalsPortal() {
|
|
139
117
|
const $modalsPortalTarget = document.querySelector(`h-portal-target[name="${modal_constants.MODALS_PORTAL_NAME}"]`);
|
|
@@ -149,7 +127,6 @@ exports.HModal = HModal_1 = class HModal extends phoenix_light_lit_element.Phoen
|
|
|
149
127
|
connectedCallback() {
|
|
150
128
|
super.connectedCallback();
|
|
151
129
|
HModal_1._appendModalsPortal();
|
|
152
|
-
document.addEventListener('keyup', this._keepFocusWithinModal);
|
|
153
130
|
document.addEventListener(modal_constants.MODAL_EVENTS.close, this._handleCloseFromCloseComponent);
|
|
154
131
|
}
|
|
155
132
|
disconnectedCallback() {
|
|
@@ -158,29 +135,18 @@ exports.HModal = HModal_1 = class HModal extends phoenix_light_lit_element.Phoen
|
|
|
158
135
|
this.close();
|
|
159
136
|
document.removeEventListener(modal_constants.MODAL_EVENTS.close, this._handleCloseFromCloseComponent);
|
|
160
137
|
document.removeEventListener('keydown', this._bindCloseOnEsc);
|
|
161
|
-
document.removeEventListener('keyup', this._keepFocusWithinModal);
|
|
162
138
|
}
|
|
163
139
|
firstUpdated(props) {
|
|
164
140
|
super.firstUpdated(props);
|
|
165
|
-
this.
|
|
166
|
-
this._lastFocusableElement = this._focusSentinelEnd.value;
|
|
141
|
+
this._focusTrapController.setSentinels(this._focusSentinelStart.value, this._focusSentinelEnd.value);
|
|
167
142
|
}
|
|
168
143
|
updated(changedProps) {
|
|
169
144
|
if (changedProps.has(modal_constants.MODAL_OPENED_PROP)) {
|
|
170
145
|
this._propsChangeStrategies[modal_constants.MODAL_OPENED_PROP][String(this[modal_constants.MODAL_OPENED_PROP])]();
|
|
171
146
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
return;
|
|
176
|
-
requestAnimationFrame(() => {
|
|
177
|
-
if (this._contentRef.value) {
|
|
178
|
-
const focusableElements = utilities.UiDomUtils.getFocusableElements(this._contentRef.value);
|
|
179
|
-
if (focusableElements.length > 0) {
|
|
180
|
-
focusableElements.length > 1 ? focusableElements[1].focus() : focusableElements[0].focus();
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
});
|
|
147
|
+
if (changedProps.has('noAutofocus')) {
|
|
148
|
+
this._focusTrapController.noAutofocus = this.noAutofocus;
|
|
149
|
+
}
|
|
184
150
|
}
|
|
185
151
|
async open() {
|
|
186
152
|
this._focusedToggler = document.activeElement;
|
|
@@ -197,7 +163,7 @@ exports.HModal = HModal_1 = class HModal extends phoenix_light_lit_element.Phoen
|
|
|
197
163
|
setTimeout(() => {
|
|
198
164
|
var _a;
|
|
199
165
|
(_a = this._contentRef.value) === null || _a === void 0 ? void 0 : _a.classList.remove(`modal_show-${this.transition}-start`, `modal_show-${this.transition}-end`);
|
|
200
|
-
this.
|
|
166
|
+
this._focusTrapController.focusFirst();
|
|
201
167
|
resolve();
|
|
202
168
|
}, transitionDuration);
|
|
203
169
|
});
|
|
@@ -256,18 +222,6 @@ tslib_es6.__decorate([
|
|
|
256
222
|
decorators_js.property({ type: Boolean, attribute: 'no-autofocus' }),
|
|
257
223
|
tslib_es6.__metadata("design:type", Object)
|
|
258
224
|
], exports.HModal.prototype, "noAutofocus", void 0);
|
|
259
|
-
tslib_es6.__decorate([
|
|
260
|
-
decorators_js.state(),
|
|
261
|
-
tslib_es6.__metadata("design:type", Object)
|
|
262
|
-
], exports.HModal.prototype, "_firstFocusableElement", void 0);
|
|
263
|
-
tslib_es6.__decorate([
|
|
264
|
-
decorators_js.state(),
|
|
265
|
-
tslib_es6.__metadata("design:type", Object)
|
|
266
|
-
], exports.HModal.prototype, "_focusableElements", void 0);
|
|
267
|
-
tslib_es6.__decorate([
|
|
268
|
-
decorators_js.state(),
|
|
269
|
-
tslib_es6.__metadata("design:type", Object)
|
|
270
|
-
], exports.HModal.prototype, "_lastFocusableElement", void 0);
|
|
271
225
|
exports.HModal = HModal_1 = tslib_es6.__decorate([
|
|
272
226
|
phoenix_custom_element.phoenixCustomElement('h-modal'),
|
|
273
227
|
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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -9,10 +9,8 @@ const MODAL_EVENTS = {
|
|
|
9
9
|
opened: 'opened',
|
|
10
10
|
closed: 'closed'
|
|
11
11
|
};
|
|
12
|
-
const MODAL_OPENED_PROP = 'opened';
|
|
13
|
-
const FOCUSABLE_ELEMENTS_WITHIN_MODAL = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])';
|
|
12
|
+
const MODAL_OPENED_PROP = 'opened';
|
|
14
13
|
|
|
15
|
-
exports.FOCUSABLE_ELEMENTS_WITHIN_MODAL = FOCUSABLE_ELEMENTS_WITHIN_MODAL;
|
|
16
14
|
exports.MODALS_PORTAL_NAME = MODALS_PORTAL_NAME;
|
|
17
15
|
exports.MODAL_EVENTS = MODAL_EVENTS;
|
|
18
16
|
exports.MODAL_OPENED_PROP = MODAL_OPENED_PROP;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|