@shoper/phoenix_design_system 0.22.3 → 0.22.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +23 -32
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js +4 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js +1 -1
- package/build/cjs/packages/phoenix/src/components/slider/slider.js +2 -2
- package/build/cjs/packages/phoenix/src/components/tabs/tab/tab.js +74 -0
- package/build/cjs/packages/phoenix/src/components/tabs/tab/tab.js.map +1 -0
- package/build/cjs/packages/phoenix/src/components/tabs/tab/tab_constants.js +12 -0
- package/build/{esm/packages/utilities/build/esm/web_components_utils.js.map → cjs/packages/phoenix/src/components/tabs/tab/tab_constants.js.map} +1 -1
- package/build/cjs/packages/phoenix/src/components/tabs/tab_panel.js +31 -0
- package/build/cjs/packages/phoenix/src/components/tabs/tab_panel.js.map +1 -0
- package/build/cjs/packages/phoenix/src/components/tabs/tabs.js +108 -0
- package/build/cjs/packages/phoenix/src/components/tabs/tabs.js.map +1 -0
- package/build/cjs/packages/phoenix/src/components/tabs/tabs_constants.js +10 -0
- package/build/cjs/packages/{utilities/build/esm/web_components_utils.js.map → phoenix/src/components/tabs/tabs_constants.js.map} +1 -1
- package/build/cjs/packages/phoenix/src/controllers/visibility_controller/visibility_controller.js +1 -1
- package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +47 -13
- package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
- package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element_utils.js +10 -4
- package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element_utils.js.map +1 -1
- package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_elements_constants.js +3 -1
- package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_elements_constants.js.map +1 -1
- package/build/cjs/packages/phoenix/src/index.js +23 -0
- package/build/cjs/packages/phoenix/src/index.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +0 -5
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +23 -32
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js +4 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js +1 -1
- package/build/esm/packages/phoenix/src/components/slider/slider.js +1 -1
- package/build/esm/packages/phoenix/src/components/tabs/tab/tab.d.ts +14 -0
- package/build/esm/packages/phoenix/src/components/tabs/tab/tab.js +72 -0
- package/build/esm/packages/phoenix/src/components/tabs/tab/tab.js.map +1 -0
- package/build/esm/packages/phoenix/src/components/tabs/tab/tab_constants.d.ts +4 -0
- package/build/esm/packages/phoenix/src/components/tabs/tab/tab_constants.js +7 -0
- package/build/esm/packages/phoenix/src/components/tabs/tab/tab_constants.js.map +1 -0
- package/build/esm/packages/phoenix/src/components/tabs/tab_panel.d.ts +8 -0
- package/build/esm/packages/phoenix/src/components/tabs/tab_panel.js +29 -0
- package/build/{cjs/packages/utilities/build/esm/json_utils.js.map → esm/packages/phoenix/src/components/tabs/tab_panel.js.map} +1 -1
- package/build/esm/packages/phoenix/src/components/tabs/tabs.d.ts +16 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs.js +106 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs.js.map +1 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs_constants.d.ts +3 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs_constants.js +6 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs_constants.js.map +1 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs_types.d.ts +4 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs_types.js +2 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs_types.js.map +1 -0
- package/build/esm/packages/phoenix/src/controllers/visibility_controller/visibility_controller.js +1 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.d.ts +8 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +47 -13
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element_utils.d.ts +1 -0
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element_utils.js +7 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element_utils.js.map +1 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_elements_constants.d.ts +2 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_elements_constants.js +3 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_elements_constants.js.map +1 -1
- package/build/esm/packages/phoenix/src/index.d.ts +4 -0
- package/build/esm/packages/phoenix/src/index.js +4 -0
- package/build/esm/packages/phoenix/src/index.js.map +1 -1
- package/package.json +1 -1
- package/build/cjs/packages/utilities/build/esm/json_utils.js +0 -25
- package/build/cjs/packages/utilities/build/esm/web_components_utils.js +0 -18
- package/build/esm/packages/utilities/build/esm/json_utils.js +0 -21
- package/build/esm/packages/utilities/build/esm/json_utils.js.map +0 -1
- package/build/esm/packages/utilities/build/esm/web_components_utils.js +0 -14
|
@@ -3,15 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
|
|
6
|
-
require('lit');
|
|
7
6
|
var decorators = require('lit/decorators');
|
|
7
|
+
var utilities = require('@dreamcommerce/utilities');
|
|
8
8
|
var phoenix_light_lit_element = require('../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
9
9
|
var phoenix_custom_element = require('../../core/decorators/phoenix_custom_element.js');
|
|
10
10
|
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 ref_js = require('lit-html/directives/ref.js');
|
|
15
14
|
var global_constants = require('../../global_constants.js');
|
|
16
15
|
var dropdown_constants = require('./dropdown_constants.js');
|
|
17
16
|
var relative_position_controller_constants = require('../../controllers/relative_position_controller/relative_position_controller_constants.js');
|
|
@@ -30,10 +29,7 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
30
29
|
this.transition = 'direction';
|
|
31
30
|
this.portalTarget = dropdown_constants.DEFAULT_DROPDOWN_PORTAL_NAME;
|
|
32
31
|
this._backdropController = new backdrop_controller.BackdropController();
|
|
33
|
-
this._firstFocusableElement = undefined;
|
|
34
32
|
this._lastFocusableElement = undefined;
|
|
35
|
-
this._focusSentinelStart = ref_js.createRef();
|
|
36
|
-
this._focusSentinelEnd = ref_js.createRef();
|
|
37
33
|
this._handleClickOutside = async (target) => {
|
|
38
34
|
var _a, _b;
|
|
39
35
|
if (!this.opened)
|
|
@@ -59,11 +55,13 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
59
55
|
}, 0);
|
|
60
56
|
const transitionDuration = parseFloat(getComputedStyle(this.$dropdownContent || this).transitionDuration) * 1000;
|
|
61
57
|
setTimeout(() => {
|
|
62
|
-
var _a, _b;
|
|
58
|
+
var _a, _b, _c;
|
|
63
59
|
this._dispatchShowDropdownEvent();
|
|
64
60
|
(_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`);
|
|
65
61
|
this._toggleScroll();
|
|
66
|
-
(
|
|
62
|
+
if (!this._lastFocusableElement)
|
|
63
|
+
this._lastFocusableElement = (_b = this.$dropdownContent) === null || _b === void 0 ? void 0 : _b.lastElementChild;
|
|
64
|
+
this._focusOnNextSibling((_c = this.$dropdownContent) === null || _c === void 0 ? void 0 : _c.firstElementChild);
|
|
67
65
|
resolve();
|
|
68
66
|
}, transitionDuration);
|
|
69
67
|
});
|
|
@@ -137,18 +135,16 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
137
135
|
this._handleFocusWithinDropdown = async (ev) => {
|
|
138
136
|
var _a;
|
|
139
137
|
const hasTabBeenPressed = ev.key.toLowerCase() === 'tab';
|
|
140
|
-
if (hasTabBeenPressed) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
await this._hideDropdownsSequentially();
|
|
151
|
-
}
|
|
138
|
+
if (hasTabBeenPressed && document.activeElement === this._lastFocusableElement) {
|
|
139
|
+
ev.preventDefault();
|
|
140
|
+
this._focusOnNextSibling(this.nextElementSibling || this);
|
|
141
|
+
await this._hideDropdownsSequentially();
|
|
142
|
+
}
|
|
143
|
+
const $firstFocusableElement = this.$dropdownContent && utilities.UiDomUtils.getFocusableElement(this.$dropdownContent);
|
|
144
|
+
if (hasTabBeenPressed && ev.shiftKey && document.activeElement === $firstFocusableElement) {
|
|
145
|
+
ev.preventDefault();
|
|
146
|
+
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.focus();
|
|
147
|
+
await this._hideDropdownsSequentially();
|
|
152
148
|
}
|
|
153
149
|
};
|
|
154
150
|
this._hoverToggle = async (ev) => {
|
|
@@ -207,11 +203,6 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
207
203
|
this._setupListeners();
|
|
208
204
|
this._setupInitialDropdownProperties();
|
|
209
205
|
}
|
|
210
|
-
firstUpdated(props) {
|
|
211
|
-
super.firstUpdated(props);
|
|
212
|
-
this._firstFocusableElement = this._focusSentinelStart.value;
|
|
213
|
-
this._lastFocusableElement = this._focusSentinelEnd.value;
|
|
214
|
-
}
|
|
215
206
|
static _appendDropdownPortal() {
|
|
216
207
|
const $dropdownPortalTarget = document.querySelector(`[name="${dropdown_constants.DEFAULT_DROPDOWN_PORTAL_NAME}"]`);
|
|
217
208
|
if (!$dropdownPortalTarget) {
|
|
@@ -258,7 +249,12 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
258
249
|
el.focus();
|
|
259
250
|
if (el === document.activeElement)
|
|
260
251
|
return;
|
|
261
|
-
|
|
252
|
+
if (el.firstElementChild) {
|
|
253
|
+
this._focusOnNextSibling(el.firstElementChild);
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
if (el.nextElementSibling)
|
|
257
|
+
this._focusOnNextSibling(el.nextElementSibling);
|
|
262
258
|
}
|
|
263
259
|
_isHoveredWithinDropdown(element) {
|
|
264
260
|
var _a;
|
|
@@ -266,7 +262,8 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
266
262
|
return true;
|
|
267
263
|
if (element === this.$dropdownContent)
|
|
268
264
|
return true;
|
|
269
|
-
const isDescendantOfDropdown = element.closest(`${dropdown_constants.DROPDOWN_CONTAINER_NAME}[name="${this.name}"]`) !== null
|
|
265
|
+
const isDescendantOfDropdown = element.closest(`${dropdown_constants.DROPDOWN_CONTAINER_NAME}[name="${this.name}"]`) !== null ||
|
|
266
|
+
element.closest(`${dropdown_constants.DROPDOWN_CONTENT_NAME}[name="${this.name}"]`) !== null;
|
|
270
267
|
if (isDescendantOfDropdown)
|
|
271
268
|
return true;
|
|
272
269
|
const $closestDropdownContent = element.closest(dropdown_constants.DROPDOWN_CONTENT_NAME);
|
|
@@ -303,9 +300,7 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
303
300
|
return litHtml.html `
|
|
304
301
|
${this.getSlot('toggler')}
|
|
305
302
|
<h-portal ?disabled="${!this.opened}" @portal.open="${this._positionDropdownContent}" to="${this.portalTarget}" hidden>
|
|
306
|
-
<div tabindex="0" ${ref_js.ref(this._focusSentinelStart)}></div>
|
|
307
303
|
${this.getSlot('content')}
|
|
308
|
-
<div tabindex="0" ${ref_js.ref(this._focusSentinelEnd)}></div>
|
|
309
304
|
</h-portal>
|
|
310
305
|
`;
|
|
311
306
|
}
|
|
@@ -334,10 +329,6 @@ tslib_es6.__decorate([
|
|
|
334
329
|
decorators_js.property({ type: String }),
|
|
335
330
|
tslib_es6.__metadata("design:type", Object)
|
|
336
331
|
], exports.HDropdown.prototype, "portalTarget", void 0);
|
|
337
|
-
tslib_es6.__decorate([
|
|
338
|
-
decorators.state(),
|
|
339
|
-
tslib_es6.__metadata("design:type", Object)
|
|
340
|
-
], exports.HDropdown.prototype, "_firstFocusableElement", void 0);
|
|
341
332
|
tslib_es6.__decorate([
|
|
342
333
|
decorators.state(),
|
|
343
334
|
tslib_es6.__metadata("design:type", Object)
|
|
@@ -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
|
|
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;"}
|
|
@@ -22,7 +22,10 @@ exports.HDropdownContent = class HDropdownContent extends phoenix_light_lit_elem
|
|
|
22
22
|
}
|
|
23
23
|
render() {
|
|
24
24
|
super.render();
|
|
25
|
-
return lit.html `
|
|
25
|
+
return lit.html `
|
|
26
|
+
<div role="dialog">${this.getSlot('content')}</div>
|
|
27
|
+
<div tabindex="0" aria-hidden="true"></div>
|
|
28
|
+
`;
|
|
26
29
|
}
|
|
27
30
|
};
|
|
28
31
|
tslib_es6.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
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;"}
|
|
@@ -18,7 +18,7 @@ exports.HDropdownToggler = class HDropdownToggler extends phoenix_light_lit_elem
|
|
|
18
18
|
this._dispatchToggleDropdownEvent = (ev) => {
|
|
19
19
|
ev.preventDefault();
|
|
20
20
|
ev.stopImmediatePropagation();
|
|
21
|
-
const toggleDropdownEvent = new
|
|
21
|
+
const toggleDropdownEvent = new CustomEvent(dropdown_constants.DROPDOWN_EVENTS.toggle, {
|
|
22
22
|
bubbles: true
|
|
23
23
|
});
|
|
24
24
|
this.dispatchEvent(toggleDropdownEvent);
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
|
|
6
6
|
var decorators = require('lit/decorators');
|
|
7
|
-
var
|
|
7
|
+
var utilities = require('@dreamcommerce/utilities');
|
|
8
8
|
var phoenix_light_lit_element = require('../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
9
9
|
var phoenix_custom_element = require('../../core/decorators/phoenix_custom_element.js');
|
|
10
10
|
var splide_esm = require('../../../../../external/@splidejs/splide/dist/js/splide.esm.js');
|
|
@@ -25,7 +25,7 @@ exports.HSlider = class HSlider extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
25
25
|
connectedCallback() {
|
|
26
26
|
var _a;
|
|
27
27
|
if (this.settings) {
|
|
28
|
-
this._settings = (_a =
|
|
28
|
+
this._settings = (_a = utilities.JsonUtils.fromJson(this.settings)) !== null && _a !== void 0 ? _a : this._settings;
|
|
29
29
|
}
|
|
30
30
|
this._slider = new splide_esm.Splide(`#${this.id}`, this._settings);
|
|
31
31
|
if (this._settings.mountOnConnectedCallback) {
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var tslib_es6 = require('../../../../../../external/tslib/tslib.es6.js');
|
|
6
|
+
var decorators = require('lit/decorators');
|
|
7
|
+
var utilities = require('@dreamcommerce/utilities');
|
|
8
|
+
var phoenix_light_lit_element = require('../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
9
|
+
var phoenix_custom_element = require('../../../core/decorators/phoenix_custom_element.js');
|
|
10
|
+
var btn_controller = require('../../../controllers/btn_controller.js');
|
|
11
|
+
var tab_constants = require('./tab_constants.js');
|
|
12
|
+
|
|
13
|
+
exports.HTab = class HTab extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this._handleTabClicked = () => {
|
|
17
|
+
if (this.disabled)
|
|
18
|
+
return;
|
|
19
|
+
this._dispatchSelectedEvent();
|
|
20
|
+
};
|
|
21
|
+
this._dispatchSelectedEvent = () => {
|
|
22
|
+
this.dispatchEvent(new CustomEvent(tab_constants.TAB_EVENT_NAMES.selected, {
|
|
23
|
+
detail: {
|
|
24
|
+
$el: this
|
|
25
|
+
},
|
|
26
|
+
bubbles: true
|
|
27
|
+
}));
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
get selected() {
|
|
31
|
+
return this.hasAttribute(tab_constants.TAB_SELECTED_ATTRIBUTE_NAME);
|
|
32
|
+
}
|
|
33
|
+
set selected(selected) {
|
|
34
|
+
selected ? this.setAttribute(tab_constants.TAB_SELECTED_ATTRIBUTE_NAME, '') : this.removeAttribute(tab_constants.TAB_SELECTED_ATTRIBUTE_NAME);
|
|
35
|
+
this.setAttribute('aria-selected', String(selected));
|
|
36
|
+
selected ? utilities.UiDomUtils.makeNavigable(this) : utilities.UiDomUtils.makeUnnavigable(this);
|
|
37
|
+
}
|
|
38
|
+
attributeChangedCallback(name, value, newValue) {
|
|
39
|
+
super.attributeChangedCallback(name, value, newValue);
|
|
40
|
+
switch (name) {
|
|
41
|
+
case tab_constants.TAB_SELECTED_ATTRIBUTE_NAME: {
|
|
42
|
+
this.selected = Boolean(newValue);
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
connectedCallback() {
|
|
48
|
+
super.connectedCallback();
|
|
49
|
+
this._btnController = new btn_controller.BtnController(this, this._handleTabClicked);
|
|
50
|
+
this._setupAttributes();
|
|
51
|
+
this._bindEvents();
|
|
52
|
+
this.selected ? utilities.UiDomUtils.makeNavigable(this) : utilities.UiDomUtils.makeUnnavigable(this);
|
|
53
|
+
}
|
|
54
|
+
_setupAttributes() {
|
|
55
|
+
this.setAttribute('role', 'tab');
|
|
56
|
+
this.setAttribute('aria-controls', this.panelName);
|
|
57
|
+
this.setAttribute('aria-selected', String(this.selected));
|
|
58
|
+
}
|
|
59
|
+
_bindEvents() {
|
|
60
|
+
this.addEventListener('click', this._handleTabClicked);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
tslib_es6.__decorate([
|
|
64
|
+
decorators.property({ type: String, reflect: true, attribute: 'panel-name' }),
|
|
65
|
+
tslib_es6.__metadata("design:type", String)
|
|
66
|
+
], exports.HTab.prototype, "panelName", void 0);
|
|
67
|
+
tslib_es6.__decorate([
|
|
68
|
+
decorators.property({ type: Boolean, reflect: true }),
|
|
69
|
+
tslib_es6.__metadata("design:type", Boolean)
|
|
70
|
+
], exports.HTab.prototype, "disabled", void 0);
|
|
71
|
+
exports.HTab = tslib_es6.__decorate([
|
|
72
|
+
phoenix_custom_element.phoenixCustomElement('h-tab')
|
|
73
|
+
], exports.HTab);
|
|
74
|
+
//# sourceMappingURL=tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const TAB_EVENT_NAMES = {
|
|
6
|
+
selected: 'selected'
|
|
7
|
+
};
|
|
8
|
+
const TAB_SELECTED_ATTRIBUTE_NAME = 'selected';
|
|
9
|
+
|
|
10
|
+
exports.TAB_EVENT_NAMES = TAB_EVENT_NAMES;
|
|
11
|
+
exports.TAB_SELECTED_ATTRIBUTE_NAME = TAB_SELECTED_ATTRIBUTE_NAME;
|
|
12
|
+
//# sourceMappingURL=tab_constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;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;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
|
|
6
|
+
var decorators = require('lit/decorators');
|
|
7
|
+
var phoenix_light_lit_element = require('../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
8
|
+
var phoenix_custom_element = require('../../core/decorators/phoenix_custom_element.js');
|
|
9
|
+
var visibility_controller = require('../../controllers/visibility_controller/visibility_controller.js');
|
|
10
|
+
|
|
11
|
+
exports.HTabPanel = class HTabPanel extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
this._visibilityController = new visibility_controller.VisibilityController(this);
|
|
15
|
+
}
|
|
16
|
+
show() {
|
|
17
|
+
this._visibilityController.show();
|
|
18
|
+
}
|
|
19
|
+
hide() {
|
|
20
|
+
this._visibilityController.hide();
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
tslib_es6.__decorate([
|
|
24
|
+
decorators.property({ type: String, reflect: true }),
|
|
25
|
+
tslib_es6.__metadata("design:type", String)
|
|
26
|
+
], exports.HTabPanel.prototype, "name", void 0);
|
|
27
|
+
exports.HTabPanel = tslib_es6.__decorate([
|
|
28
|
+
phoenix_custom_element.phoenixCustomElement('h-tab-panel'),
|
|
29
|
+
tslib_es6.__metadata("design:paramtypes", [])
|
|
30
|
+
], exports.HTabPanel);
|
|
31
|
+
//# sourceMappingURL=tab_panel.js.map
|
|
@@ -0,0 +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;"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
|
|
6
|
+
var decorators = require('lit/decorators');
|
|
7
|
+
var utilities = require('@dreamcommerce/utilities');
|
|
8
|
+
var phoenix_light_lit_element = require('../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
9
|
+
var phoenix_custom_element = require('../../core/decorators/phoenix_custom_element.js');
|
|
10
|
+
var keystrokes_controller = require('../../controllers/keystrokes_controller/keystrokes_controller.js');
|
|
11
|
+
var tab_constants = require('./tab/tab_constants.js');
|
|
12
|
+
var tab = require('./tab/tab.js');
|
|
13
|
+
var tabs_constants = require('./tabs_constants.js');
|
|
14
|
+
|
|
15
|
+
exports.HTabs = class HTabs extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this._handleArrowNavigation = ({ key }) => {
|
|
19
|
+
const currentTabIndex = this._getFocusedTabIndex();
|
|
20
|
+
if (currentTabIndex === undefined)
|
|
21
|
+
return;
|
|
22
|
+
const newTabIndex = key === 'ArrowLeft' ? this._getPrevTabIndex(currentTabIndex) : this._getNextTabIndex(currentTabIndex);
|
|
23
|
+
if (newTabIndex === undefined)
|
|
24
|
+
return;
|
|
25
|
+
utilities.UiDomUtils.makeUnnavigable(this._$tabs[currentTabIndex]);
|
|
26
|
+
utilities.UiDomUtils.makeNavigable(this._$tabs[newTabIndex]);
|
|
27
|
+
this._$tabs[newTabIndex].focus();
|
|
28
|
+
};
|
|
29
|
+
this._handleTabSelected = (event) => {
|
|
30
|
+
const $newlySelectedTab = event.detail.$el;
|
|
31
|
+
this.switchPanel($newlySelectedTab.panelName);
|
|
32
|
+
if (this._$selectedTab)
|
|
33
|
+
this._$selectedTab.selected = false;
|
|
34
|
+
$newlySelectedTab.selected = true;
|
|
35
|
+
this._dispatchChangedEvent(this._$selectedTab, $newlySelectedTab);
|
|
36
|
+
this._$selectedTab = $newlySelectedTab;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
connectedCallback() {
|
|
40
|
+
super.connectedCallback();
|
|
41
|
+
this._setupEvents();
|
|
42
|
+
this.setAttribute('role', 'tablist');
|
|
43
|
+
this._$tabs = [...this.querySelectorAll('h-tab')];
|
|
44
|
+
new keystrokes_controller.KeystrokesController({
|
|
45
|
+
host: this,
|
|
46
|
+
keys: ['ArrowRight', 'ArrowLeft'],
|
|
47
|
+
callback: this._handleArrowNavigation
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
_getFocusedTabIndex() {
|
|
51
|
+
const focusedElement = document.activeElement;
|
|
52
|
+
if ((focusedElement === null || focusedElement === void 0 ? void 0 : focusedElement.tagName) !== 'H-TAB')
|
|
53
|
+
return;
|
|
54
|
+
return this._$tabs.findIndex(($tab) => $tab === focusedElement);
|
|
55
|
+
}
|
|
56
|
+
_getNextTabIndex(currentTabIndex) {
|
|
57
|
+
if (currentTabIndex >= this._$tabs.length - 1)
|
|
58
|
+
return;
|
|
59
|
+
return currentTabIndex + 1;
|
|
60
|
+
}
|
|
61
|
+
_getPrevTabIndex(currentTabIndex) {
|
|
62
|
+
if (currentTabIndex <= 0)
|
|
63
|
+
return;
|
|
64
|
+
return currentTabIndex - 1;
|
|
65
|
+
}
|
|
66
|
+
_setupEvents() {
|
|
67
|
+
this.addEventListener(tab_constants.TAB_EVENT_NAMES.selected, this._handleTabSelected);
|
|
68
|
+
}
|
|
69
|
+
allChildrenRendered() {
|
|
70
|
+
const $selectedTab = this.querySelector('h-tab[selected]');
|
|
71
|
+
this._hideNotSelectedAndVisiblePanels();
|
|
72
|
+
if (!$selectedTab)
|
|
73
|
+
return;
|
|
74
|
+
this._$selectedTab = $selectedTab;
|
|
75
|
+
this.switchPanel(this._$selectedTab.panelName);
|
|
76
|
+
}
|
|
77
|
+
_hideNotSelectedAndVisiblePanels() {
|
|
78
|
+
const $notSelectedTabs = [...this.querySelectorAll('h-tab:not([selected])')];
|
|
79
|
+
$notSelectedTabs
|
|
80
|
+
.map(($tab) => $tab.panelName)
|
|
81
|
+
.forEach((panelName) => document.querySelectorAll(`[name="${panelName}"]`).forEach(($panel) => $panel.hide()));
|
|
82
|
+
}
|
|
83
|
+
switchPanel(newPanelName) {
|
|
84
|
+
const $currentPanel = this._$selectedTab && document.querySelectorAll(`[name="${this._$selectedTab.panelName}"]`);
|
|
85
|
+
const $newPanel = document.querySelectorAll(`[name="${newPanelName}"]`);
|
|
86
|
+
if ($currentPanel)
|
|
87
|
+
$currentPanel.forEach(($panel) => $panel.hide());
|
|
88
|
+
if ($newPanel)
|
|
89
|
+
$newPanel.forEach(($panel) => $panel.show());
|
|
90
|
+
}
|
|
91
|
+
_dispatchChangedEvent($previousTab, $newTab) {
|
|
92
|
+
this.dispatchEvent(new CustomEvent(tabs_constants.TABS_EVENT_NAMES.changed, {
|
|
93
|
+
detail: {
|
|
94
|
+
$previousTab,
|
|
95
|
+
$newTab
|
|
96
|
+
},
|
|
97
|
+
bubbles: true
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
tslib_es6.__decorate([
|
|
102
|
+
decorators.state(),
|
|
103
|
+
tslib_es6.__metadata("design:type", tab.HTab)
|
|
104
|
+
], exports.HTabs.prototype, "_$selectedTab", void 0);
|
|
105
|
+
exports.HTabs = tslib_es6.__decorate([
|
|
106
|
+
phoenix_custom_element.phoenixCustomElement('h-tabs')
|
|
107
|
+
], exports.HTabs);
|
|
108
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +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 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;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;"}
|
package/build/cjs/packages/phoenix/src/controllers/visibility_controller/visibility_controller.js
CHANGED
|
@@ -20,7 +20,7 @@ class VisibilityController {
|
|
|
20
20
|
tslib_es6.__classPrivateFieldGet(this, _VisibilityController_host, "f").addEventListener('resize', this._handleResize);
|
|
21
21
|
}
|
|
22
22
|
_setVisibilityValue() {
|
|
23
|
-
const isVisible = this._isVisibleBasedOnCssStyle();
|
|
23
|
+
const isVisible = this._isVisibleBasedOnCssStyle() && !tslib_es6.__classPrivateFieldGet(this, _VisibilityController_host, "f").getAttribute('hidden');
|
|
24
24
|
isVisible ? this.show() : this.hide();
|
|
25
25
|
}
|
|
26
26
|
_isVisibleBasedOnCssStyle() {
|
package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js
CHANGED
|
@@ -13,41 +13,71 @@ class PhoenixLightLitElement extends lit.LitElement {
|
|
|
13
13
|
super(...arguments);
|
|
14
14
|
this._slots = {};
|
|
15
15
|
this.isWebComponentConnected = false;
|
|
16
|
+
this.isWebComponentRendered = false;
|
|
17
|
+
this._childrenForConnectionToWatch = [];
|
|
18
|
+
this._childrenForRenderToWatch = [];
|
|
16
19
|
this._handleComponentConnected = ({ detail }) => {
|
|
17
20
|
const connectedElement = detail.$el.tagName.toLowerCase();
|
|
18
|
-
if (this.
|
|
19
|
-
const elToRemoveIndex = this.
|
|
20
|
-
this.
|
|
21
|
+
if (this._childrenForConnectionToWatch.includes(connectedElement)) {
|
|
22
|
+
const elToRemoveIndex = this._childrenForConnectionToWatch.findIndex((tagName) => tagName === connectedElement);
|
|
23
|
+
this._childrenForConnectionToWatch.splice(elToRemoveIndex, elToRemoveIndex + 1);
|
|
21
24
|
}
|
|
22
|
-
if (!this.
|
|
25
|
+
if (!this._childrenForConnectionToWatch.length) {
|
|
23
26
|
this.allChildrenConnected();
|
|
24
27
|
this.removeEventListener(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected, this._handleComponentConnected);
|
|
25
28
|
}
|
|
26
29
|
};
|
|
30
|
+
this._handleComponentRendered = ({ detail }) => {
|
|
31
|
+
const renderedElement = detail.$el.tagName.toLowerCase();
|
|
32
|
+
if (this._childrenForRenderToWatch.includes(renderedElement)) {
|
|
33
|
+
const elToRemoveIndex = this._childrenForRenderToWatch.findIndex((tagName) => tagName === renderedElement);
|
|
34
|
+
this._childrenForRenderToWatch.splice(elToRemoveIndex, elToRemoveIndex + 1);
|
|
35
|
+
}
|
|
36
|
+
if (!this._childrenForRenderToWatch.length) {
|
|
37
|
+
this.allChildrenRendered();
|
|
38
|
+
this.removeEventListener(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.rendered, this._handleComponentConnected);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
this._dispatchLifecycleEvent = (eventName) => {
|
|
42
|
+
this.dispatchEvent(new CustomEvent(eventName, {
|
|
43
|
+
detail: {
|
|
44
|
+
$el: this
|
|
45
|
+
},
|
|
46
|
+
bubbles: true
|
|
47
|
+
}));
|
|
48
|
+
};
|
|
27
49
|
}
|
|
28
50
|
firstUpdated(props) {
|
|
29
51
|
super.firstUpdated(props);
|
|
30
52
|
this._slots = this._assignSlots();
|
|
31
53
|
this.requestUpdate();
|
|
54
|
+
this._dispatchLifecycleEvent(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.rendered);
|
|
55
|
+
this.isWebComponentRendered = true;
|
|
32
56
|
}
|
|
33
57
|
_setupChildrenWatch() {
|
|
34
|
-
this.
|
|
58
|
+
this._childrenForConnectionToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesForConnectionToWatch();
|
|
59
|
+
this._childrenForRenderToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesForRenderedToWatch();
|
|
60
|
+
if (!this._childrenForConnectionToWatch.length)
|
|
61
|
+
this.allChildrenConnected();
|
|
62
|
+
if (!this._childrenForRenderToWatch.length)
|
|
63
|
+
this.allChildrenRendered();
|
|
35
64
|
this.addEventListener(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected, this._handleComponentConnected);
|
|
65
|
+
this.addEventListener(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.rendered, this._handleComponentRendered);
|
|
36
66
|
}
|
|
37
|
-
|
|
67
|
+
_getComponentsNamesForConnectionToWatch() {
|
|
38
68
|
return phoenix_light_lit_element_utils.PhoenixLightLitElementUtils.getComponentsForWhichToWaitForConnection([...this.querySelectorAll('*')]).map(($element) => $element.tagName.toLowerCase());
|
|
39
69
|
}
|
|
70
|
+
_getComponentsNamesForRenderedToWatch() {
|
|
71
|
+
return phoenix_light_lit_element_utils.PhoenixLightLitElementUtils.getComponentsForWhichToWaitForRender([...this.querySelectorAll('*')]).map(($element) => $element.tagName.toLowerCase());
|
|
72
|
+
}
|
|
40
73
|
connectedCallback() {
|
|
41
74
|
super.connectedCallback();
|
|
42
|
-
this.
|
|
43
|
-
|
|
44
|
-
$el: this
|
|
45
|
-
},
|
|
46
|
-
bubbles: true
|
|
47
|
-
}));
|
|
75
|
+
this._dispatchLifecycleEvent(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected);
|
|
76
|
+
this.isWebComponentConnected = true;
|
|
48
77
|
this._setupChildrenWatch();
|
|
49
78
|
}
|
|
50
79
|
allChildrenConnected() { }
|
|
80
|
+
allChildrenRendered() { }
|
|
51
81
|
_assignSlots() {
|
|
52
82
|
return [...this.querySelectorAll(':scope > [slot]')].reduce((acc, $el) => {
|
|
53
83
|
var _a;
|
|
@@ -80,7 +110,11 @@ tslib_es6.__decorate([
|
|
|
80
110
|
tslib_es6.__decorate([
|
|
81
111
|
decorators.property({ type: Boolean }),
|
|
82
112
|
tslib_es6.__metadata("design:type", Object)
|
|
83
|
-
], PhoenixLightLitElement.prototype, "isWebComponentConnected", void 0);
|
|
113
|
+
], PhoenixLightLitElement.prototype, "isWebComponentConnected", void 0);
|
|
114
|
+
tslib_es6.__decorate([
|
|
115
|
+
decorators.property({ type: Boolean }),
|
|
116
|
+
tslib_es6.__metadata("design:type", Object)
|
|
117
|
+
], PhoenixLightLitElement.prototype, "isWebComponentRendered", void 0);
|
|
84
118
|
|
|
85
119
|
exports.PhoenixLightLitElement = PhoenixLightLitElement;
|
|
86
120
|
//# sourceMappingURL=phoenix_light_lit_element.js.map
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -2,15 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var utilities = require('@dreamcommerce/utilities');
|
|
6
6
|
|
|
7
7
|
class PhoenixLightLitElementUtils {
|
|
8
8
|
static getComponentsForWhichToWaitForConnection(components) {
|
|
9
|
-
return components.filter(($element) => (
|
|
10
|
-
(
|
|
11
|
-
|
|
9
|
+
return components.filter(($element) => (utilities.WebComponentsUtils.isWebComponent($element) && !utilities.WebComponentsUtils.isWebComponentDefined($element)) ||
|
|
10
|
+
(utilities.WebComponentsUtils.isWebComponent($element) &&
|
|
11
|
+
utilities.WebComponentsUtils.isWebComponentDefined($element) &&
|
|
12
12
|
!$element.isWebComponentConnected));
|
|
13
13
|
}
|
|
14
|
+
static getComponentsForWhichToWaitForRender(components) {
|
|
15
|
+
return components.filter(($element) => (utilities.WebComponentsUtils.isWebComponent($element) && !utilities.WebComponentsUtils.isWebComponentDefined($element)) ||
|
|
16
|
+
(utilities.WebComponentsUtils.isWebComponent($element) &&
|
|
17
|
+
utilities.WebComponentsUtils.isWebComponentDefined($element) &&
|
|
18
|
+
!$element.isWebComponentRendered));
|
|
19
|
+
}
|
|
14
20
|
}
|
|
15
21
|
|
|
16
22
|
exports.PhoenixLightLitElementUtils = PhoenixLightLitElementUtils;
|
|
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const DEFAULT_SLOT_NAME = 'default';
|
|
6
|
+
const eventPrefix = 'PhoenixLightLitElement';
|
|
6
7
|
const PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES = {
|
|
7
|
-
connected:
|
|
8
|
+
connected: `${eventPrefix}.connected`,
|
|
9
|
+
rendered: `${eventPrefix}.rendered`
|
|
8
10
|
};
|
|
9
11
|
|
|
10
12
|
exports.DEFAULT_SLOT_NAME = DEFAULT_SLOT_NAME;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;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;"}
|