@shoper/phoenix_design_system 1.2.3-1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/build/cjs/external/lit/external/lit-html/directives/template-content.js +15 -0
  2. package/build/cjs/{packages/phoenix/src/components/form/file_picker/file/file_model.js.map → external/lit/external/lit-html/directives/template-content.js.map} +1 -1
  3. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +4 -18
  4. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js +4 -3
  6. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
  7. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js +5 -6
  8. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
  9. package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js +1 -1
  10. package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +13 -13
  11. package/build/cjs/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +6 -6
  12. package/build/cjs/packages/phoenix/src/components/form/select/controllers/select_controller.js +2 -2
  13. package/build/cjs/packages/phoenix/src/components/form/select/select.js +87 -25
  14. package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
  15. package/build/cjs/packages/phoenix/src/components/form/select/select_constants.js +5 -0
  16. package/build/cjs/packages/phoenix/src/components/form/select/select_constants.js.map +1 -1
  17. package/build/cjs/packages/phoenix/src/components/form/select/select_utils.js +6 -0
  18. package/build/cjs/packages/phoenix/src/components/form/select/select_utils.js.map +1 -1
  19. package/build/cjs/packages/phoenix/src/components/modal/modal.js +1 -1
  20. package/build/cjs/packages/phoenix/src/components/toggle/toggle.js +43 -0
  21. package/build/cjs/packages/phoenix/src/components/toggle/toggle.js.map +1 -0
  22. package/build/cjs/packages/phoenix/src/components/toggle/toggle_button.js +57 -0
  23. package/build/{esm/packages/phoenix/src/components/form/file_picker/file_picker_label.js.map → cjs/packages/phoenix/src/components/toggle/toggle_button.js.map} +1 -1
  24. package/build/cjs/packages/phoenix/src/components/toggle/toggle_constants.js +15 -0
  25. package/build/{esm/packages/phoenix/src/components/form/file_picker/file_picker_constants.js.map → cjs/packages/phoenix/src/components/toggle/toggle_constants.js.map} +1 -1
  26. package/build/cjs/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js +6 -2
  27. package/build/cjs/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js.map +1 -1
  28. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +16 -3
  29. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
  30. package/build/cjs/packages/phoenix/src/index.js +18 -21
  31. package/build/cjs/packages/phoenix/src/index.js.map +1 -1
  32. package/build/esm/external/lit/external/lit-html/directives/template-content.js +11 -0
  33. package/build/esm/{packages/phoenix/src/components/form/file_picker/file/file_model.js.map → external/lit/external/lit-html/directives/template-content.js.map} +1 -1
  34. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +0 -2
  35. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +4 -18
  36. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  37. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.d.ts +1 -0
  38. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js +4 -3
  39. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
  40. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.d.ts +2 -1
  41. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js +5 -6
  42. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
  43. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js +1 -1
  44. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.d.ts +10 -10
  45. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +13 -13
  46. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.d.ts +3 -3
  47. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +6 -6
  48. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controller.d.ts +1 -1
  49. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controller.js +2 -2
  50. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controllers_types.d.ts +9 -9
  51. package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +16 -3
  52. package/build/esm/packages/phoenix/src/components/form/select/select.js +88 -26
  53. package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
  54. package/build/esm/packages/phoenix/src/components/form/select/select_constants.d.ts +4 -0
  55. package/build/esm/packages/phoenix/src/components/form/select/select_constants.js +5 -1
  56. package/build/esm/packages/phoenix/src/components/form/select/select_constants.js.map +1 -1
  57. package/build/esm/packages/phoenix/src/components/form/select/select_types.d.ts +2 -0
  58. package/build/esm/packages/phoenix/src/components/form/select/select_types.js +2 -0
  59. package/build/esm/packages/phoenix/src/components/form/select/select_types.js.map +1 -0
  60. package/build/esm/packages/phoenix/src/components/form/select/select_utils.d.ts +2 -0
  61. package/build/esm/packages/phoenix/src/components/form/select/select_utils.js +6 -0
  62. package/build/esm/packages/phoenix/src/components/form/select/select_utils.js.map +1 -1
  63. package/build/esm/packages/phoenix/src/components/modal/modal.js +1 -1
  64. package/build/esm/packages/phoenix/src/components/toggle/toggle.d.ts +11 -0
  65. package/build/esm/packages/phoenix/src/components/toggle/toggle.js +41 -0
  66. package/build/esm/packages/phoenix/src/components/toggle/toggle.js.map +1 -0
  67. package/build/esm/packages/phoenix/src/components/toggle/toggle_button.d.ts +14 -0
  68. package/build/esm/packages/phoenix/src/components/toggle/toggle_button.js +55 -0
  69. package/build/esm/packages/phoenix/src/components/{form/file_picker/file/file.js.map → toggle/toggle_button.js.map} +1 -1
  70. package/build/esm/packages/phoenix/src/components/toggle/toggle_constants.d.ts +6 -0
  71. package/build/esm/packages/phoenix/src/components/toggle/toggle_constants.js +9 -0
  72. package/build/esm/packages/phoenix/src/components/toggle/toggle_constants.js.map +1 -0
  73. package/build/esm/packages/phoenix/src/components/toggle/toggle_types.d.ts +3 -0
  74. package/build/esm/packages/phoenix/src/components/toggle/toggle_types.js +2 -0
  75. package/build/esm/packages/phoenix/src/components/toggle/toggle_types.js.map +1 -0
  76. package/build/esm/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js +6 -2
  77. package/build/esm/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js.map +1 -1
  78. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.d.ts +1 -0
  79. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +16 -3
  80. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
  81. package/build/esm/packages/phoenix/src/index.d.ts +4 -3
  82. package/build/esm/packages/phoenix/src/index.js +3 -3
  83. package/package.json +3 -3
  84. package/build/cjs/packages/phoenix/src/components/form/file_picker/file/file.js +0 -67
  85. package/build/cjs/packages/phoenix/src/components/form/file_picker/file/file.js.map +0 -1
  86. package/build/cjs/packages/phoenix/src/components/form/file_picker/file/file_model.js +0 -18
  87. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker.js +0 -172
  88. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker.js.map +0 -1
  89. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker_constants.js +0 -37
  90. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker_constants.js.map +0 -1
  91. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker_label.js +0 -59
  92. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker_label.js.map +0 -1
  93. package/build/esm/packages/phoenix/src/components/form/file_picker/file/file.d.ts +0 -12
  94. package/build/esm/packages/phoenix/src/components/form/file_picker/file/file.js +0 -65
  95. package/build/esm/packages/phoenix/src/components/form/file_picker/file/file_model.d.ts +0 -9
  96. package/build/esm/packages/phoenix/src/components/form/file_picker/file/file_model.js +0 -14
  97. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker.d.ts +0 -30
  98. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker.js +0 -170
  99. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker.js.map +0 -1
  100. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_constants.d.ts +0 -29
  101. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_constants.js +0 -29
  102. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_label.d.ts +0 -13
  103. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_label.js +0 -57
@@ -1,14 +1,25 @@
1
1
  import { PhoenixLightLitElement } from "../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
2
+ import { HOption } from "./components/option/select_option";
2
3
  import { TemplateResult, PropertyValues } from 'lit';
3
4
  import { SelectOption } from "./model/select_option";
5
+ import type { TSelectType } from "./select_types";
4
6
  export declare class HSelect extends PhoenixLightLitElement {
5
7
  private static _components;
6
8
  controlName: string;
7
- multiselect: boolean;
9
+ controlId: string;
10
+ multiple: boolean;
8
11
  opened: boolean;
9
12
  offset: number;
10
13
  error: boolean;
11
14
  disabled: boolean;
15
+ type: TSelectType;
16
+ required: boolean;
17
+ get selectedIndex(): number;
18
+ set selectedIndex(index: number);
19
+ get selectedOptions(): HOption[];
20
+ get name(): string;
21
+ get id(): string;
22
+ get options(): HOption[];
12
23
  private _searchValue;
13
24
  private _selectController;
14
25
  private _$options;
@@ -33,14 +44,16 @@ export declare class HSelect extends PhoenixLightLitElement {
33
44
  private _appendNewHTMLOption;
34
45
  private _removeHTMLOptions;
35
46
  private _handleOptionClicked;
47
+ private _selectOption;
36
48
  private _handleSearch;
37
49
  private _handleDropdownHidden;
38
50
  private _closeSelect;
39
51
  private _clearOptions;
52
+ private _dispatchChangeEvent;
40
53
  protected update(changedProperties: PropertyValues): void;
41
- addOption(option: SelectOption, position?: number): void;
54
+ add(option: SelectOption, position?: number): void;
42
55
  removeOption(optionValue: string): void;
43
- replaceOptions(options: SelectOption[]): void;
56
+ replace(options: SelectOption[]): void;
44
57
  disconnectedCallback(): void;
45
58
  private _handleResize;
46
59
  private _getDropdownContentWidth;
@@ -7,7 +7,7 @@ import { property } from '@lit/reactive-element/decorators.js';
7
7
  import { SELECT_RELATED_COMPONENTS_NAMES, SELECT_INPUT_PLACEHOLDER_SLOT_NAME, SELECT_CLOSE_BTN_EVENT_NAMES, SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME } from './components/select_components_constatns.js';
8
8
  import { Observer } from '../../../core/classes/observer/observer.js';
9
9
  import { HIcon } from '../../icon/icon.js';
10
- import { SELECT_SLOT_NAMES, SELECT_CSS_CLASSES, SELECT_CONTEXTS, SELECT_EVENT_NAMES, MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH, SELECT_RESIZE_DEBOUNCE_TIME } from './select_constants.js';
10
+ import { SELECT_TYPES, SELECT_SLOT_NAMES, SELECT_CSS_CLASSES, SELECT_CONTEXTS, SELECT_EVENT_NAMES, MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH, SELECT_RESIZE_DEBOUNCE_TIME } from './select_constants.js';
11
11
  import { observe } from '../../../directives/observable_directive.js';
12
12
  import { HSelectToggler } from './components/toggler/select_toggler.js';
13
13
  import { ContextProviderController } from '../../../core/context/context_provider_controller.js';
@@ -26,9 +26,10 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
26
26
  constructor() {
27
27
  var _a;
28
28
  super();
29
- this.multiselect = false;
29
+ this.multiple = false;
30
30
  this.opened = false;
31
31
  this.offset = 2;
32
+ this.type = SELECT_TYPES.select;
32
33
  this._searchValue = '';
33
34
  this._$options = {};
34
35
  this._$dropdown = createRef();
@@ -37,14 +38,22 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
37
38
  this._$dropdownContent = createRef();
38
39
  this._selectContext = new ContextProviderController(this);
39
40
  this._setDropdownContentWidth = (width) => {
40
- if (this._$dropdownContent.value)
41
- this._$dropdownContent.value.style.width = `${width !== null && width !== void 0 ? width : ''}px`;
41
+ const $dropdown = this._$dropdownContent.value;
42
+ if (!$dropdown)
43
+ return;
44
+ if (!width) {
45
+ $dropdown.style.removeProperty('width');
46
+ return;
47
+ }
48
+ if (width)
49
+ $dropdown.style.width = `${width !== null && width !== void 0 ? width : ''}px`;
42
50
  };
43
51
  this._handleOptionDeselect = (event) => {
44
- const selectedOption = this._selectController.getSelectOption(event.detail);
52
+ const selectedOption = this._selectController.getOption(event.detail);
45
53
  if (!selectedOption)
46
54
  return;
47
- this._selectController.deselectOption(selectedOption);
55
+ this._selectController.deselect(selectedOption);
56
+ this._dispatchChangeEvent();
48
57
  };
49
58
  this._updateOptionsView = (options) => {
50
59
  if (options.length < Object.keys(this._$options).length)
@@ -59,16 +68,11 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
59
68
  SelectControlUtils.syncHTMLOptionWithModel(option, $option);
60
69
  if (!selected)
61
70
  return;
62
- $option.setAttribute(this.multiselect ? 'aria-checked' : 'aria-selected', 'true');
71
+ $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');
63
72
  });
64
73
  };
65
74
  this._handleOptionClicked = (event) => {
66
- const selectedOption = this._selectController.getSelectOption(event.detail.$option.value);
67
- if (!selectedOption)
68
- return;
69
- this._selectController.toggleOption(selectedOption);
70
- if (!this.multiselect)
71
- this._closeSelect();
75
+ this._selectOption(event.detail.$option.value);
72
76
  };
73
77
  this._handleDropdownHidden = () => {
74
78
  this._searchValue = '';
@@ -81,7 +85,11 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
81
85
  (_a = this._$dropdown.value) === null || _a === void 0 ? void 0 : _a.hide();
82
86
  };
83
87
  this._clearOptions = () => {
84
- this._selectController.deselectOptions();
88
+ this._selectController.deselectAll();
89
+ this._dispatchChangeEvent();
90
+ };
91
+ this._dispatchChangeEvent = () => {
92
+ this.dispatchEvent(new Event('change'));
85
93
  };
86
94
  this._handleResize = debounce_1(() => {
87
95
  this._closeSelect();
@@ -90,6 +98,39 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
90
98
  const $options = Array.from(this.querySelectorAll(SELECT_RELATED_COMPONENTS_NAMES.option));
91
99
  $options.forEach(($option) => $option.setAttribute('slot', SELECT_SLOT_NAMES.content));
92
100
  this.$placeholder = (_a = this.querySelector(`[slot="${SELECT_INPUT_PLACEHOLDER_SLOT_NAME}"]`)) !== null && _a !== void 0 ? _a : 'Select';
101
+ if (this.multiple)
102
+ this.type = SELECT_TYPES.multiple;
103
+ }
104
+ get selectedIndex() {
105
+ const selectedOptions = this._selectController.selectedOptions$.getValue();
106
+ if (!selectedOptions || selectedOptions.length === 0)
107
+ return -1;
108
+ const htmlOptions = Object.values(this._$options);
109
+ return this.multiple
110
+ ? SelectControlUtils.getFirstIndexSelectedOption(htmlOptions)
111
+ : SelectControlUtils.getLastIndexOfSelectedOption(htmlOptions);
112
+ }
113
+ set selectedIndex(index) {
114
+ const option = Object.values(this._$options)[index];
115
+ if (!option) {
116
+ this._selectController.deselectAll();
117
+ return;
118
+ }
119
+ this._selectOption(option.value);
120
+ }
121
+ get selectedOptions() {
122
+ var _a;
123
+ const selectedOptions = (_a = this._selectController.selectedOptions$.getValue()) !== null && _a !== void 0 ? _a : [];
124
+ return selectedOptions.filter((option) => option.selected).map((option) => this._$options[option.value]);
125
+ }
126
+ get name() {
127
+ return this.controlName;
128
+ }
129
+ get id() {
130
+ return this.controlId;
131
+ }
132
+ get options() {
133
+ return Object.values(this._$options);
93
134
  }
94
135
  updated(changedProperties) {
95
136
  super.updated(changedProperties);
@@ -116,9 +157,9 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
116
157
  connectedCallback() {
117
158
  super.connectedCallback();
118
159
  this.classList.add(SELECT_CSS_CLASSES.select);
119
- this._selectController = this.multiselect ? new MultiSelectController({ host: this }) : new SelectController({ host: this });
160
+ this._selectController = this.multiple ? new MultiSelectController({ host: this }) : new SelectController({ host: this });
120
161
  this._selectContext.provide(SELECT_CONTEXTS.selectedOptions$, this._selectController.selectedOptions$);
121
- this._selectContext.provide(SELECT_CONTEXTS.isMultiselect, this.multiselect);
162
+ this._selectContext.provide(SELECT_CONTEXTS.isMultiselect, this.multiple);
122
163
  const $options = Array.from(this.querySelectorAll(SELECT_RELATED_COMPONENTS_NAMES.option));
123
164
  this._optionsObserver = new Observer((selectedOptions) => this._updateOptionsView(selectedOptions));
124
165
  this._selectController.options$.subscribe(this._optionsObserver);
@@ -162,29 +203,38 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
162
203
  const { value, selected } = option;
163
204
  const $option = SelectControlUtils.createHTMLOption(option);
164
205
  if (selected)
165
- $option.setAttribute(this.multiselect ? 'aria-checked' : 'aria-selected', 'true');
206
+ $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');
166
207
  this._$options[value] = $option;
167
208
  SelectControlUtils.appendHTMLOption($option, $list, position);
168
209
  }
169
210
  _removeHTMLOptions(optionsValues) {
170
211
  this._$options = SelectControlUtils.removeHTMLOptions(Object.values(this._$options), optionsValues);
171
212
  }
213
+ _selectOption(value) {
214
+ const option = this._selectController.getOption(value);
215
+ if (!option)
216
+ return;
217
+ this._selectController.toggle(option);
218
+ if (!this.multiple)
219
+ this._closeSelect();
220
+ this._dispatchChangeEvent();
221
+ }
172
222
  _handleSearch({ detail }) {
173
223
  this._searchValue = detail;
174
224
  }
175
225
  update(changedProperties) {
176
226
  super.update(changedProperties);
177
227
  if (changedProperties.has('_searchValue'))
178
- this._selectController.filterOptions(this._searchValue);
228
+ this._selectController.filter(this._searchValue);
179
229
  }
180
- addOption(option, position) {
181
- this._selectController.addOption(option, position);
230
+ add(option, position) {
231
+ this._selectController.add(option, position);
182
232
  }
183
233
  removeOption(optionValue) {
184
- this._selectController.removeOption(optionValue);
234
+ this._selectController.remove(optionValue);
185
235
  }
186
- replaceOptions(options) {
187
- this._selectController.replaceOptions(options);
236
+ replace(options) {
237
+ this._selectController.replace(options);
188
238
  }
189
239
  disconnectedCallback() {
190
240
  super.disconnectedCallback();
@@ -253,7 +303,7 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
253
303
  </p>
254
304
  </div>`
255
305
  : nothing}
256
- ${this.multiselect && this._selectController.selectedOptionsCount >= 1
306
+ ${this.multiple && this._selectController.selectedOptionsCount >= 1
257
307
  ? html `
258
308
  <section class=${SELECT_CSS_CLASSES.selectFooter}>
259
309
  <button class="${SELECT_CSS_CLASSES.selectClearButton}" @click=${this._clearOptions}>clear</button>
@@ -277,13 +327,17 @@ HSelect._components = {
277
327
  toggler: HSelectToggler
278
328
  };
279
329
  __decorate([
280
- property({ type: String }),
330
+ property({ type: String, attribute: 'control-name' }),
281
331
  __metadata("design:type", String)
282
332
  ], HSelect.prototype, "controlName", void 0);
333
+ __decorate([
334
+ property({ type: String, attribute: 'control-id' }),
335
+ __metadata("design:type", String)
336
+ ], HSelect.prototype, "controlId", void 0);
283
337
  __decorate([
284
338
  property({ type: Boolean }),
285
339
  __metadata("design:type", Boolean)
286
- ], HSelect.prototype, "multiselect", void 0);
340
+ ], HSelect.prototype, "multiple", void 0);
287
341
  __decorate([
288
342
  property({ type: Boolean }),
289
343
  __metadata("design:type", Boolean)
@@ -300,6 +354,14 @@ __decorate([
300
354
  property({ type: Boolean }),
301
355
  __metadata("design:type", Boolean)
302
356
  ], HSelect.prototype, "disabled", void 0);
357
+ __decorate([
358
+ property({ type: String }),
359
+ __metadata("design:type", String)
360
+ ], HSelect.prototype, "type", void 0);
361
+ __decorate([
362
+ property({ type: Boolean }),
363
+ __metadata("design:type", Boolean)
364
+ ], HSelect.prototype, "required", void 0);
303
365
  __decorate([
304
366
  state(),
305
367
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+CAAmD;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+CAAmD;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -6,6 +6,10 @@ export declare const SELECT_SLOT_NAMES: {
6
6
  readonly content: "content";
7
7
  readonly toggler: "toggler";
8
8
  };
9
+ export declare const SELECT_TYPES: {
10
+ readonly select: "select-one";
11
+ readonly multiple: "select-multiple";
12
+ };
9
13
  export declare const SELECT_EVENT_NAMES: {
10
14
  readonly selectOption: "selectOption.select";
11
15
  readonly deselectOption: "selectOption.deselect";
@@ -6,6 +6,10 @@ const SELECT_SLOT_NAMES = {
6
6
  content: 'content',
7
7
  toggler: 'toggler'
8
8
  };
9
+ const SELECT_TYPES = {
10
+ select: 'select-one',
11
+ multiple: 'select-multiple'
12
+ };
9
13
  const SELECT_EVENT_NAMES = {
10
14
  selectOption: 'selectOption.select',
11
15
  deselectOption: 'selectOption.deselect'
@@ -32,5 +36,5 @@ const SELECT_CSS_CLASSES = {
32
36
  selectLabel: `${baseSelectClass}__label`
33
37
  };
34
38
 
35
- export { MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH, SELECT_CONTEXTS, SELECT_CSS_CLASSES, SELECT_EVENT_NAMES, SELECT_RESIZE_DEBOUNCE_TIME, SELECT_SLOT_NAMES };
39
+ export { MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH, SELECT_CONTEXTS, SELECT_CSS_CLASSES, SELECT_EVENT_NAMES, SELECT_RESIZE_DEBOUNCE_TIME, SELECT_SLOT_NAMES, SELECT_TYPES };
36
40
  //# sourceMappingURL=select_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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,2 @@
1
+ import { SELECT_TYPES } from "./select_constants";
2
+ export declare type TSelectType = typeof SELECT_TYPES[keyof typeof SELECT_TYPES];
@@ -0,0 +1,2 @@
1
+ import '@phoenixRoot/components/form/select/select_constants';
2
+ //# sourceMappingURL=select_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select_types.js","sourceRoot":"","sources":["../../../../../../../../src/components/form/select/select_types.ts"],"names":[],"mappings":"AAAA,OAA6B,sDAAsD,CAAC"}
@@ -6,4 +6,6 @@ export declare class SelectControlUtils {
6
6
  static syncHTMLOptionWithModel(option: SelectOption, $option: HOption): void;
7
7
  static removeHTMLOptions($options: HOption[], optionsValuesThatExists: string[]): Record<string, HOption>;
8
8
  static appendHTMLOption($option: HOption, $list: HOptions, position?: number): void;
9
+ static getFirstIndexSelectedOption(options: HOption[]): number;
10
+ static getLastIndexOfSelectedOption(options: HOption[]): number;
9
11
  }
@@ -42,6 +42,12 @@ class SelectControlUtils {
42
42
  }
43
43
  $list.append($option);
44
44
  }
45
+ static getFirstIndexSelectedOption(options) {
46
+ return options.findIndex((option) => option.selected);
47
+ }
48
+ static getLastIndexOfSelectedOption(options) {
49
+ return [...options].reverse().findIndex((option) => option.selected);
50
+ }
45
51
  }
46
52
 
47
53
  export { SelectControlUtils };
@@ -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;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;AACA;AACA;AACA;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,11 +2,11 @@ import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.
2
2
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
3
3
  import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
4
4
  import { property, state } from '@lit/reactive-element/decorators.js';
5
+ import '@lit/reactive-element';
5
6
  import { html } from 'lit-html';
6
7
  import { createRef, ref } from 'lit-html/directives/ref.js';
7
8
  import { PORTAL_TARGET_NAME_PROP } from '../portal/portal_constants.js';
8
9
  import { BackdropController } from '../backdrop/controller/backdrop_controller.js';
9
- import '@lit/reactive-element';
10
10
  import { MODAL_OPENED_PROP, FOCUSABLE_ELEMENTS_WITHIN_MODAL, MODALS_PORTAL_NAME, MODAL_EVENTS } from './modal_constants.js';
11
11
 
12
12
  var HModal_1;
@@ -0,0 +1,11 @@
1
+ import { IToggle } from './toggle_types';
2
+ import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
3
+ export declare class HToggle extends PhoenixLightLitElement implements IToggle {
4
+ opened: boolean;
5
+ private _toggleContext;
6
+ private _reactiveOpened;
7
+ private _$content;
8
+ connectedCallback(): void;
9
+ toggle(): void;
10
+ render(): import("lit-html").TemplateResult<1>;
11
+ }
@@ -0,0 +1,41 @@
1
+ import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
+ import { html, nothing } from 'lit';
3
+ import { property } from 'lit/decorators';
4
+ import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
5
+ import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
6
+ import { BehaviorSubject } from '../../core/classes/behavior_subject/behavior_subject.js';
7
+ import { ContextProviderController } from '../../core/context/context_provider_controller.js';
8
+ import { templateContent as o } from '../../../../../external/lit/external/lit-html/directives/template-content.js';
9
+ import { TOGGLE_CONTEXT_NAME, TOGGLE_EVENT_NAME } from './toggle_constants.js';
10
+
11
+ let HToggle = class HToggle extends PhoenixLightLitElement {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.opened = false;
15
+ }
16
+ connectedCallback() {
17
+ super.connectedCallback();
18
+ this._reactiveOpened = new BehaviorSubject(this.opened);
19
+ this._toggleContext = new ContextProviderController(this);
20
+ this._$content = this.querySelector('template');
21
+ this._toggleContext.provide(TOGGLE_CONTEXT_NAME, this._reactiveOpened);
22
+ this.addEventListener(TOGGLE_EVENT_NAME, this.toggle);
23
+ }
24
+ toggle() {
25
+ this.opened = !this.opened;
26
+ this._reactiveOpened.notify(this.opened);
27
+ }
28
+ render() {
29
+ return html `${this.opened && this._$content ? o(this._$content) : nothing}`;
30
+ }
31
+ };
32
+ __decorate([
33
+ property({ type: Boolean, reflect: true }),
34
+ __metadata("design:type", Object)
35
+ ], HToggle.prototype, "opened", void 0);
36
+ HToggle = __decorate([
37
+ phoenixCustomElement('h-toggle')
38
+ ], HToggle);
39
+
40
+ export { HToggle };
41
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,8EAAsF;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,14 @@
1
+ import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
2
+ export declare class HToggleBtn extends PhoenixLightLitElement {
3
+ private _toggleContextConsumer;
4
+ private _btnController;
5
+ private _visibilityController;
6
+ private _opened$;
7
+ private _openedObserver;
8
+ action: "collapse";
9
+ private _visibility;
10
+ constructor();
11
+ connectedCallback(): Promise<void>;
12
+ disconnectedCallback(): void;
13
+ private _dispatchToggleEvent;
14
+ }
@@ -0,0 +1,55 @@
1
+ import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
+ import { property } from 'lit/decorators';
3
+ import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
4
+ import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
5
+ import { BtnController } from '../../controllers/btn_controller/btn_controller.js';
6
+ import { Observer } from '../../core/classes/observer/observer.js';
7
+ import { ContextConsumerController } from '../../core/context/context_consumer_controller.js';
8
+ import { VisibilityController } from '../../controllers/visibility_controller/visibility_controller.js';
9
+ import { TOGGLE_ACTIONS, TOGGLE_EVENT_NAME, TOGGLE_CONTEXT_NAME } from './toggle_constants.js';
10
+
11
+ let HToggleBtn = class HToggleBtn extends PhoenixLightLitElement {
12
+ constructor() {
13
+ super();
14
+ this.action = TOGGLE_ACTIONS.collapse;
15
+ this._visibility = {
16
+ collapse: (isOpened) => {
17
+ isOpened ? this._visibilityController.show() : this._visibilityController.hide();
18
+ },
19
+ expand: (isOpened) => {
20
+ isOpened ? this._visibilityController.hide() : this._visibilityController.show();
21
+ }
22
+ };
23
+ this._dispatchToggleEvent = () => {
24
+ this.dispatchEvent(new CustomEvent(TOGGLE_EVENT_NAME, {
25
+ bubbles: true
26
+ }));
27
+ };
28
+ this._btnController = new BtnController(this, this._dispatchToggleEvent);
29
+ this._visibilityController = new VisibilityController(this);
30
+ }
31
+ async connectedCallback() {
32
+ super.connectedCallback();
33
+ this._toggleContextConsumer = new ContextConsumerController(this);
34
+ this._opened$ = await this._toggleContextConsumer.consumeAsync(TOGGLE_CONTEXT_NAME);
35
+ this._openedObserver = new Observer((isOpened) => {
36
+ this._visibility[this.action](isOpened);
37
+ });
38
+ this._opened$.subscribe(this._openedObserver);
39
+ this.addEventListener('click', this._dispatchToggleEvent);
40
+ }
41
+ disconnectedCallback() {
42
+ this._opened$.unsubscribe(this._openedObserver);
43
+ }
44
+ };
45
+ __decorate([
46
+ property({ type: String }),
47
+ __metadata("design:type", Object)
48
+ ], HToggleBtn.prototype, "action", void 0);
49
+ HToggleBtn = __decorate([
50
+ phoenixCustomElement('h-toggle-btn'),
51
+ __metadata("design:paramtypes", [])
52
+ ], HToggleBtn);
53
+
54
+ export { HToggleBtn };
55
+ //# sourceMappingURL=toggle_button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,kDAAsD;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,6 @@
1
+ export declare const TOGGLE_ACTIONS: {
2
+ readonly expand: "expand";
3
+ readonly collapse: "collapse";
4
+ };
5
+ export declare const TOGGLE_CONTEXT_NAME = "opened";
6
+ export declare const TOGGLE_EVENT_NAME = "toggle";
@@ -0,0 +1,9 @@
1
+ const TOGGLE_ACTIONS = {
2
+ expand: 'expand',
3
+ collapse: 'collapse'
4
+ };
5
+ const TOGGLE_CONTEXT_NAME = 'opened';
6
+ const TOGGLE_EVENT_NAME = 'toggle';
7
+
8
+ export { TOGGLE_ACTIONS, TOGGLE_CONTEXT_NAME, TOGGLE_EVENT_NAME };
9
+ //# sourceMappingURL=toggle_constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,3 @@
1
+ export interface IToggle {
2
+ toggle(): void;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=toggle_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle_types.js","sourceRoot":"","sources":["../../../../../../../src/components/toggle/toggle_types.ts"],"names":[],"mappings":""}
@@ -32,10 +32,14 @@ class ClickOutsideController {
32
32
  __classPrivateFieldSet(this, _ClickOutsideController_enabled, false, "f");
33
33
  }
34
34
  _setupClickEventListener() {
35
- document.addEventListener('click', this._dispatchClickedOutsideEvent);
35
+ document.addEventListener('click', this._dispatchClickedOutsideEvent, {
36
+ capture: true
37
+ });
36
38
  }
37
39
  _removeClickEventListener() {
38
- document.removeEventListener('click', this._dispatchClickedOutsideEvent);
40
+ document.removeEventListener('click', this._dispatchClickedOutsideEvent, {
41
+ capture: true
42
+ });
39
43
  }
40
44
  hostDisconnected() {
41
45
  this._removeClickEventListener();
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,+DAA+D,4CAAgD;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,+DAA+D,4CAAgD;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -11,6 +11,7 @@ export declare class PhoenixLightLitElement extends LitElement {
11
11
  firstUpdated(props: PropertyValues): void;
12
12
  private _setupChildrenConnectedWatch;
13
13
  private _setupChildrenRenderWatch;
14
+ private _getComponentsChildrenToWatch;
14
15
  private _getComponentsNamesForConnectionToWatch;
15
16
  private _getComponentsNamesForRenderedToWatch;
16
17
  private _handleComponentConnected;
@@ -54,7 +54,9 @@ class PhoenixLightLitElement extends LitElement {
54
54
  this.isWebComponentRendered = true;
55
55
  }
56
56
  _setupChildrenConnectedWatch() {
57
- this._childrenForConnectionToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesForConnectionToWatch();
57
+ this._childrenForConnectionToWatch = this.childrenToWatch
58
+ ? this._getComponentsChildrenToWatch()
59
+ : this._getComponentsNamesForConnectionToWatch();
58
60
  if (!this._childrenForConnectionToWatch.length) {
59
61
  this.allChildrenConnected();
60
62
  return;
@@ -62,13 +64,24 @@ class PhoenixLightLitElement extends LitElement {
62
64
  this.addEventListener(PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected, this._handleComponentConnected);
63
65
  }
64
66
  _setupChildrenRenderWatch() {
65
- this._childrenForRenderToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesForRenderedToWatch();
67
+ this._childrenForRenderToWatch = this.childrenToWatch
68
+ ? this._getComponentsChildrenToWatch()
69
+ : this._getComponentsNamesForRenderedToWatch();
66
70
  if (!this._childrenForRenderToWatch.length) {
67
71
  this.allChildrenRendered();
68
72
  return;
69
73
  }
70
74
  this.addEventListener(PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.rendered, this._handleComponentRendered);
71
75
  }
76
+ _getComponentsChildrenToWatch() {
77
+ const childrenToWatch = [];
78
+ this.childrenToWatch.forEach((elementName) => {
79
+ return [...this.querySelectorAll(elementName)].forEach(($element) => {
80
+ childrenToWatch.push($element.tagName.toLowerCase());
81
+ });
82
+ });
83
+ return childrenToWatch;
84
+ }
72
85
  _getComponentsNamesForConnectionToWatch() {
73
86
  return PhoenixLightLitElementUtils.getComponentsForWhichToWaitForConnection([...this.querySelectorAll('*')]).map(($element) => $element.tagName.toLowerCase());
74
87
  }
@@ -77,8 +90,8 @@ class PhoenixLightLitElement extends LitElement {
77
90
  }
78
91
  connectedCallback() {
79
92
  super.connectedCallback();
80
- this._dispatchLifecycleEvent(PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected);
81
93
  this.isWebComponentConnected = true;
94
+ this._dispatchLifecycleEvent(PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected);
82
95
  if (this.watchChildrenConnected)
83
96
  this._setupChildrenConnectedWatch();
84
97
  if (this.watchChildrenRendered)
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}