@shoper/phoenix_design_system 0.25.0-8 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +45 -29
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js +6 -4
- package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/messages/base_message.js +36 -16
- package/build/cjs/packages/phoenix/src/components/messages/base_message.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/messages/base_message_constants.js +2 -0
- package/build/cjs/packages/phoenix/src/components/messages/base_message_constants.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/messages/hints/hint.js +0 -1
- package/build/cjs/packages/phoenix/src/components/messages/hints/hint.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/messages/tooltips/tooltip.js +0 -1
- package/build/cjs/packages/phoenix/src/components/messages/tooltips/tooltip.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/tabs/tabs.js +3 -1
- package/build/cjs/packages/phoenix/src/components/tabs/tabs.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/tag/tag_constants.js +2 -2
- package/build/cjs/packages/phoenix/src/controllers/btn_controller.js +3 -2
- package/build/cjs/packages/phoenix/src/controllers/btn_controller.js.map +1 -1
- package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js +66 -22
- package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js.map +1 -1
- package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +11 -4
- package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +4 -2
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +46 -30
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.d.ts +1 -1
- package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js +6 -4
- package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/messages/base_message.d.ts +6 -3
- package/build/esm/packages/phoenix/src/components/messages/base_message.js +37 -17
- package/build/esm/packages/phoenix/src/components/messages/base_message.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/messages/base_message_constants.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/messages/base_message_constants.js +4 -3
- package/build/esm/packages/phoenix/src/components/messages/base_message_constants.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/messages/base_message_types.d.ts +4 -0
- package/build/esm/packages/phoenix/src/components/messages/base_message_types.js +2 -0
- package/build/esm/packages/phoenix/src/components/messages/base_message_types.js.map +1 -0
- package/build/esm/packages/phoenix/src/components/messages/hints/hint.js +0 -1
- package/build/esm/packages/phoenix/src/components/messages/hints/hint.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/messages/tooltips/tooltip.js +0 -1
- package/build/esm/packages/phoenix/src/components/messages/tooltips/tooltip.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/portal/portal_constants.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs.js +3 -1
- package/build/esm/packages/phoenix/src/components/tabs/tabs.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/tag/tag_constants.d.ts +2 -2
- package/build/esm/packages/phoenix/src/components/tag/tag_constants.js +2 -2
- package/build/esm/packages/phoenix/src/controllers/btn_controller.js +3 -2
- package/build/esm/packages/phoenix/src/controllers/btn_controller.js.map +1 -1
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.d.ts +11 -4
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js +66 -22
- 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 +2 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.d.ts +4 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +11 -4
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
- package/package.json +1 -1
- package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller_constants.js +0 -8
- package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller_constants.js.map +0 -1
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller_constants.d.ts +0 -1
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller_constants.js +0 -4
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller_constants.js.map +0 -1
|
@@ -11,6 +11,7 @@ var portal_constants = require('../portal/portal_constants.js');
|
|
|
11
11
|
var litHtml = require('lit-html');
|
|
12
12
|
var backdrop_controller = require('../backdrop/controller/backdrop_controller.js');
|
|
13
13
|
var decorators_js = require('@lit/reactive-element/decorators.js');
|
|
14
|
+
var keystrokes_controller = require('../../controllers/keystrokes_controller/keystrokes_controller.js');
|
|
14
15
|
var global_constants = require('../../global_constants.js');
|
|
15
16
|
var dropdown_constants = require('./dropdown_constants.js');
|
|
16
17
|
var relative_position_controller_constants = require('../../controllers/relative_position_controller/relative_position_controller_constants.js');
|
|
@@ -21,7 +22,7 @@ var relative_position_controller = require('../../controllers/relative_position_
|
|
|
21
22
|
var HDropdown_1;
|
|
22
23
|
exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
23
24
|
constructor() {
|
|
24
|
-
super(
|
|
25
|
+
super();
|
|
25
26
|
this.opened = false;
|
|
26
27
|
this.direction = relative_position_controller_constants.DIRECTIONS.bottomCenter;
|
|
27
28
|
this.toggleOnHover = false;
|
|
@@ -55,13 +56,13 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
55
56
|
}, 0);
|
|
56
57
|
const transitionDuration = parseFloat(getComputedStyle(this.$dropdownContent || this).transitionDuration) * 1000;
|
|
57
58
|
setTimeout(() => {
|
|
58
|
-
var _a, _b
|
|
59
|
+
var _a, _b;
|
|
59
60
|
this._dispatchShowDropdownEvent();
|
|
60
61
|
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${dropdown_constants.DROPDOWN_CONTENT_SHOW}-${this.transition}-start`, `${dropdown_constants.DROPDOWN_CONTENT_SHOW}-${this.transition}-end`);
|
|
61
62
|
this._toggleScroll();
|
|
62
63
|
if (!this._lastFocusableElement)
|
|
63
64
|
this._lastFocusableElement = (_b = this.$dropdownContent) === null || _b === void 0 ? void 0 : _b.lastElementChild;
|
|
64
|
-
|
|
65
|
+
utilities.UiDomUtils.setFocusToFirstFocusableElementInContainer(this.$dropdownContent);
|
|
65
66
|
resolve();
|
|
66
67
|
}, transitionDuration);
|
|
67
68
|
});
|
|
@@ -132,20 +133,35 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
132
133
|
return;
|
|
133
134
|
await this.hide();
|
|
134
135
|
};
|
|
135
|
-
this.
|
|
136
|
+
this._handleForwardFocus = async (ev) => {
|
|
137
|
+
const $focusableElementsWithinDropdownContent = utilities.UiDomUtils.getFocusableElements(this.$dropdownContent);
|
|
138
|
+
const doesNotHaveFocusableElementsInsideContent = $focusableElementsWithinDropdownContent.length <= 0 && this.opened;
|
|
139
|
+
const isActiveElementLastFocusableElement = document.activeElement === this._lastFocusableElement;
|
|
140
|
+
if (doesNotHaveFocusableElementsInsideContent || isActiveElementLastFocusableElement)
|
|
141
|
+
this._focusOnNextElementAfterToggler(ev);
|
|
142
|
+
};
|
|
143
|
+
this._focusOnNextElementAfterToggler = async (ev) => {
|
|
144
|
+
ev.preventDefault();
|
|
145
|
+
const $focusableElements = utilities.UiDomUtils.getFocusableElements(document.body);
|
|
146
|
+
const indexOfDropdownToggler = $focusableElements.indexOf(this.$dropdownToggler);
|
|
147
|
+
const $nextElementToFocus = $focusableElements.find((currentElement, index) => {
|
|
148
|
+
if (index > indexOfDropdownToggler && !currentElement.closest(`${dropdown_constants.DROPDOWN_TOGGLER_NAME}[name="${this.name}"]`))
|
|
149
|
+
return currentElement;
|
|
150
|
+
return null;
|
|
151
|
+
});
|
|
152
|
+
if ($nextElementToFocus)
|
|
153
|
+
$nextElementToFocus.focus();
|
|
154
|
+
await this._hideDropdownsSequentially();
|
|
155
|
+
await this.hide();
|
|
156
|
+
};
|
|
157
|
+
this._handleBackwardFocus = async (ev) => {
|
|
136
158
|
var _a;
|
|
137
|
-
const hasTabBeenPressed = ev.key.toLowerCase() === 'tab';
|
|
138
|
-
if (hasTabBeenPressed && document.activeElement === this._lastFocusableElement) {
|
|
139
|
-
ev.preventDefault();
|
|
140
|
-
this._focusOnNextSibling(this.nextElementSibling || this);
|
|
141
|
-
await this._hideDropdownsSequentially();
|
|
142
|
-
}
|
|
143
159
|
const $firstFocusableElement = this.$dropdownContent && utilities.UiDomUtils.getFocusableElement(this.$dropdownContent);
|
|
144
|
-
if (
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
160
|
+
if (document.activeElement !== $firstFocusableElement)
|
|
161
|
+
return;
|
|
162
|
+
ev.preventDefault();
|
|
163
|
+
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.focus();
|
|
164
|
+
await this._hideDropdownsSequentially();
|
|
149
165
|
};
|
|
150
166
|
this._hoverToggle = async (ev) => {
|
|
151
167
|
if (window.innerWidth < global_constants.BREAKPOINTS.xs)
|
|
@@ -169,6 +185,18 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
169
185
|
: this._positionController.position();
|
|
170
186
|
});
|
|
171
187
|
};
|
|
188
|
+
new keystrokes_controller.KeystrokesController({
|
|
189
|
+
host: this,
|
|
190
|
+
target: document.body,
|
|
191
|
+
keys: ['tab'],
|
|
192
|
+
callback: this._handleForwardFocus
|
|
193
|
+
});
|
|
194
|
+
new keystrokes_controller.KeystrokesController({
|
|
195
|
+
host: this,
|
|
196
|
+
target: document.body,
|
|
197
|
+
keys: [['shift', 'tab']],
|
|
198
|
+
callback: this._handleBackwardFocus
|
|
199
|
+
});
|
|
172
200
|
}
|
|
173
201
|
connectedCallback() {
|
|
174
202
|
var _a;
|
|
@@ -225,7 +253,6 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
225
253
|
document.addEventListener(dropdown_constants.DROPDOWN_EVENTS.hide, this.hide);
|
|
226
254
|
window.addEventListener('resize', this._observeScrollToggling);
|
|
227
255
|
document.addEventListener('keydown', this._closeDropdownOnEscape);
|
|
228
|
-
document.addEventListener('keydown', this._handleFocusWithinDropdown);
|
|
229
256
|
if (this.toggleOnHover)
|
|
230
257
|
document.addEventListener('mouseover', this._hoverToggle);
|
|
231
258
|
}
|
|
@@ -245,17 +272,6 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
245
272
|
(_b = this.$dropdownContent) === null || _b === void 0 ? void 0 : _b.classList.add(global_constants.SCROLLABLE_CLASS_NAME);
|
|
246
273
|
}
|
|
247
274
|
}
|
|
248
|
-
_focusOnNextSibling(el) {
|
|
249
|
-
el.focus();
|
|
250
|
-
if (el === document.activeElement)
|
|
251
|
-
return;
|
|
252
|
-
if (el.firstElementChild) {
|
|
253
|
-
this._focusOnNextSibling(el.firstElementChild);
|
|
254
|
-
return;
|
|
255
|
-
}
|
|
256
|
-
if (el.nextElementSibling)
|
|
257
|
-
this._focusOnNextSibling(el.nextElementSibling);
|
|
258
|
-
}
|
|
259
275
|
_isHoveredWithinDropdown(element) {
|
|
260
276
|
var _a;
|
|
261
277
|
if (element === this)
|
|
@@ -287,7 +303,6 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
287
303
|
window.removeEventListener('resize', this._observeScrollToggling);
|
|
288
304
|
document.removeEventListener('keydown', this._closeDropdownOnEscape);
|
|
289
305
|
document.removeEventListener(dropdown_constants.DROPDOWN_EVENTS.hide, this.hide);
|
|
290
|
-
document.removeEventListener('keydown', this._handleFocusWithinDropdown);
|
|
291
306
|
if (this.toggleOnHover)
|
|
292
307
|
document.removeEventListener('mouseover', this._hoverToggle);
|
|
293
308
|
if (this.opened) {
|
|
@@ -334,6 +349,7 @@ tslib_es6.__decorate([
|
|
|
334
349
|
tslib_es6.__metadata("design:type", Object)
|
|
335
350
|
], exports.HDropdown.prototype, "_lastFocusableElement", void 0);
|
|
336
351
|
exports.HDropdown = HDropdown_1 = tslib_es6.__decorate([
|
|
337
|
-
phoenix_custom_element.phoenixCustomElement('h-dropdown')
|
|
352
|
+
phoenix_custom_element.phoenixCustomElement('h-dropdown'),
|
|
353
|
+
tslib_es6.__metadata("design:paramtypes", [])
|
|
338
354
|
], exports.HDropdown);
|
|
339
355
|
//# sourceMappingURL=dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,4CAAgD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -37,9 +37,11 @@ exports.HColorSwatchesControl = class HColorSwatchesControl extends phoenix_ligh
|
|
|
37
37
|
}
|
|
38
38
|
render() {
|
|
39
39
|
return lit.html `
|
|
40
|
-
<h-input
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
<h-input-control
|
|
41
|
+
controlName="${this.controlName}"
|
|
42
|
+
type="${input_constants.INPUT_CONTROL_TYPES.hidden}"
|
|
43
|
+
value="${this.selectedColors}"
|
|
44
|
+
></h-input-control>
|
|
43
45
|
`;
|
|
44
46
|
}
|
|
45
47
|
};
|
|
@@ -50,7 +52,7 @@ tslib_es6.__decorate([
|
|
|
50
52
|
tslib_es6.__decorate([
|
|
51
53
|
decorators.property({ type: String }),
|
|
52
54
|
tslib_es6.__metadata("design:type", String)
|
|
53
|
-
], exports.HColorSwatchesControl.prototype, "
|
|
55
|
+
], exports.HColorSwatchesControl.prototype, "controlName", void 0);
|
|
54
56
|
tslib_es6.__decorate([
|
|
55
57
|
decorators.property({ type: Boolean }),
|
|
56
58
|
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,oBAAoB,gDAAoD;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,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA,oBAAoB,gDAAoD;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;"}
|
|
@@ -21,9 +21,9 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
|
21
21
|
this.direction = relative_position_controller_constants.DIRECTIONS.topCenter;
|
|
22
22
|
this.offset = base_message_constants.DEFAULT_MESSAGE_OFFSET;
|
|
23
23
|
this._setupEventListeners = () => {
|
|
24
|
-
this.addEventListener('mouseenter', this.
|
|
25
|
-
this.addEventListener('mouseleave', this.
|
|
26
|
-
this.addEventListener('focus', this.
|
|
24
|
+
this.addEventListener('mouseenter', this.open);
|
|
25
|
+
this.addEventListener('mouseleave', this.close);
|
|
26
|
+
this.addEventListener('focus', this.open);
|
|
27
27
|
};
|
|
28
28
|
this._positionMessage = () => {
|
|
29
29
|
requestAnimationFrame(() => {
|
|
@@ -31,7 +31,7 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
|
31
31
|
(_a = this._$messageContent) === null || _a === void 0 ? void 0 : _a.setAttribute('direction', this._positionController.position());
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
|
-
this.
|
|
34
|
+
this.open = () => {
|
|
35
35
|
this._tooltipOpenTime = Date.now();
|
|
36
36
|
clearTimeout(this._closeTimeout);
|
|
37
37
|
this._openTimeout = setTimeout(() => {
|
|
@@ -40,7 +40,7 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
|
40
40
|
this.opened = true;
|
|
41
41
|
}, base_message_constants.MESSAGE_SHOW_DELAY_IN_MS);
|
|
42
42
|
};
|
|
43
|
-
this.
|
|
43
|
+
this.close = () => {
|
|
44
44
|
this._shouldDelayClosing = Date.now() - this._tooltipOpenTime > base_message_constants.MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS;
|
|
45
45
|
clearTimeout(this._openTimeout);
|
|
46
46
|
if (!this.opened)
|
|
@@ -62,31 +62,46 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
|
62
62
|
this._handleFocusWithinMessage = (ev) => {
|
|
63
63
|
var _a;
|
|
64
64
|
if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest(`.${this._messageComponentName}`)) !== this)
|
|
65
|
-
this.
|
|
66
|
-
if (!document.activeElement)
|
|
65
|
+
this.close();
|
|
66
|
+
if (!document.activeElement || ev.shiftKey)
|
|
67
67
|
return;
|
|
68
68
|
const $focusableElements = utilities.UiDomUtils.getFocusableElements(this);
|
|
69
69
|
const activeElementIndex = $focusableElements.indexOf(document.activeElement);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (!isPenultimate)
|
|
70
|
+
const isLastFocusableChild = activeElementIndex === $focusableElements.length - 1;
|
|
71
|
+
if (!isLastFocusableChild)
|
|
73
72
|
return;
|
|
74
|
-
this.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const
|
|
78
|
-
|
|
73
|
+
this.close();
|
|
74
|
+
};
|
|
75
|
+
this._handleReverseTab = () => {
|
|
76
|
+
const $focusableElements = utilities.UiDomUtils.getFocusableElements(document.body);
|
|
77
|
+
const activeElement = document.activeElement;
|
|
78
|
+
const indexOfCurrentlyFocusedElement = $focusableElements.indexOf(activeElement);
|
|
79
|
+
const $previousElement = $focusableElements[indexOfCurrentlyFocusedElement - 1];
|
|
80
|
+
const $previousElementMessageParent = $previousElement === null || $previousElement === void 0 ? void 0 : $previousElement.closest(`h-${this._messageComponentName}`);
|
|
81
|
+
if ($previousElementMessageParent === this)
|
|
82
|
+
return;
|
|
83
|
+
if ($previousElementMessageParent)
|
|
84
|
+
$previousElementMessageParent.open();
|
|
85
|
+
if (this._isBaseMessage(activeElement))
|
|
86
|
+
activeElement.close();
|
|
79
87
|
};
|
|
80
88
|
this._clickOutsideController = new click_outside_controller.ClickOutsideController({
|
|
81
89
|
host: this,
|
|
82
90
|
container: this,
|
|
83
|
-
action: this.
|
|
91
|
+
action: this.close
|
|
84
92
|
});
|
|
85
93
|
new keystrokes_controller.KeystrokesController({
|
|
86
94
|
host: this,
|
|
87
95
|
keys: ['tab'],
|
|
96
|
+
target: this,
|
|
88
97
|
callback: this._handleFocusWithinMessage
|
|
89
98
|
});
|
|
99
|
+
new keystrokes_controller.KeystrokesController({
|
|
100
|
+
host: this,
|
|
101
|
+
keys: [['shift', 'tab']],
|
|
102
|
+
target: document.body,
|
|
103
|
+
callback: this._handleReverseTab
|
|
104
|
+
});
|
|
90
105
|
}
|
|
91
106
|
connectedCallback(messageComponentName = '') {
|
|
92
107
|
super.connectedCallback();
|
|
@@ -113,6 +128,11 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
|
113
128
|
$portalTarget.setAttribute(portal_constants.PORTAL_TARGET_NAME_PROP, base_message_constants.DEFAULT_MESSAGE_PORTAL_NAME);
|
|
114
129
|
document.body.appendChild($portalTarget);
|
|
115
130
|
}
|
|
131
|
+
_isBaseMessage($element) {
|
|
132
|
+
if (base_message_constants.MESSAGE_ELEMENTS.includes($element.localName))
|
|
133
|
+
return true;
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
116
136
|
}
|
|
117
137
|
tslib_es6.__decorate([
|
|
118
138
|
decorators.property({ type: Boolean, 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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;"}
|
|
@@ -9,6 +9,7 @@ const DEFAULT_MESSAGE_PORTAL_NAME = 'message-portal';
|
|
|
9
9
|
const MESSAGE_CONTENT_SLOT_NAME = 'message-content';
|
|
10
10
|
const MESSAGE_REMOVED_CLASS_NAME = `removed`;
|
|
11
11
|
const DEFAULT_MESSAGE_OFFSET = 10;
|
|
12
|
+
const MESSAGE_ELEMENTS = [tooltip_constants.TOOLTIP_ELEMENT_NAME, hint_constants.HINT_ELEMENT_NAME];
|
|
12
13
|
const MESSAGE_CONTENT_ELEMENTS = [tooltip_constants.TOOLTIP_CONTENT_ELEMENT_NAME, hint_constants.HINT_CONTENT_ELEMENT_NAME];
|
|
13
14
|
const MESSAGE_SHOW_DELAY_IN_MS = 100;
|
|
14
15
|
const MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS = 500;
|
|
@@ -19,6 +20,7 @@ exports.DEFAULT_MESSAGE_PORTAL_NAME = DEFAULT_MESSAGE_PORTAL_NAME;
|
|
|
19
20
|
exports.MESSAGE_CLOSE_DELAY_IN_MS = MESSAGE_CLOSE_DELAY_IN_MS;
|
|
20
21
|
exports.MESSAGE_CONTENT_ELEMENTS = MESSAGE_CONTENT_ELEMENTS;
|
|
21
22
|
exports.MESSAGE_CONTENT_SLOT_NAME = MESSAGE_CONTENT_SLOT_NAME;
|
|
23
|
+
exports.MESSAGE_ELEMENTS = MESSAGE_ELEMENTS;
|
|
22
24
|
exports.MESSAGE_REMOVED_CLASS_NAME = MESSAGE_REMOVED_CLASS_NAME;
|
|
23
25
|
exports.MESSAGE_SHOW_DELAY_IN_MS = MESSAGE_SHOW_DELAY_IN_MS;
|
|
24
26
|
exports.MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS = MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS;
|
|
@@ -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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -24,7 +24,6 @@ exports.HHint = class HHint extends base_message.BaseMessage {
|
|
|
24
24
|
<h-portal ?disabled="${!this.opened}" @portal.open="${this._positionMessage}" to="${this.portalTarget}" hidden>
|
|
25
25
|
${this.getSlot(base_message_constants.MESSAGE_CONTENT_SLOT_NAME)}
|
|
26
26
|
</h-portal>
|
|
27
|
-
<div tabindex="0"></div>
|
|
28
27
|
`;
|
|
29
28
|
}
|
|
30
29
|
};
|
|
@@ -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;
|
|
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;"}
|
|
@@ -20,7 +20,6 @@ exports.HTooltip = class HTooltip extends base_message.BaseMessage {
|
|
|
20
20
|
<h-portal ?disabled="${!this.opened}" @portal.open="${this._positionMessage}" to="${this.portalTarget}" hidden>
|
|
21
21
|
${this.getSlot(base_message_constants.MESSAGE_CONTENT_SLOT_NAME)}
|
|
22
22
|
</h-portal>
|
|
23
|
-
<div tabindex="0"></div>
|
|
24
23
|
`;
|
|
25
24
|
}
|
|
26
25
|
};
|
|
@@ -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;
|
|
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;"}
|
|
@@ -15,6 +15,7 @@ var tabs_constants = require('./tabs_constants.js');
|
|
|
15
15
|
exports.HTabs = class HTabs extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
16
16
|
constructor() {
|
|
17
17
|
super(...arguments);
|
|
18
|
+
this.watchChildrenRendered = true;
|
|
18
19
|
this._handleArrowNavigation = ({ key }) => {
|
|
19
20
|
const currentTabIndex = this._getFocusedTabIndex();
|
|
20
21
|
if (currentTabIndex === undefined)
|
|
@@ -44,7 +45,8 @@ exports.HTabs = class HTabs extends phoenix_light_lit_element.PhoenixLightLitEle
|
|
|
44
45
|
new keystrokes_controller.KeystrokesController({
|
|
45
46
|
host: this,
|
|
46
47
|
keys: ['ArrowRight', 'ArrowLeft'],
|
|
47
|
-
callback: this._handleArrowNavigation
|
|
48
|
+
callback: this._handleArrowNavigation,
|
|
49
|
+
target: this
|
|
48
50
|
});
|
|
49
51
|
}
|
|
50
52
|
_getFocusedTabIndex() {
|
|
@@ -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;"}
|
|
@@ -12,8 +12,9 @@ class BtnController {
|
|
|
12
12
|
this.host.setAttribute('role', 'button');
|
|
13
13
|
this._keystrokesController = new keystrokes_controller.KeystrokesController({
|
|
14
14
|
host,
|
|
15
|
-
keys: ['
|
|
16
|
-
callback
|
|
15
|
+
keys: ['enter', ' '],
|
|
16
|
+
callback,
|
|
17
|
+
target: host
|
|
17
18
|
});
|
|
18
19
|
}
|
|
19
20
|
hostConnected() { }
|
|
@@ -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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js
CHANGED
|
@@ -4,47 +4,91 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
|
|
6
6
|
require('lit');
|
|
7
|
-
var keystrokes_controller_constants = require('./keystrokes_controller_constants.js');
|
|
8
7
|
|
|
9
|
-
var _KeystrokesController_host;
|
|
8
|
+
var _KeystrokesController_host, _KeystrokesController_target;
|
|
10
9
|
class KeystrokesController {
|
|
11
|
-
constructor({ host, keys, callback }) {
|
|
10
|
+
constructor({ host, keys, callback, target }) {
|
|
12
11
|
_KeystrokesController_host.set(this, void 0);
|
|
12
|
+
_KeystrokesController_target.set(this, void 0);
|
|
13
13
|
this._buffer = [];
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
this._clearBuffer = () => {
|
|
15
|
+
this._buffer = [];
|
|
16
|
+
};
|
|
17
|
+
this._saveKey = (ev) => {
|
|
17
18
|
const key = ev.key.toLowerCase();
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
if (!this._buffer.includes(key))
|
|
20
|
+
this._buffer = [...this._buffer, key];
|
|
21
|
+
this._bindSavedKeysWithCallback(ev, this._buffer);
|
|
22
|
+
};
|
|
23
|
+
this._bindSavedKeysWithCallback = (ev, savedKeys) => {
|
|
24
|
+
if (typeof this._keys === 'string') {
|
|
25
|
+
this._bindWithOneKey(ev, savedKeys);
|
|
26
|
+
return;
|
|
21
27
|
}
|
|
22
|
-
this.
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
const areAllKeysPressed = this._isKeySequenceMultiple(this._keys)
|
|
29
|
+
? this._areAllKeysPressedInMultipleSequences(this._keys, savedKeys)
|
|
30
|
+
: this._isOneOfTheKeysPressed(this._keys, savedKeys);
|
|
31
|
+
if (areAllKeysPressed)
|
|
32
|
+
this._callback(ev);
|
|
25
33
|
};
|
|
26
|
-
this.
|
|
27
|
-
|
|
28
|
-
return
|
|
34
|
+
this._bindWithOneKey = (ev, savedKeys) => {
|
|
35
|
+
if (!savedKeys.includes(this._keys))
|
|
36
|
+
return;
|
|
37
|
+
this._callback(ev);
|
|
38
|
+
};
|
|
39
|
+
this._isKeySequenceMultiple = (keySequence) => {
|
|
40
|
+
const firstSequence = keySequence[0];
|
|
41
|
+
if (typeof firstSequence === 'object')
|
|
42
|
+
return true;
|
|
43
|
+
return false;
|
|
44
|
+
};
|
|
45
|
+
this._areAllKeysPressedInMultipleSequences = (keySequences, savedKeys) => {
|
|
46
|
+
return !!keySequences.find((keySequence) => {
|
|
47
|
+
return this._areAllKeysPressedInSingleSequence(keySequence, savedKeys);
|
|
29
48
|
});
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
49
|
+
};
|
|
50
|
+
this._areAllKeysPressedInSingleSequence = (keySequence, savedKeys) => {
|
|
51
|
+
const indexesInSavedKeys = this._calculateIndexesInSavedKeys(keySequence, savedKeys);
|
|
52
|
+
if (indexesInSavedKeys.includes(-1))
|
|
53
|
+
return false;
|
|
54
|
+
const firstPressedKeyIndex = indexesInSavedKeys[0];
|
|
55
|
+
const lastPressedKeyIndex = indexesInSavedKeys[indexesInSavedKeys.length - 1];
|
|
56
|
+
const areKeysPressedSequentially = lastPressedKeyIndex - firstPressedKeyIndex === indexesInSavedKeys.length - 1;
|
|
57
|
+
return areKeysPressedSequentially;
|
|
58
|
+
};
|
|
59
|
+
this._isOneOfTheKeysPressed = (keys, savedKeys) => {
|
|
60
|
+
const indexesInSavedKeys = this._calculateIndexesInSavedKeys(keys, savedKeys);
|
|
61
|
+
return typeof indexesInSavedKeys.find((index) => index > -1) === 'number';
|
|
62
|
+
};
|
|
63
|
+
this._calculateIndexesInSavedKeys = (keySequence, savedKeys) => {
|
|
64
|
+
return keySequence.reduce((allIndexes, currentKeyInSequence) => {
|
|
65
|
+
return [...allIndexes, savedKeys.indexOf(currentKeyInSequence.toLowerCase())];
|
|
66
|
+
}, []);
|
|
67
|
+
};
|
|
68
|
+
// do ogrania jeszcze string czyli zapięcie się na jeden guzik
|
|
69
|
+
this._removeKey = (ev) => {
|
|
70
|
+
const key = ev.key.toLowerCase();
|
|
71
|
+
if (this._buffer.includes(key))
|
|
72
|
+
this._buffer = this._buffer.filter((currentSavedKey) => currentSavedKey !== key);
|
|
34
73
|
};
|
|
35
74
|
tslib_es6.__classPrivateFieldSet(this, _KeystrokesController_host, host, "f");
|
|
75
|
+
tslib_es6.__classPrivateFieldSet(this, _KeystrokesController_target, target, "f");
|
|
36
76
|
this._keys = keys;
|
|
37
77
|
this._callback = callback;
|
|
38
78
|
tslib_es6.__classPrivateFieldGet(this, _KeystrokesController_host, "f").addController(this);
|
|
79
|
+
tslib_es6.__classPrivateFieldGet(this, _KeystrokesController_target, "f").addEventListener('keydown', this._saveKey);
|
|
80
|
+
tslib_es6.__classPrivateFieldGet(this, _KeystrokesController_target, "f").addEventListener('keyup', this._removeKey);
|
|
39
81
|
}
|
|
40
82
|
hostConnected() {
|
|
41
|
-
tslib_es6.__classPrivateFieldGet(this, _KeystrokesController_host, "f").addEventListener('
|
|
83
|
+
tslib_es6.__classPrivateFieldGet(this, _KeystrokesController_host, "f").addEventListener('focusout', this._clearBuffer);
|
|
42
84
|
}
|
|
43
85
|
hostDisconnected() {
|
|
44
|
-
tslib_es6.__classPrivateFieldGet(this, _KeystrokesController_host, "f").removeEventListener('
|
|
86
|
+
tslib_es6.__classPrivateFieldGet(this, _KeystrokesController_host, "f").removeEventListener('focusout', this._clearBuffer);
|
|
87
|
+
tslib_es6.__classPrivateFieldGet(this, _KeystrokesController_target, "f").addEventListener('keydown', this._saveKey);
|
|
88
|
+
tslib_es6.__classPrivateFieldGet(this, _KeystrokesController_target, "f").addEventListener('keyup', this._removeKey);
|
|
45
89
|
}
|
|
46
90
|
}
|
|
47
|
-
_KeystrokesController_host = new WeakMap();
|
|
91
|
+
_KeystrokesController_host = new WeakMap(), _KeystrokesController_target = new WeakMap();
|
|
48
92
|
|
|
49
93
|
exports.KeystrokesController = KeystrokesController;
|
|
50
94
|
//# sourceMappingURL=keystrokes_controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;"}
|
package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js
CHANGED
|
@@ -12,6 +12,8 @@ class PhoenixLightLitElement extends lit.LitElement {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
14
14
|
this._slots = {};
|
|
15
|
+
this.watchChildrenRendered = false;
|
|
16
|
+
this.watchChildrenConnected = false;
|
|
15
17
|
this.isWebComponentConnected = false;
|
|
16
18
|
this.isWebComponentRendered = false;
|
|
17
19
|
this._childrenForConnectionToWatch = [];
|
|
@@ -54,14 +56,16 @@ class PhoenixLightLitElement extends lit.LitElement {
|
|
|
54
56
|
this._dispatchLifecycleEvent(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.rendered);
|
|
55
57
|
this.isWebComponentRendered = true;
|
|
56
58
|
}
|
|
57
|
-
|
|
59
|
+
_setupChildrenConnectedWatch() {
|
|
58
60
|
this._childrenForConnectionToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesForConnectionToWatch();
|
|
59
|
-
this._childrenForRenderToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesForRenderedToWatch();
|
|
60
61
|
if (!this._childrenForConnectionToWatch.length)
|
|
61
62
|
this.allChildrenConnected();
|
|
63
|
+
this.addEventListener(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected, this._handleComponentConnected);
|
|
64
|
+
}
|
|
65
|
+
_setupChildrenRenderWatch() {
|
|
66
|
+
this._childrenForRenderToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesForRenderedToWatch();
|
|
62
67
|
if (!this._childrenForRenderToWatch.length)
|
|
63
68
|
this.allChildrenRendered();
|
|
64
|
-
this.addEventListener(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected, this._handleComponentConnected);
|
|
65
69
|
this.addEventListener(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.rendered, this._handleComponentRendered);
|
|
66
70
|
}
|
|
67
71
|
_getComponentsNamesForConnectionToWatch() {
|
|
@@ -74,7 +78,10 @@ class PhoenixLightLitElement extends lit.LitElement {
|
|
|
74
78
|
super.connectedCallback();
|
|
75
79
|
this._dispatchLifecycleEvent(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected);
|
|
76
80
|
this.isWebComponentConnected = true;
|
|
77
|
-
this.
|
|
81
|
+
if (this.watchChildrenConnected)
|
|
82
|
+
this._setupChildrenConnectedWatch();
|
|
83
|
+
if (this.watchChildrenRendered)
|
|
84
|
+
this._setupChildrenRenderWatch();
|
|
78
85
|
}
|
|
79
86
|
allChildrenConnected() { }
|
|
80
87
|
allChildrenRendered() { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;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;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;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;"}
|
|
@@ -20,6 +20,7 @@ export declare class HDropdown extends PhoenixLightLitElement implements IDropdo
|
|
|
20
20
|
private _backdropController;
|
|
21
21
|
_lastFocusableElement: HTMLElement | undefined;
|
|
22
22
|
private _rootDropdown?;
|
|
23
|
+
constructor();
|
|
23
24
|
connectedCallback(): void;
|
|
24
25
|
private static _appendDropdownPortal;
|
|
25
26
|
private _findRootDropdown;
|
|
@@ -36,8 +37,9 @@ export declare class HDropdown extends PhoenixLightLitElement implements IDropdo
|
|
|
36
37
|
private _observeScrollToggling;
|
|
37
38
|
private _toggleScroll;
|
|
38
39
|
private _closeDropdownOnEscape;
|
|
39
|
-
private
|
|
40
|
-
private
|
|
40
|
+
private _handleForwardFocus;
|
|
41
|
+
private _focusOnNextElementAfterToggler;
|
|
42
|
+
private _handleBackwardFocus;
|
|
41
43
|
private _hoverToggle;
|
|
42
44
|
private _isHoveredWithinDropdown;
|
|
43
45
|
private _setupInitialDropdownProperties;
|