@shoper/phoenix_design_system 1.18.8 → 1.18.10-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/build/cjs/packages/phoenix/src/components/accordion/accordion.js +6 -19
  2. package/build/cjs/packages/phoenix/src/components/accordion/accordion.js.map +1 -1
  3. package/build/cjs/packages/phoenix/src/components/accordion/accordion_constants.js +8 -6
  4. package/build/cjs/packages/phoenix/src/components/accordion/accordion_constants.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/accordion/accordion_content.js +2 -125
  6. package/build/cjs/packages/phoenix/src/components/accordion/accordion_content.js.map +1 -1
  7. package/build/cjs/packages/phoenix/src/components/accordion/accordion_group.js +105 -88
  8. package/build/cjs/packages/phoenix/src/components/accordion/accordion_group.js.map +1 -1
  9. package/build/cjs/packages/phoenix/src/components/accordion/accordion_toggler.js +1 -41
  10. package/build/cjs/packages/phoenix/src/components/accordion/accordion_toggler.js.map +1 -1
  11. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option.js +2 -1
  12. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option.js.map +1 -1
  13. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js +3 -2
  14. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map +1 -1
  15. package/build/cjs/packages/phoenix/src/components/form/select/select.js +87 -14
  16. package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
  17. package/build/cjs/packages/phoenix/src/components/form/select/select_utils.js +22 -2
  18. package/build/cjs/packages/phoenix/src/components/form/select/select_utils.js.map +1 -1
  19. package/build/cjs/packages/phoenix/src/components/messages/base_message.js +1 -1
  20. package/build/cjs/packages/phoenix/src/index.js +9 -6
  21. package/build/cjs/packages/phoenix/src/index.js.map +1 -1
  22. package/build/esm/packages/phoenix/src/components/accordion/accordion.d.ts +1 -5
  23. package/build/esm/packages/phoenix/src/components/accordion/accordion.js +7 -20
  24. package/build/esm/packages/phoenix/src/components/accordion/accordion.js.map +1 -1
  25. package/build/esm/packages/phoenix/src/components/accordion/accordion_constants.d.ts +4 -3
  26. package/build/esm/packages/phoenix/src/components/accordion/accordion_constants.js +7 -6
  27. package/build/esm/packages/phoenix/src/components/accordion/accordion_constants.js.map +1 -1
  28. package/build/esm/packages/phoenix/src/components/accordion/accordion_content.d.ts +0 -23
  29. package/build/esm/packages/phoenix/src/components/accordion/accordion_content.js +2 -125
  30. package/build/esm/packages/phoenix/src/components/accordion/accordion_content.js.map +1 -1
  31. package/build/esm/packages/phoenix/src/components/accordion/accordion_group.d.ts +12 -14
  32. package/build/esm/packages/phoenix/src/components/accordion/accordion_group.js +106 -89
  33. package/build/esm/packages/phoenix/src/components/accordion/accordion_group.js.map +1 -1
  34. package/build/esm/packages/phoenix/src/components/accordion/accordion_toggler.d.ts +0 -8
  35. package/build/esm/packages/phoenix/src/components/accordion/accordion_toggler.js +1 -41
  36. package/build/esm/packages/phoenix/src/components/accordion/accordion_toggler.js.map +1 -1
  37. package/build/esm/packages/phoenix/src/components/accordion/accordion_types.d.ts +0 -10
  38. package/build/esm/packages/phoenix/src/components/form/select/model/select_option.d.ts +1 -0
  39. package/build/esm/packages/phoenix/src/components/form/select/model/select_option.js +2 -1
  40. package/build/esm/packages/phoenix/src/components/form/select/model/select_option.js.map +1 -1
  41. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js +3 -2
  42. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map +1 -1
  43. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_types.d.ts +1 -0
  44. package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +5 -0
  45. package/build/esm/packages/phoenix/src/components/form/select/select.js +87 -14
  46. package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
  47. package/build/esm/packages/phoenix/src/components/form/select/select_utils.d.ts +1 -0
  48. package/build/esm/packages/phoenix/src/components/form/select/select_utils.js +22 -2
  49. package/build/esm/packages/phoenix/src/components/form/select/select_utils.js.map +1 -1
  50. package/build/esm/packages/phoenix/src/components/messages/base_message.js +1 -1
  51. package/build/esm/packages/phoenix/src/index.d.ts +1 -0
  52. package/build/esm/packages/phoenix/src/index.js +3 -2
  53. package/build/esm/packages/phoenix/src/index.js.map +1 -1
  54. package/package.json +2 -2
@@ -43,6 +43,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
43
43
  this.type = select_constants.SELECT_TYPES.select;
44
44
  this.noDeselect = false;
45
45
  this.assistiveTitleId = '';
46
+ this.isDevSelectPlaceholderFlagEnabled = false;
46
47
  this.translations = {};
47
48
  this._selectOptionsId = v4['default']();
48
49
  this._searchValue = '';
@@ -57,7 +58,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
57
58
  const $options = this._getOptions();
58
59
  this._$options = $options.reduce((acc, $option) => {
59
60
  const value = $option.getAttribute('value');
60
- if (!value)
61
+ if (value === null || value === undefined)
61
62
  throw Error('Select option must hava a value');
62
63
  if (acc.has(value))
63
64
  throw Error('Select options must hava a unique values.');
@@ -114,12 +115,24 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
114
115
  if (!this.$searchLabel)
115
116
  return;
116
117
  (_a = this.$searchLabel.querySelector(`[id="value-label"]`)) === null || _a === void 0 ? void 0 : _a.remove();
117
- this.$searchLabel.innerHTML = `
118
- ${(_b = this.$searchLabel) === null || _b === void 0 ? void 0 : _b.innerHTML}
119
- <span id="value-label" class="sr-only">
120
- ${options.reduce((totalSelectedContent, currentOption) => (totalSelectedContent += currentOption.content), '')}
121
- </span>
122
- `;
118
+ if (this.isDevSelectPlaceholderFlagEnabled) {
119
+ const hasValidOptions = options.some((option) => !option.isPlaceholder);
120
+ if (!hasValidOptions)
121
+ return;
122
+ const valueLabelSpan = document.createElement('span');
123
+ valueLabelSpan.id = 'value-label';
124
+ valueLabelSpan.className = 'sr-only';
125
+ valueLabelSpan.textContent = options.reduce((totalSelectedContent, currentOption) => totalSelectedContent + currentOption.content, '');
126
+ this.$searchLabel.appendChild(valueLabelSpan);
127
+ }
128
+ else {
129
+ this.$searchLabel.innerHTML = `
130
+ ${(_b = this.$searchLabel) === null || _b === void 0 ? void 0 : _b.innerHTML}
131
+ <span id="value-label" class="sr-only">
132
+ ${options.reduce((totalSelectedContent, currentOption) => (totalSelectedContent += currentOption.content), '')}
133
+ </span>
134
+ `;
135
+ }
123
136
  };
124
137
  this._handleOptionClicked = ({ detail }) => {
125
138
  if (!(detail === null || detail === void 0 ? void 0 : detail.$option))
@@ -171,7 +184,8 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
171
184
  };
172
185
  const $options = Array.from(this.querySelectorAll(select_components_constatns.SELECT_RELATED_COMPONENTS_NAMES.option));
173
186
  $options.forEach(($option) => $option.setAttribute('slot', select_constants.SELECT_SLOT_NAMES.content));
174
- this.$placeholder = (_a = this.querySelector(`[slot="${select_components_constatns.SELECT_INPUT_PLACEHOLDER_SLOT_NAME}"]`)) !== null && _a !== void 0 ? _a : 'Select';
187
+ const $placeholderEl = this.querySelector(`[slot="${select_components_constatns.SELECT_INPUT_PLACEHOLDER_SLOT_NAME}"]`);
188
+ this.$placeholder = ($placeholderEl && ((_a = $placeholderEl.textContent) === null || _a === void 0 ? void 0 : _a.trim())) ? $placeholderEl : 'Select';
175
189
  if (this.multiple)
176
190
  this.type = select_constants.SELECT_TYPES.multiple;
177
191
  }
@@ -217,6 +231,9 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
217
231
  }
218
232
  if (changedProperties.has('optionsList')) {
219
233
  this._updateOptions();
234
+ if (this.isDevSelectPlaceholderFlagEnabled) {
235
+ this._addPlaceholderOptionIfNeeded();
236
+ }
220
237
  }
221
238
  if (this._$optionsList.value) {
222
239
  (_a = this.listBoxController) === null || _a === void 0 ? void 0 : _a.hostDisconnected();
@@ -265,6 +282,9 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
265
282
  this._selectedOptionsAriaObserver = new observer.Observer((selectedOptions) => this._updateLabelAria(selectedOptions));
266
283
  this._selectController.selectedOptions$.subscribe(this._selectedOptionsAriaObserver);
267
284
  this._updateOptions();
285
+ if (this.isDevSelectPlaceholderFlagEnabled) {
286
+ this._addPlaceholderOptionIfNeeded();
287
+ }
268
288
  this._setupEvents();
269
289
  }
270
290
  attributeChangedCallback(name, _old, value) {
@@ -277,6 +297,50 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
277
297
  this.disabled ? this.classList.add(select_constants.SELECT_CSS_CLASSES.selectDisabled) : this.classList.remove(select_constants.SELECT_CSS_CLASSES.selectDisabled);
278
298
  }
279
299
  }
300
+ _addPlaceholderOptionIfNeeded() {
301
+ if (!this._canAddPlaceholder)
302
+ return;
303
+ const $placeholderOption = this._createPlaceholderOption();
304
+ this._injectOptionIntoDOM($placeholderOption);
305
+ this._updateOptions();
306
+ }
307
+ get _canAddPlaceholder() {
308
+ var _a;
309
+ if (this.multiple || this.required)
310
+ return false;
311
+ const hasSelection = (((_a = this._selectController.selectedOptions$.getValue()) === null || _a === void 0 ? void 0 : _a.length) || 0) > 0;
312
+ if (hasSelection)
313
+ return false;
314
+ const hasExistingPlaceholder = !!this.querySelector('h-option[placeholder]');
315
+ return !hasExistingPlaceholder;
316
+ }
317
+ _createPlaceholderOption() {
318
+ const $option = document.createElement('h-option');
319
+ $option.setAttribute('value', '');
320
+ $option.setAttribute('selected', 'true');
321
+ $option.setAttribute('placeholder', 'true');
322
+ $option.setAttribute('slot', select_constants.SELECT_SLOT_NAMES.content);
323
+ const $content = document.createElement(select_components_constatns.SELECT_RELATED_COMPONENTS_NAMES.optionContent);
324
+ if (typeof this.$placeholder === 'string') {
325
+ $content.textContent = this.$placeholder;
326
+ }
327
+ else if (this.$placeholder instanceof Node) {
328
+ Array.from(this.$placeholder.childNodes).forEach(node => {
329
+ $content.appendChild(node.cloneNode(true));
330
+ });
331
+ }
332
+ $option.appendChild($content);
333
+ return $option;
334
+ }
335
+ _injectOptionIntoDOM($option) {
336
+ const $firstOption = this.querySelector(select_components_constatns.SELECT_RELATED_COMPONENTS_NAMES.option);
337
+ if ($firstOption) {
338
+ this.insertBefore($option, $firstOption);
339
+ }
340
+ else {
341
+ this.appendChild($option);
342
+ }
343
+ }
280
344
  _setupEvents() {
281
345
  this.addEventListener(select_constants.SELECT_EVENT_NAMES.deselectOption, this._handleOptionDeselect);
282
346
  this.addEventListener(select_components_constatns.SELECT_CLOSE_BTN_EVENT_NAMES.close, this._closeSelect);
@@ -357,7 +421,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
357
421
  return fragment;
358
422
  }
359
423
  render() {
360
- var _a, _b, _c, _d, _e;
424
+ var _a, _b, _c, _d, _e, _f;
361
425
  const options = (_a = this._selectController.options$.getValue()) !== null && _a !== void 0 ? _a : [];
362
426
  const isSearchEnabled = !this.searchDisabled && options.length > select_constants.MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH;
363
427
  return lit.html `
@@ -381,6 +445,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
381
445
  aria-activedescendant
382
446
  role="combobox"
383
447
  aria-controls="${this._selectOptionsId}"
448
+ aria-labelledby="${this.assistiveTitleId}"
384
449
  >
385
450
  ${this.getSlot(select_constants.SELECT_SLOT_NAMES.toggler)}
386
451
  </h-dropdown-toggler>
@@ -393,14 +458,18 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
393
458
  >
394
459
  <h-select-close-btn class="${select_constants.SELECT_CSS_CLASSES.selectCloseMobileButton}" @close=${this._closeSelect}></h-select-close-btn>
395
460
 
396
- <div class=${select_constants.SELECT_CSS_CLASSES.selectLabel}>${lit.html `${this._getClonedPlaceholderElement()}`}</div>
461
+ <div class=${select_constants.SELECT_CSS_CLASSES.selectLabel}>
462
+ ${this.isDevSelectPlaceholderFlagEnabled ?
463
+ (_b = this.$searchLabel) === null || _b === void 0 ? void 0 : _b.cloneNode(true) :
464
+ lit.html `${this._getClonedPlaceholderElement()}`}
465
+ </div>
397
466
 
398
467
  ${isSearchEnabled
399
468
  ? lit.html ` <h-select-search
400
469
  class=${select_constants.SELECT_CSS_CLASSES.selectSearch}
401
470
  ${ref_js.ref(this.$search)}
402
471
  .value=${this._searchValue}
403
- placeholder=${((_b = this.translations) === null || _b === void 0 ? void 0 : _b.search) || select_constants.SELECT_DEFAULT_TRANSLATIONS.SEARCH}
472
+ placeholder=${((_c = this.translations) === null || _c === void 0 ? void 0 : _c.search) || select_constants.SELECT_DEFAULT_TRANSLATIONS.SEARCH}
404
473
  @search=${this._handleSearch}
405
474
  ></h-select-search>`
406
475
  : lit.nothing}
@@ -421,7 +490,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
421
490
  ${this._searchNoResult()
422
491
  ? lit.html ` <div>
423
492
  <p class=${select_constants.SELECT_CSS_CLASSES.selectNoResult}>
424
- ${((_c = this.translations) === null || _c === void 0 ? void 0 : _c.noResultsFor) || select_constants.SELECT_DEFAULT_TRANSLATIONS.NO_RESULTS_FOR}:
493
+ ${((_d = this.translations) === null || _d === void 0 ? void 0 : _d.noResultsFor) || select_constants.SELECT_DEFAULT_TRANSLATIONS.NO_RESULTS_FOR}:
425
494
  <em class=${select_constants.SELECT_CSS_CLASSES.selectSearchedPhrase}>"${this._searchValue}"</em>
426
495
  </p>
427
496
  </div>`
@@ -430,11 +499,11 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
430
499
  ? lit.html `
431
500
  <section class=${select_constants.SELECT_CSS_CLASSES.selectFooter}>
432
501
  <button class="${select_constants.SELECT_CSS_CLASSES.selectClearButton}" @click=${this._clearOptions}>
433
- ${((_d = this.translations) === null || _d === void 0 ? void 0 : _d.reset) || select_constants.SELECT_DEFAULT_TRANSLATIONS.RESET}
502
+ ${((_e = this.translations) === null || _e === void 0 ? void 0 : _e.reset) || select_constants.SELECT_DEFAULT_TRANSLATIONS.RESET}
434
503
  </button>
435
504
  <h-select-close-btn class="${select_constants.SELECT_CSS_CLASSES.selectCloseButton}" @close=${this._closeSelect}
436
505
  ><span slot=${select_components_constatns.SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME}
437
- >${((_e = this.translations) === null || _e === void 0 ? void 0 : _e.choose) || select_constants.SELECT_DEFAULT_TRANSLATIONS.CHOOSE}</span
506
+ >${((_f = this.translations) === null || _f === void 0 ? void 0 : _f.choose) || select_constants.SELECT_DEFAULT_TRANSLATIONS.CHOOSE}</span
438
507
  >
439
508
  </h-select-close-btn>
440
509
  </section>
@@ -508,6 +577,10 @@ tslib_es6.__decorate([
508
577
  decorators_js.property({ type: String, attribute: 'assistive-title-id' }),
509
578
  tslib_es6.__metadata("design:type", String)
510
579
  ], exports.HSelect.prototype, "assistiveTitleId", void 0);
580
+ tslib_es6.__decorate([
581
+ decorators_js.property({ type: Boolean, attribute: 'is-dev-select-placeholder-flag-enabled' }),
582
+ tslib_es6.__metadata("design:type", Boolean)
583
+ ], exports.HSelect.prototype, "isDevSelectPlaceholderFlagEnabled", void 0);
511
584
  tslib_es6.__decorate([
512
585
  decorators_js.property({
513
586
  converter: {
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -6,7 +6,7 @@ var select_components_constatns = require('./components/select_components_consta
6
6
 
7
7
  class SelectControlUtils {
8
8
  static createHTMLOption(option) {
9
- const { selected, value, disabled, hidden, content } = option;
9
+ const { selected, value, disabled, hidden, content, isPlaceholder } = option;
10
10
  const $option = document.createElement(select_components_constatns.SELECT_RELATED_COMPONENTS_NAMES.option);
11
11
  $option.setAttribute('value', String(value));
12
12
  const $optionContent = document.createElement(select_components_constatns.SELECT_RELATED_COMPONENTS_NAMES.optionContent);
@@ -18,14 +18,17 @@ class SelectControlUtils {
18
18
  $option.setAttribute('disabled', '');
19
19
  if (hidden)
20
20
  $option.setAttribute('hidden', '');
21
+ if (isPlaceholder)
22
+ $option.setAttribute('placeholder', 'true');
21
23
  return $option;
22
24
  }
23
25
  static syncHTMLOptionWithModel(option, $option) {
24
- const { selected, value, disabled, hidden } = option;
26
+ const { selected, value, disabled, hidden, isPlaceholder } = option;
25
27
  $option.selected = selected;
26
28
  $option.value = value;
27
29
  $option.disabled = disabled;
28
30
  $option.hidden = hidden;
31
+ $option.toggleAttribute('placeholder', isPlaceholder);
29
32
  }
30
33
  static removeHTMLOptions($options, optionsValuesThatExists) {
31
34
  return $options.reduce((acc, $option) => {
@@ -50,6 +53,23 @@ class SelectControlUtils {
50
53
  const firstIndexInReversed = [...options].reverse().findIndex((option) => option.selected);
51
54
  return options.length - firstIndexInReversed - 1;
52
55
  }
56
+ static extractSelectValue($select) {
57
+ var _a;
58
+ const { selectedOptions } = $select;
59
+ const selectedValues = Array.from(selectedOptions).map((option) => option.value);
60
+ if (selectedValues.length === 0) {
61
+ return undefined;
62
+ }
63
+ const isPlaceholder = !$select.multiple && selectedOptions.length === 1 && ((_a = selectedOptions[0]) === null || _a === void 0 ? void 0 : _a.hasAttribute('placeholder'));
64
+ const isSingleEmptyValue = selectedValues.length === 1 && selectedValues[0] === '';
65
+ if (isPlaceholder && isSingleEmptyValue) {
66
+ return null;
67
+ }
68
+ if ($select.multiple) {
69
+ return selectedValues;
70
+ }
71
+ return selectedValues[0];
72
+ }
53
73
  }
54
74
 
55
75
  exports.SelectControlUtils = 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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -11,8 +11,8 @@ var v4 = require('../../../../../external/uuid/dist/esm-browser/v4.js');
11
11
  var portal_constants = require('../portal/portal_constants.js');
12
12
  var click_outside_controller = require('../../controllers/click_outside_controller/click_outside_controller.js');
13
13
  var relative_position_controller = require('../../controllers/relative_position_controller/relative_position_controller.js');
14
- var base_message_constants = require('./base_message_constants.js');
15
14
  var ref = require('lit/directives/ref');
15
+ var base_message_constants = require('./base_message_constants.js');
16
16
 
17
17
  class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
18
18
  constructor() {
@@ -26,6 +26,7 @@ var toggle_element_aria_controller = require('./controllers/toggle_element_aria_
26
26
  var dropdown_toggler = require('./components/dropdown/dropdown_toggler.js');
27
27
  var relative_position_controller = require('./controllers/relative_position_controller/relative_position_controller.js');
28
28
  var dropdown = require('./components/dropdown/dropdown.js');
29
+ var select_utils = require('./components/form/select/select_utils.js');
29
30
  var select = require('./components/form/select/select.js');
30
31
  var file = require('./components/form/file_picker/file/file.js');
31
32
  var input_constants = require('./components/form/input/input_constants.js');
@@ -77,8 +78,8 @@ var textarea_control = require('./components/form/textarea/textarea_control.js')
77
78
  var accordion_constants = require('./components/accordion/accordion_constants.js');
78
79
  var accordion = require('./components/accordion/accordion.js');
79
80
  var accordion_group = require('./components/accordion/accordion_group.js');
80
- var accordion_content = require('./components/accordion/accordion_content.js');
81
81
  var accordion_toggler = require('./components/accordion/accordion_toggler.js');
82
+ var accordion_content = require('./components/accordion/accordion_content.js');
82
83
  var dropdown_close = require('./components/dropdown/dropdown_close.js');
83
84
  var toggle_button_group = require('./components/groups/toggle_button_group/toggle_button_group.js');
84
85
  var toggle_button = require('./components/groups/toggle_button_group/toggle_button.js');
@@ -209,6 +210,7 @@ Object.defineProperty(exports, 'HDropdown', {
209
210
  return dropdown.HDropdown;
210
211
  }
211
212
  });
213
+ exports.SelectControlUtils = select_utils.SelectControlUtils;
212
214
  Object.defineProperty(exports, 'HSelect', {
213
215
  enumerable: true,
214
216
  get: function () {
@@ -465,7 +467,8 @@ Object.defineProperty(exports, 'HTextareaControl', {
465
467
  return textarea_control.HTextareaControl;
466
468
  }
467
469
  });
468
- exports.ACCORDION_CONTEXTS = accordion_constants.ACCORDION_CONTEXTS;
470
+ exports.ACCORDION_ANIMATION_DURATION = accordion_constants.ACCORDION_ANIMATION_DURATION;
471
+ exports.ACCORDION_CSS_CLASSES = accordion_constants.ACCORDION_CSS_CLASSES;
469
472
  exports.ACCORDION_EVENTS = accordion_constants.ACCORDION_EVENTS;
470
473
  exports.ACCORDION_MODE = accordion_constants.ACCORDION_MODE;
471
474
  Object.defineProperty(exports, 'HAccordion', {
@@ -480,16 +483,16 @@ Object.defineProperty(exports, 'HAccordionGroup', {
480
483
  return accordion_group.HAccordionGroup;
481
484
  }
482
485
  });
483
- Object.defineProperty(exports, 'HAccordionContent', {
486
+ Object.defineProperty(exports, 'HAccordionToggler', {
484
487
  enumerable: true,
485
488
  get: function () {
486
- return accordion_content.HAccordionContent;
489
+ return accordion_toggler.HAccordionToggler;
487
490
  }
488
491
  });
489
- Object.defineProperty(exports, 'HAccordionToggler', {
492
+ Object.defineProperty(exports, 'HAccordionContent', {
490
493
  enumerable: true,
491
494
  get: function () {
492
- return accordion_toggler.HAccordionToggler;
495
+ return accordion_content.HAccordionContent;
493
496
  }
494
497
  });
495
498
  Object.defineProperty(exports, 'HDropdownClose', {
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -3,12 +3,8 @@ import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/pho
3
3
  export declare class HAccordion extends PhoenixLightLitElement implements IAccordion {
4
4
  disabled: boolean;
5
5
  mode: TAccordionMode;
6
- private _accordionSubject;
7
- private _accordionContext;
8
- constructor();
6
+ updated(): void;
9
7
  enable(): void;
10
8
  disable(): void;
11
- updated(): void;
12
9
  notify(): void;
13
- private _getProps;
14
10
  }
@@ -2,19 +2,16 @@ import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.
2
2
  import { property } from 'lit/decorators';
3
3
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
4
4
  import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
5
- import { BehaviorSubject } from '../../core/classes/behavior_subject/behavior_subject.js';
6
- import { ContextProviderController } from '../../core/context/context_provider_controller.js';
7
- import { ACCORDION_MODE, ACCORDION_CONTEXTS } from './accordion_constants.js';
5
+ import { ACCORDION_MODE, ACCORDION_EVENTS } from './accordion_constants.js';
8
6
 
9
7
  let HAccordion = class HAccordion extends PhoenixLightLitElement {
10
8
  constructor() {
11
- super();
9
+ super(...arguments);
12
10
  this.disabled = false;
13
11
  this.mode = ACCORDION_MODE.multi;
14
- this._accordionSubject = new BehaviorSubject(this._getProps());
15
- this._accordionContext = new ContextProviderController(this);
16
- this._accordionContext.provide(ACCORDION_CONTEXTS.accordionProps, this._accordionSubject);
17
- this.setAttribute('role', 'none');
12
+ }
13
+ updated() {
14
+ this.notify();
18
15
  }
19
16
  enable() {
20
17
  this.disabled = false;
@@ -22,17 +19,8 @@ let HAccordion = class HAccordion extends PhoenixLightLitElement {
22
19
  disable() {
23
20
  this.disabled = true;
24
21
  }
25
- updated() {
26
- this.notify();
27
- }
28
22
  notify() {
29
- this._accordionSubject.notify(this._getProps());
30
- }
31
- _getProps() {
32
- return {
33
- disabled: this.disabled,
34
- mode: this.mode
35
- };
23
+ this.dispatchEvent(new Event(ACCORDION_EVENTS.update));
36
24
  }
37
25
  };
38
26
  __decorate([
@@ -44,8 +32,7 @@ __decorate([
44
32
  __metadata("design:type", String)
45
33
  ], HAccordion.prototype, "mode", void 0);
46
34
  HAccordion = __decorate([
47
- phoenixCustomElement('h-accordion'),
48
- __metadata("design:paramtypes", [])
35
+ phoenixCustomElement('h-accordion')
49
36
  ], HAccordion);
50
37
 
51
38
  export { HAccordion };
@@ -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;"}
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;"}
@@ -1,11 +1,12 @@
1
1
  export declare const ACCORDION_EVENTS: {
2
2
  readonly toggle: "toggle";
3
+ readonly update: "updateAccordion";
3
4
  };
4
- export declare const ACCORDION_CONTEXTS: {
5
- readonly accordionProps: "accordionPropsSubject";
6
- readonly accordionGroupProps: "accordionGroupPropsSubject";
5
+ export declare const ACCORDION_CSS_CLASSES: {
6
+ readonly open: "accordion__details_open";
7
7
  };
8
8
  export declare const ACCORDION_MODE: {
9
9
  readonly single: "single";
10
10
  readonly multi: "multi";
11
11
  };
12
+ export declare const ACCORDION_ANIMATION_DURATION = 400;
@@ -1,14 +1,15 @@
1
1
  const ACCORDION_EVENTS = {
2
- toggle: 'toggle'
2
+ toggle: 'toggle',
3
+ update: 'updateAccordion'
3
4
  };
4
- const ACCORDION_CONTEXTS = {
5
- accordionProps: 'accordionPropsSubject',
6
- accordionGroupProps: 'accordionGroupPropsSubject'
5
+ const ACCORDION_CSS_CLASSES = {
6
+ open: 'accordion__details_open'
7
7
  };
8
8
  const ACCORDION_MODE = {
9
9
  single: 'single',
10
10
  multi: 'multi'
11
- };
11
+ };
12
+ const ACCORDION_ANIMATION_DURATION = 400;
12
13
 
13
- export { ACCORDION_CONTEXTS, ACCORDION_EVENTS, ACCORDION_MODE };
14
+ export { ACCORDION_ANIMATION_DURATION, ACCORDION_CSS_CLASSES, ACCORDION_EVENTS, ACCORDION_MODE };
14
15
  //# sourceMappingURL=accordion_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;AACA;AACA;AACA;"}
@@ -1,28 +1,5 @@
1
1
  import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
2
- import { PropertyValues } from 'lit';
3
2
  export declare class HAccordionContent extends PhoenixLightLitElement {
4
- transitionName: string;
5
- private _transitionController;
6
- private _contextConsumer;
7
- private _accordionGroupProps;
8
- private _accordionGroupPropsObserver;
9
- private _originalHeight;
10
- private _resizeDebounceTimer;
11
- private _mutationDebounceTimer;
12
- private _mutationObserver;
13
- private _boundHandleTransitionEnd;
14
3
  constructor();
15
4
  connectedCallback(): void;
16
- firstUpdated(props: PropertyValues): void;
17
- private _handleResize;
18
- private _setStylingOptions;
19
- private _subscribeObserver;
20
- private _handleMutation;
21
- private _setOriginalHeightValue;
22
- private _expand;
23
- private _handleTransitionEnd;
24
- private _collapse;
25
- private _setHeight;
26
- private _setAttributes;
27
- disconnectedCallback(): void;
28
5
  }