@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.
Files changed (69) hide show
  1. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +23 -32
  2. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  3. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js +4 -1
  4. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js +1 -1
  6. package/build/cjs/packages/phoenix/src/components/slider/slider.js +2 -2
  7. package/build/cjs/packages/phoenix/src/components/tabs/tab/tab.js +74 -0
  8. package/build/cjs/packages/phoenix/src/components/tabs/tab/tab.js.map +1 -0
  9. package/build/cjs/packages/phoenix/src/components/tabs/tab/tab_constants.js +12 -0
  10. 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
  11. package/build/cjs/packages/phoenix/src/components/tabs/tab_panel.js +31 -0
  12. package/build/cjs/packages/phoenix/src/components/tabs/tab_panel.js.map +1 -0
  13. package/build/cjs/packages/phoenix/src/components/tabs/tabs.js +108 -0
  14. package/build/cjs/packages/phoenix/src/components/tabs/tabs.js.map +1 -0
  15. package/build/cjs/packages/phoenix/src/components/tabs/tabs_constants.js +10 -0
  16. package/build/cjs/packages/{utilities/build/esm/web_components_utils.js.map → phoenix/src/components/tabs/tabs_constants.js.map} +1 -1
  17. package/build/cjs/packages/phoenix/src/controllers/visibility_controller/visibility_controller.js +1 -1
  18. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +47 -13
  19. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
  20. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element_utils.js +10 -4
  21. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element_utils.js.map +1 -1
  22. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_elements_constants.js +3 -1
  23. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_elements_constants.js.map +1 -1
  24. package/build/cjs/packages/phoenix/src/index.js +23 -0
  25. package/build/cjs/packages/phoenix/src/index.js.map +1 -1
  26. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +0 -5
  27. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +23 -32
  28. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  29. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js +4 -1
  30. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
  31. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js +1 -1
  32. package/build/esm/packages/phoenix/src/components/slider/slider.js +1 -1
  33. package/build/esm/packages/phoenix/src/components/tabs/tab/tab.d.ts +14 -0
  34. package/build/esm/packages/phoenix/src/components/tabs/tab/tab.js +72 -0
  35. package/build/esm/packages/phoenix/src/components/tabs/tab/tab.js.map +1 -0
  36. package/build/esm/packages/phoenix/src/components/tabs/tab/tab_constants.d.ts +4 -0
  37. package/build/esm/packages/phoenix/src/components/tabs/tab/tab_constants.js +7 -0
  38. package/build/esm/packages/phoenix/src/components/tabs/tab/tab_constants.js.map +1 -0
  39. package/build/esm/packages/phoenix/src/components/tabs/tab_panel.d.ts +8 -0
  40. package/build/esm/packages/phoenix/src/components/tabs/tab_panel.js +29 -0
  41. package/build/{cjs/packages/utilities/build/esm/json_utils.js.map → esm/packages/phoenix/src/components/tabs/tab_panel.js.map} +1 -1
  42. package/build/esm/packages/phoenix/src/components/tabs/tabs.d.ts +16 -0
  43. package/build/esm/packages/phoenix/src/components/tabs/tabs.js +106 -0
  44. package/build/esm/packages/phoenix/src/components/tabs/tabs.js.map +1 -0
  45. package/build/esm/packages/phoenix/src/components/tabs/tabs_constants.d.ts +3 -0
  46. package/build/esm/packages/phoenix/src/components/tabs/tabs_constants.js +6 -0
  47. package/build/esm/packages/phoenix/src/components/tabs/tabs_constants.js.map +1 -0
  48. package/build/esm/packages/phoenix/src/components/tabs/tabs_types.d.ts +4 -0
  49. package/build/esm/packages/phoenix/src/components/tabs/tabs_types.js +2 -0
  50. package/build/esm/packages/phoenix/src/components/tabs/tabs_types.js.map +1 -0
  51. package/build/esm/packages/phoenix/src/controllers/visibility_controller/visibility_controller.js +1 -1
  52. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.d.ts +8 -1
  53. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +47 -13
  54. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
  55. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element_utils.d.ts +1 -0
  56. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element_utils.js +7 -1
  57. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element_utils.js.map +1 -1
  58. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_elements_constants.d.ts +2 -1
  59. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_elements_constants.js +3 -1
  60. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_elements_constants.js.map +1 -1
  61. package/build/esm/packages/phoenix/src/index.d.ts +4 -0
  62. package/build/esm/packages/phoenix/src/index.js +4 -0
  63. package/build/esm/packages/phoenix/src/index.js.map +1 -1
  64. package/package.json +1 -1
  65. package/build/cjs/packages/utilities/build/esm/json_utils.js +0 -25
  66. package/build/cjs/packages/utilities/build/esm/web_components_utils.js +0 -18
  67. package/build/esm/packages/utilities/build/esm/json_utils.js +0 -21
  68. package/build/esm/packages/utilities/build/esm/json_utils.js.map +0 -1
  69. 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
- (_b = this._firstFocusableElement) === null || _b === void 0 ? void 0 : _b.focus();
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
- if (ev.shiftKey) {
142
- if (document.activeElement === this._firstFocusableElement) {
143
- (_a = this._lastFocusableElement) === null || _a === void 0 ? void 0 : _a.focus();
144
- ev.preventDefault();
145
- }
146
- }
147
- else if (document.activeElement === this._lastFocusableElement) {
148
- ev.preventDefault();
149
- this._focusOnNextSibling(this);
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
- this._focusOnNextSibling(el.nextElementSibling);
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;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;"}
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 ` <div role="dialog">${this.getSlot('content')}</div> `;
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 Event(dropdown_constants.DROPDOWN_EVENTS.toggle, {
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 json_utils = require('../../../../utilities/build/esm/json_utils.js');
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 = json_utils.JsonUtils.fromJson(this.settings)) !== null && _a !== void 0 ? _a : this._settings;
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;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;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const TABS_EVENT_NAMES = {
6
+ changed: 'changed'
7
+ };
8
+
9
+ exports.TABS_EVENT_NAMES = TABS_EVENT_NAMES;
10
+ //# sourceMappingURL=tabs_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;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;"}
@@ -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() {
@@ -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.childrenToWatch.includes(connectedElement)) {
19
- const elToRemoveIndex = this.childrenToWatch.findIndex((tagName) => tagName === connectedElement);
20
- this.childrenToWatch.splice(elToRemoveIndex, elToRemoveIndex + 1);
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.childrenToWatch.length) {
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.childrenToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesToWatch();
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
- _getComponentsNamesToWatch() {
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.dispatchEvent(new CustomEvent(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected, {
43
- detail: {
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 web_components_utils = require('../../../../utilities/build/esm/web_components_utils.js');
5
+ var utilities = require('@dreamcommerce/utilities');
6
6
 
7
7
  class PhoenixLightLitElementUtils {
8
8
  static getComponentsForWhichToWaitForConnection(components) {
9
- return components.filter(($element) => (web_components_utils.WebComponentsUtils.isWebComponent($element) && !web_components_utils.WebComponentsUtils.isWebComponentDefined($element)) ||
10
- (web_components_utils.WebComponentsUtils.isWebComponent($element) &&
11
- web_components_utils.WebComponentsUtils.isWebComponentDefined($element) &&
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: '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;"}