@shoper/phoenix_design_system 1.2.1 → 1.2.3-1

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 (101) hide show
  1. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +18 -4
  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 +3 -4
  4. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/form/file_picker/file/file.js +67 -0
  6. package/build/cjs/packages/phoenix/src/components/form/file_picker/file/file.js.map +1 -0
  7. package/build/cjs/packages/phoenix/src/components/form/file_picker/file/file_model.js +18 -0
  8. package/build/cjs/packages/phoenix/src/components/{toggle/toggle_constants.js.map → form/file_picker/file/file_model.js.map} +1 -1
  9. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker.js +172 -0
  10. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker.js.map +1 -0
  11. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker_constants.js +37 -0
  12. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker_constants.js.map +1 -0
  13. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker_label.js +59 -0
  14. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker_label.js.map +1 -0
  15. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js +6 -5
  16. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
  17. package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +13 -13
  18. package/build/cjs/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +6 -6
  19. package/build/cjs/packages/phoenix/src/components/form/select/controllers/select_controller.js +2 -2
  20. package/build/cjs/packages/phoenix/src/components/form/select/select.js +25 -88
  21. package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
  22. package/build/cjs/packages/phoenix/src/components/form/select/select_constants.js +0 -5
  23. package/build/cjs/packages/phoenix/src/components/form/select/select_constants.js.map +1 -1
  24. package/build/cjs/packages/phoenix/src/components/form/select/select_utils.js +0 -6
  25. package/build/cjs/packages/phoenix/src/components/form/select/select_utils.js.map +1 -1
  26. package/build/cjs/packages/phoenix/src/components/modal/modal.js +1 -1
  27. package/build/cjs/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js +2 -6
  28. package/build/cjs/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js.map +1 -1
  29. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +3 -16
  30. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
  31. package/build/cjs/packages/phoenix/src/index.js +21 -18
  32. package/build/cjs/packages/phoenix/src/index.js.map +1 -1
  33. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +2 -0
  34. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +18 -4
  35. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  36. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.d.ts +0 -1
  37. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js +3 -4
  38. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
  39. package/build/esm/packages/phoenix/src/components/form/file_picker/file/file.d.ts +12 -0
  40. package/build/esm/packages/phoenix/src/components/form/file_picker/file/file.js +65 -0
  41. package/build/esm/packages/phoenix/src/components/{toggle/toggle_button.js.map → form/file_picker/file/file.js.map} +1 -1
  42. package/build/esm/packages/phoenix/src/components/form/file_picker/file/file_model.d.ts +9 -0
  43. package/build/esm/packages/phoenix/src/components/form/file_picker/file/file_model.js +14 -0
  44. package/build/esm/{external/lit/external/lit-html/directives/template-content.js.map → packages/phoenix/src/components/form/file_picker/file/file_model.js.map} +1 -1
  45. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker.d.ts +30 -0
  46. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker.js +170 -0
  47. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker.js.map +1 -0
  48. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_constants.d.ts +29 -0
  49. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_constants.js +29 -0
  50. package/build/{cjs/external/lit/external/lit-html/directives/template-content.js.map → esm/packages/phoenix/src/components/form/file_picker/file_picker_constants.js.map} +1 -1
  51. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_label.d.ts +13 -0
  52. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_label.js +57 -0
  53. package/build/{cjs/packages/phoenix/src/components/toggle/toggle_button.js.map → esm/packages/phoenix/src/components/form/file_picker/file_picker_label.js.map} +1 -1
  54. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.d.ts +1 -2
  55. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js +6 -5
  56. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
  57. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.d.ts +10 -10
  58. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +13 -13
  59. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.d.ts +3 -3
  60. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +6 -6
  61. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controller.d.ts +1 -1
  62. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controller.js +2 -2
  63. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controllers_types.d.ts +9 -9
  64. package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +3 -16
  65. package/build/esm/packages/phoenix/src/components/form/select/select.js +26 -89
  66. package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
  67. package/build/esm/packages/phoenix/src/components/form/select/select_constants.d.ts +0 -4
  68. package/build/esm/packages/phoenix/src/components/form/select/select_constants.js +1 -5
  69. package/build/esm/packages/phoenix/src/components/form/select/select_constants.js.map +1 -1
  70. package/build/esm/packages/phoenix/src/components/form/select/select_utils.d.ts +0 -2
  71. package/build/esm/packages/phoenix/src/components/form/select/select_utils.js +0 -6
  72. package/build/esm/packages/phoenix/src/components/form/select/select_utils.js.map +1 -1
  73. package/build/esm/packages/phoenix/src/components/modal/modal.js +1 -1
  74. package/build/esm/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js +2 -6
  75. package/build/esm/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js.map +1 -1
  76. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.d.ts +0 -1
  77. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +3 -16
  78. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
  79. package/build/esm/packages/phoenix/src/index.d.ts +3 -4
  80. package/build/esm/packages/phoenix/src/index.js +3 -3
  81. package/package.json +3 -3
  82. package/build/cjs/external/lit/external/lit-html/directives/template-content.js +0 -15
  83. package/build/cjs/packages/phoenix/src/components/toggle/toggle.js +0 -43
  84. package/build/cjs/packages/phoenix/src/components/toggle/toggle.js.map +0 -1
  85. package/build/cjs/packages/phoenix/src/components/toggle/toggle_button.js +0 -57
  86. package/build/cjs/packages/phoenix/src/components/toggle/toggle_constants.js +0 -15
  87. package/build/esm/external/lit/external/lit-html/directives/template-content.js +0 -11
  88. package/build/esm/packages/phoenix/src/components/form/select/select_types.d.ts +0 -2
  89. package/build/esm/packages/phoenix/src/components/form/select/select_types.js +0 -2
  90. package/build/esm/packages/phoenix/src/components/form/select/select_types.js.map +0 -1
  91. package/build/esm/packages/phoenix/src/components/toggle/toggle.d.ts +0 -11
  92. package/build/esm/packages/phoenix/src/components/toggle/toggle.js +0 -41
  93. package/build/esm/packages/phoenix/src/components/toggle/toggle.js.map +0 -1
  94. package/build/esm/packages/phoenix/src/components/toggle/toggle_button.d.ts +0 -14
  95. package/build/esm/packages/phoenix/src/components/toggle/toggle_button.js +0 -55
  96. package/build/esm/packages/phoenix/src/components/toggle/toggle_constants.d.ts +0 -6
  97. package/build/esm/packages/phoenix/src/components/toggle/toggle_constants.js +0 -9
  98. package/build/esm/packages/phoenix/src/components/toggle/toggle_constants.js.map +0 -1
  99. package/build/esm/packages/phoenix/src/components/toggle/toggle_types.d.ts +0 -3
  100. package/build/esm/packages/phoenix/src/components/toggle/toggle_types.js +0 -2
  101. package/build/esm/packages/phoenix/src/components/toggle/toggle_types.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
6
- require('lit/decorators');
6
+ var decorators = require('lit/decorators');
7
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');
@@ -31,6 +31,7 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
31
31
  this.offset = 0;
32
32
  this.portalTarget = dropdown_constants.DEFAULT_DROPDOWN_PORTAL_NAME;
33
33
  this._backdropController = new backdrop_controller.BackdropController();
34
+ this._lastFocusableElement = undefined;
34
35
  this._handleClickOutside = async (target) => {
35
36
  var _a, _b;
36
37
  if (!this.opened)
@@ -63,10 +64,12 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
63
64
  }, 0);
64
65
  const transitionDuration = parseFloat(getComputedStyle(this.$dropdownContent || this).transitionDuration) * 1000;
65
66
  setTimeout(() => {
66
- var _a;
67
+ var _a, _b;
67
68
  this._dispatchShowDropdownEvent();
68
69
  (_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`);
69
70
  this._toggleScroll();
71
+ if (!this._lastFocusableElement)
72
+ this._lastFocusableElement = (_b = this.$dropdownContent) === null || _b === void 0 ? void 0 : _b.lastElementChild;
70
73
  resolve();
71
74
  }, transitionDuration);
72
75
  });
@@ -152,11 +155,14 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
152
155
  this._handleFocusOnNextElement(ev);
153
156
  };
154
157
  this._handleFocusOnNextElement = async (ev) => {
155
- var _a;
156
158
  ev.preventDefault();
157
159
  const $focusableElements = utilities.UiDomUtils.getFocusableElements(document.body);
158
160
  const indexOfDropdownToggler = $focusableElements.indexOf(this.$dropdownToggler);
159
- const $nextElementToFocus = (_a = $focusableElements[indexOfDropdownToggler + 1]) !== null && _a !== void 0 ? _a : $focusableElements[0];
161
+ const $nextElementToFocus = $focusableElements.find((currentElement, index) => {
162
+ if (index > indexOfDropdownToggler && !currentElement.closest(`${dropdown_constants.DROPDOWN_TOGGLER_NAME}[name="${this.name}"]`))
163
+ return currentElement;
164
+ return null;
165
+ });
160
166
  await this._hideDropdownsSequentially();
161
167
  await this.hide();
162
168
  this._focusOnNextElementAfterToggler($nextElementToFocus);
@@ -217,8 +223,12 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
217
223
  });
218
224
  }
219
225
  async connectedCallback() {
226
+ var _a;
220
227
  super.connectedCallback();
221
228
  HDropdown_1._appendDropdownPortal();
229
+ if (!this._rootDropdown)
230
+ this._rootDropdown =
231
+ ((_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.tagName.toLowerCase()) === 'h-dropdown-content' ? this._findRootDropdown(this.parentElement) : this;
222
232
  if (!this.$dropdownContent)
223
233
  this.$dropdownContent = this.querySelector(dropdown_constants.DROPDOWN_CONTENT_NAME);
224
234
  if (!this.$dropdownToggler)
@@ -364,6 +374,10 @@ tslib_es6.__decorate([
364
374
  decorators_js.property({ type: String }),
365
375
  tslib_es6.__metadata("design:type", Object)
366
376
  ], exports.HDropdown.prototype, "portalTarget", void 0);
377
+ tslib_es6.__decorate([
378
+ decorators.state(),
379
+ tslib_es6.__metadata("design:type", Object)
380
+ ], exports.HDropdown.prototype, "_lastFocusableElement", void 0);
367
381
  exports.HDropdown = HDropdown_1 = tslib_es6.__decorate([
368
382
  phoenix_custom_element.phoenixCustomElement('h-dropdown'),
369
383
  tslib_es6.__metadata("design:paramtypes", [])
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,4CAAgD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,14 +11,14 @@ var dropdown_constants = require('./dropdown_constants.js');
11
11
 
12
12
  exports.HDropdownContent = class HDropdownContent extends phoenix_light_lit_element.PhoenixLightLitElement {
13
13
  constructor() {
14
- super();
14
+ super(...arguments);
15
15
  this.name = '';
16
- this.slot = this.hasAttribute('slot') ? this.slot : 'content';
17
16
  }
18
17
  connectedCallback() {
19
18
  super.connectedCallback();
20
19
  this.classList.add(dropdown_constants.DROPDOWN_CONTENT_CSS_CLASS);
21
20
  this.setAttribute('role', 'menu');
21
+ this.slot = this.hasAttribute('slot') ? this.slot : 'content';
22
22
  Array.from(this.children).forEach((element) => {
23
23
  element.setAttribute('role', 'menuitem');
24
24
  });
@@ -33,7 +33,6 @@ tslib_es6.__decorate([
33
33
  tslib_es6.__metadata("design:type", Object)
34
34
  ], exports.HDropdownContent.prototype, "name", void 0);
35
35
  exports.HDropdownContent = tslib_es6.__decorate([
36
- phoenix_custom_element.phoenixCustomElement('h-dropdown-content'),
37
- tslib_es6.__metadata("design:paramtypes", [])
36
+ phoenix_custom_element.phoenixCustomElement('h-dropdown-content')
38
37
  ], exports.HDropdownContent);
39
38
  //# sourceMappingURL=dropdown_content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
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;"}
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib_es6 = require('../../../../../../../external/tslib/tslib.es6.js');
6
+ var lit = require('lit');
7
+ var decorators = require('lit/decorators');
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 icon_constants = require('../../../icon/icon_constants.js');
11
+ var file_picker_constants = require('../file_picker_constants.js');
12
+
13
+ exports.HFile = class HFile extends phoenix_light_lit_element.PhoenixLightLitElement {
14
+ constructor() {
15
+ super();
16
+ this._handleClick = () => {
17
+ const removeItemEvent = new CustomEvent(file_picker_constants.FILE_ITEM_EVENT_NAMES.removed, {
18
+ bubbles: true
19
+ });
20
+ this.dispatchEvent(removeItemEvent);
21
+ };
22
+ }
23
+ connectedCallback() {
24
+ super.connectedCallback();
25
+ this.setAttribute('aria-label', this.name);
26
+ this.classList.add(file_picker_constants.FILE_ITEM_CSS_CLASSES.file);
27
+ }
28
+ render() {
29
+ return lit.html `
30
+ <span class="${file_picker_constants.FILE_ITEM_CSS_CLASSES.fileName}">${this.name}</span>
31
+ <button
32
+ class="${file_picker_constants.FILE_ITEM_CSS_CLASSES.fileRemoveButton}"
33
+ @click="${this._handleClick}"
34
+ aria-label="${this.removeButtonText} ${this.name}"
35
+ >
36
+ ${this.removeButtonIconName
37
+ ? lit.html `<h-icon
38
+ class="${icon_constants.ICON_CSS_CLASSES.icon} ${file_picker_constants.FILE_PICKER_ICON_CSS_CLASSES.filePickerIcon}"
39
+ icon-name=${this.removeButtonIconName}
40
+ />`
41
+ : lit.nothing}
42
+ ${this.removeButtonText}
43
+ </button>
44
+ `;
45
+ }
46
+ };
47
+ tslib_es6.__decorate([
48
+ decorators.property({ type: String }),
49
+ tslib_es6.__metadata("design:type", String)
50
+ ], exports.HFile.prototype, "name", void 0);
51
+ tslib_es6.__decorate([
52
+ decorators.property({ type: String, attribute: 'container-id' }),
53
+ tslib_es6.__metadata("design:type", String)
54
+ ], exports.HFile.prototype, "containerId", void 0);
55
+ tslib_es6.__decorate([
56
+ decorators.property({ type: String, attribute: 'remove-button-text' }),
57
+ tslib_es6.__metadata("design:type", String)
58
+ ], exports.HFile.prototype, "removeButtonText", void 0);
59
+ tslib_es6.__decorate([
60
+ decorators.property({ type: String, attribute: 'remove-button-icon-name' }),
61
+ tslib_es6.__metadata("design:type", String)
62
+ ], exports.HFile.prototype, "removeButtonIconName", void 0);
63
+ exports.HFile = tslib_es6.__decorate([
64
+ phoenix_custom_element.phoenixCustomElement('h-file'),
65
+ tslib_es6.__metadata("design:paramtypes", [])
66
+ ], exports.HFile);
67
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,kDAAsD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ class FileItem {
6
+ constructor({ name, containerId, removeButtonText, removeButtonIconName }) {
7
+ this.name = name;
8
+ this.containerId = containerId;
9
+ this.removeButtonText = removeButtonText;
10
+ this.removeButtonIconName = removeButtonIconName;
11
+ }
12
+ static create(options) {
13
+ return new FileItem(options);
14
+ }
15
+ }
16
+
17
+ exports.FileItem = FileItem;
18
+ //# sourceMappingURL=file_model.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;"}
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;"}
@@ -0,0 +1,172 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib_es6 = require('../../../../../../external/tslib/tslib.es6.js');
6
+ var lit = require('lit');
7
+ var decorators = require('lit/decorators');
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 index = require('../../../../external/classnames/index.js');
11
+ var ref_js = require('lit-html/directives/ref.js');
12
+ var file_picker_constants = require('./file_picker_constants.js');
13
+ var file_model = require('./file/file_model.js');
14
+ var ifDefined = require('lit/directives/if-defined');
15
+
16
+ exports.HFilePicker = class HFilePicker extends phoenix_light_lit_element.PhoenixLightLitElement {
17
+ constructor() {
18
+ super();
19
+ this._$fileInputRef = ref_js.createRef();
20
+ this._handleChangeEvent = (event) => {
21
+ const filesList = this._getFiles(event);
22
+ if (filesList.length > 0) {
23
+ this.file = file_model.FileItem.create({
24
+ name: this._getFileName(filesList),
25
+ containerId: this.controlId,
26
+ removeButtonText: this.removeButtonText,
27
+ removeButtonIconName: this.removeButtonIconName
28
+ });
29
+ this.classList.add(file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerHasValue);
30
+ this._dispatchChangeEvent();
31
+ }
32
+ };
33
+ this._getFiles = (event) => {
34
+ const targetElement = event.currentTarget;
35
+ this.files = targetElement.files;
36
+ return this.files;
37
+ };
38
+ this._getFileName = (fileList) => {
39
+ return fileList[0].name;
40
+ };
41
+ this._getInputRefValue = () => {
42
+ return this._$fileInputRef.value;
43
+ };
44
+ this._removeFileItem = () => {
45
+ const $fileInput = this._getInputRefValue();
46
+ if ($fileInput)
47
+ $fileInput.value = '';
48
+ this.files = null;
49
+ this.file = file_model.FileItem.create({
50
+ name: '',
51
+ containerId: '',
52
+ removeButtonText: '',
53
+ removeButtonIconName: ''
54
+ });
55
+ this.classList.remove(file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerHasValue);
56
+ this._dispatchChangeEvent();
57
+ };
58
+ this._triggerClickOnLabel = () => {
59
+ const $fileInput = this._getInputRefValue();
60
+ if ($fileInput)
61
+ $fileInput.click();
62
+ };
63
+ this._dispatchChangeEvent = () => {
64
+ this.dispatchEvent(new Event('change'));
65
+ };
66
+ }
67
+ connectedCallback() {
68
+ super.connectedCallback();
69
+ this._addEventListeners();
70
+ const cssClasses = index['default']({
71
+ [file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerDisabled]: this.disabled,
72
+ [file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerRequired]: this.required,
73
+ [file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerError]: this.error
74
+ });
75
+ if (cssClasses)
76
+ this.classList.add(cssClasses);
77
+ }
78
+ disconnectedCallback() {
79
+ super.disconnectedCallback();
80
+ }
81
+ render() {
82
+ var _a, _b;
83
+ super.render();
84
+ return lit.html `
85
+ <input
86
+ ${ref_js.ref(this._$fileInputRef)}
87
+ type="file"
88
+ class="${file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerInput}"
89
+ id="${ifDefined.ifDefined(this.controlId)}"
90
+ name="${ifDefined.ifDefined(this.controlName)}"
91
+ ?disabled="${this.disabled}"
92
+ ?required="${this.required}"
93
+ accept="${ifDefined.ifDefined(this.accept)}"
94
+ @change="${this._handleChangeEvent}"
95
+ hidden
96
+ />
97
+
98
+ ${!((_a = this.file) === null || _a === void 0 ? void 0 : _a.name)
99
+ ? lit.html ` <h-file-picker-label
100
+ control-id="${this.controlId}"
101
+ label-text="${this.labelText}"
102
+ label-icon-name="${ifDefined.ifDefined(this.labelIconName)}"
103
+ />`
104
+ : lit.nothing}
105
+ ${((_b = this.file) === null || _b === void 0 ? void 0 : _b.name)
106
+ ? lit.html `<h-file
107
+ name="${this.file.name}"
108
+ container-id="${this.file.containerId}"
109
+ remove-button-text="${this.file.removeButtonText}"
110
+ remove-button-icon-name="${ifDefined.ifDefined(this.file.removeButtonIconName)}"
111
+ />`
112
+ : lit.nothing}
113
+ `;
114
+ }
115
+ _addEventListeners() {
116
+ this.addEventListener(file_picker_constants.FILE_ITEM_EVENT_NAMES.removed, this._removeFileItem);
117
+ this.addEventListener(file_picker_constants.FILE_PICKER_LABEL_EVENT_NAMES.filePickerLabelClickedByEnterKey, this._triggerClickOnLabel);
118
+ }
119
+ };
120
+ tslib_es6.__decorate([
121
+ decorators.property({ type: String, attribute: 'control-id', reflect: true }),
122
+ tslib_es6.__metadata("design:type", String)
123
+ ], exports.HFilePicker.prototype, "controlId", void 0);
124
+ tslib_es6.__decorate([
125
+ decorators.property({ type: String, attribute: 'control-name' }),
126
+ tslib_es6.__metadata("design:type", String)
127
+ ], exports.HFilePicker.prototype, "controlName", void 0);
128
+ tslib_es6.__decorate([
129
+ decorators.property({ type: Boolean }),
130
+ tslib_es6.__metadata("design:type", Boolean)
131
+ ], exports.HFilePicker.prototype, "disabled", void 0);
132
+ tslib_es6.__decorate([
133
+ decorators.property({ type: Boolean }),
134
+ tslib_es6.__metadata("design:type", Boolean)
135
+ ], exports.HFilePicker.prototype, "required", void 0);
136
+ tslib_es6.__decorate([
137
+ decorators.property({ type: Boolean }),
138
+ tslib_es6.__metadata("design:type", Boolean)
139
+ ], exports.HFilePicker.prototype, "error", void 0);
140
+ tslib_es6.__decorate([
141
+ decorators.property({ type: String, attribute: 'label-text' }),
142
+ tslib_es6.__metadata("design:type", String)
143
+ ], exports.HFilePicker.prototype, "labelText", void 0);
144
+ tslib_es6.__decorate([
145
+ decorators.property({ type: String, attribute: 'label-icon-name' }),
146
+ tslib_es6.__metadata("design:type", String)
147
+ ], exports.HFilePicker.prototype, "labelIconName", void 0);
148
+ tslib_es6.__decorate([
149
+ decorators.property({ type: String, attribute: 'remove-button-text' }),
150
+ tslib_es6.__metadata("design:type", String)
151
+ ], exports.HFilePicker.prototype, "removeButtonText", void 0);
152
+ tslib_es6.__decorate([
153
+ decorators.property({ type: String, attribute: 'remove-button-icon-name' }),
154
+ tslib_es6.__metadata("design:type", String)
155
+ ], exports.HFilePicker.prototype, "removeButtonIconName", void 0);
156
+ tslib_es6.__decorate([
157
+ decorators.property({ type: String }),
158
+ tslib_es6.__metadata("design:type", String)
159
+ ], exports.HFilePicker.prototype, "accept", void 0);
160
+ tslib_es6.__decorate([
161
+ decorators.property({ type: FileList, reflect: true }),
162
+ tslib_es6.__metadata("design:type", Object)
163
+ ], exports.HFilePicker.prototype, "files", void 0);
164
+ tslib_es6.__decorate([
165
+ decorators.state(),
166
+ tslib_es6.__metadata("design:type", file_model.FileItem)
167
+ ], exports.HFilePicker.prototype, "file", void 0);
168
+ exports.HFilePicker = tslib_es6.__decorate([
169
+ phoenix_custom_element.phoenixCustomElement('h-file-picker'),
170
+ tslib_es6.__metadata("design:paramtypes", [])
171
+ ], exports.HFilePicker);
172
+ //# sourceMappingURL=file_picker.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,oBAAoB,0CAA8C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,37 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const baseFileItemClass = 'file';
6
+ const FILE_ITEM_CSS_CLASSES = {
7
+ file: baseFileItemClass,
8
+ fileName: `${baseFileItemClass}__name`,
9
+ fileRemoveButton: `${baseFileItemClass}__remove-button`
10
+ };
11
+ const FILE_ITEM_EVENT_NAMES = {
12
+ removed: 'fileItemRemoved'
13
+ };
14
+ const baseFilePickerControlClass = 'file-picker';
15
+ const FILE_PICKER_CONTROL_CSS_CLASSES = {
16
+ filePicker: baseFilePickerControlClass,
17
+ filePickerDisabled: `${baseFilePickerControlClass}_disabled`,
18
+ filePickerRequired: `${baseFilePickerControlClass}_required`,
19
+ filePickerError: `${baseFilePickerControlClass}_error`,
20
+ filePickerHasValue: `${baseFilePickerControlClass}_has-value`,
21
+ filePickerInput: `${baseFilePickerControlClass}__input`,
22
+ filePickerLabel: `${baseFilePickerControlClass}__label`
23
+ };
24
+ const FILE_PICKER_LABEL_EVENT_NAMES = {
25
+ filePickerLabelClickedByEnterKey: 'filePickerLabelClickedByEnterKey'
26
+ };
27
+ const baseFilePickerIconClass = 'file-picker-icon';
28
+ const FILE_PICKER_ICON_CSS_CLASSES = {
29
+ filePickerIcon: baseFilePickerIconClass
30
+ };
31
+
32
+ exports.FILE_ITEM_CSS_CLASSES = FILE_ITEM_CSS_CLASSES;
33
+ exports.FILE_ITEM_EVENT_NAMES = FILE_ITEM_EVENT_NAMES;
34
+ exports.FILE_PICKER_CONTROL_CSS_CLASSES = FILE_PICKER_CONTROL_CSS_CLASSES;
35
+ exports.FILE_PICKER_ICON_CSS_CLASSES = FILE_PICKER_ICON_CSS_CLASSES;
36
+ exports.FILE_PICKER_LABEL_EVENT_NAMES = FILE_PICKER_LABEL_EVENT_NAMES;
37
+ //# sourceMappingURL=file_picker_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;AACA;AACA;AACA;AACA;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,59 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib_es6 = require('../../../../../../external/tslib/tslib.es6.js');
6
+ var lit = require('lit');
7
+ var decorators = require('lit/decorators');
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/btn_controller.js');
11
+ var icon_constants = require('../../icon/icon_constants.js');
12
+ var file_picker_constants = require('./file_picker_constants.js');
13
+
14
+ exports.HFilePickerLabel = class HFilePickerLabel extends phoenix_light_lit_element.PhoenixLightLitElement {
15
+ constructor() {
16
+ super();
17
+ this._dispatchClickEvent = () => {
18
+ this.dispatchEvent(new CustomEvent(file_picker_constants.FILE_PICKER_LABEL_EVENT_NAMES.filePickerLabelClickedByEnterKey, {
19
+ bubbles: true
20
+ }));
21
+ };
22
+ this._btnController = new btn_controller.BtnController(this, this._dispatchClickEvent);
23
+ }
24
+ connectedCallback() {
25
+ super.connectedCallback();
26
+ }
27
+ disconnectedCallback() {
28
+ super.disconnectedCallback();
29
+ }
30
+ render() {
31
+ super.render();
32
+ return lit.html `<label class="${file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerLabel}" for="${this.controlId}">
33
+ ${this.labelIconName
34
+ ? lit.html `<h-icon
35
+ class="${icon_constants.ICON_CSS_CLASSES.icon} ${file_picker_constants.FILE_PICKER_ICON_CSS_CLASSES.filePickerIcon}"
36
+ icon-name=${this.labelIconName}
37
+ />`
38
+ : lit.nothing}
39
+ ${this.labelText}
40
+ </label>`;
41
+ }
42
+ };
43
+ tslib_es6.__decorate([
44
+ decorators.property({ type: String, attribute: 'control-id', reflect: true }),
45
+ tslib_es6.__metadata("design:type", String)
46
+ ], exports.HFilePickerLabel.prototype, "controlId", void 0);
47
+ tslib_es6.__decorate([
48
+ decorators.property({ type: String, attribute: 'label-text' }),
49
+ tslib_es6.__metadata("design:type", String)
50
+ ], exports.HFilePickerLabel.prototype, "labelText", void 0);
51
+ tslib_es6.__decorate([
52
+ decorators.property({ type: String, attribute: 'label-icon-name' }),
53
+ tslib_es6.__metadata("design:type", String)
54
+ ], exports.HFilePickerLabel.prototype, "labelIconName", void 0);
55
+ exports.HFilePickerLabel = tslib_es6.__decorate([
56
+ phoenix_custom_element.phoenixCustomElement('h-file-picker-label'),
57
+ tslib_es6.__metadata("design:paramtypes", [])
58
+ ], exports.HFilePickerLabel);
59
+ //# sourceMappingURL=file_picker_label.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;"}
@@ -9,7 +9,6 @@ var decorators_js = require('@lit/reactive-element/decorators.js');
9
9
  var select_components_constatns = require('../select_components_constatns.js');
10
10
  var btn_controller = require('../../../../../controllers/btn_controller/btn_controller.js');
11
11
  var select_option_constants = require('./select_option_constants.js');
12
- require('@lit/reactive-element');
13
12
 
14
13
  exports.HOption = class HOption extends phoenix_light_lit_element.PhoenixLightLitElement {
15
14
  constructor() {
@@ -38,10 +37,12 @@ exports.HOption = class HOption extends phoenix_light_lit_element.PhoenixLightLi
38
37
  _setupEvents() {
39
38
  this.addEventListener('click', this._dispatchClickedEvent);
40
39
  }
41
- updated(changedProperties) {
42
- super.updated(changedProperties);
43
- if (changedProperties.has('selected'))
44
- this.selected ? this._addSelectedIcon() : this._removeSelectedIcon();
40
+ attributeChangedCallback(name, _old, value) {
41
+ super.attributeChangedCallback(name, _old, value);
42
+ switch (name) {
43
+ case 'selected':
44
+ this.selected ? this._addSelectedIcon() : this._removeSelectedIcon();
45
+ }
45
46
  }
46
47
  _addSelectedIcon() {
47
48
  this._$checkedIcon = document.createElement('h-icon');
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -29,16 +29,16 @@ class BaseSelectController {
29
29
  this._optionsObserver = new observer.Observer(this._calculateValuesRelatedToOptions);
30
30
  this.options$.subscribe(this._optionsObserver);
31
31
  }
32
- toggle(option) {
33
- option.selected ? this.deselect(option) : this.select(option);
32
+ toggleOption(option) {
33
+ option.selected ? this.deselectOption(option) : this.selectOption(option);
34
34
  }
35
- remove(optionValue) {
35
+ removeOption(optionValue) {
36
36
  const options = this.options$.getValue();
37
37
  if (!options)
38
38
  return;
39
39
  this.options$.notify(options.filter((option) => option.value !== optionValue));
40
40
  }
41
- add(option, position) {
41
+ addOption(option, position) {
42
42
  var _a;
43
43
  const options = (_a = this.options$.getValue()) !== null && _a !== void 0 ? _a : [];
44
44
  if (position === undefined) {
@@ -48,22 +48,22 @@ class BaseSelectController {
48
48
  }
49
49
  this.options$.notify([...options.slice(0, position - 1), option, ...options.slice(position - 1)]);
50
50
  }
51
- replace(options) {
51
+ replaceOptions(options) {
52
52
  this.options$.notify(options);
53
53
  }
54
- deselectAll() {
54
+ deselectOptions() {
55
55
  var _a;
56
56
  (_a = this.options$.getValue()) === null || _a === void 0 ? void 0 : _a.forEach((option) => (option.selected = false));
57
57
  this.selectedOptions$.notify([]);
58
- this.requestUpdate();
58
+ this.requestOptionsUpdate();
59
59
  }
60
- deselect(option) {
60
+ deselectOption(option) {
61
61
  var _a;
62
62
  (_a = this.options$.getValue()) === null || _a === void 0 ? void 0 : _a.forEach((option) => (option.selected = false));
63
63
  this.selectedOptions$.notify([]);
64
- this.requestUpdate();
64
+ this.requestOptionsUpdate();
65
65
  }
66
- filter(value) {
66
+ filterOptions(value) {
67
67
  const selectOptions = this.options$.getValue();
68
68
  if (!selectOptions)
69
69
  return;
@@ -72,16 +72,16 @@ class BaseSelectController {
72
72
  filtered.forEach((option) => {
73
73
  option.hidden = false;
74
74
  });
75
- this.requestUpdate();
75
+ this.requestOptionsUpdate();
76
76
  }
77
- requestUpdate() {
77
+ requestOptionsUpdate() {
78
78
  const selectOptions = this.options$.getValue();
79
79
  if (!selectOptions)
80
80
  return;
81
81
  this.options$.notify([...selectOptions]);
82
82
  this.host.requestUpdate();
83
83
  }
84
- getOption(selectValue) {
84
+ getSelectOption(selectValue) {
85
85
  var _a;
86
86
  return (_a = this.options$.getValue()) === null || _a === void 0 ? void 0 : _a.find((option) => option.value === selectValue);
87
87
  }
@@ -5,18 +5,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var base_select_controller = require('./base_select_controller.js');
6
6
 
7
7
  class MultiSelectController extends base_select_controller.BaseSelectController {
8
- toggle(option) {
9
- option.selected ? this.deselect(option) : this.select(option);
8
+ toggleOption(option) {
9
+ option.selected ? this.deselectOption(option) : this.selectOption(option);
10
10
  }
11
- select(option) {
11
+ selectOption(option) {
12
12
  option.selected = true;
13
13
  this.selectedOptions$.notify((selectedOptions) => [...selectedOptions, option]);
14
- this.requestUpdate();
14
+ this.requestOptionsUpdate();
15
15
  }
16
- deselect(option) {
16
+ deselectOption(option) {
17
17
  option.selected = false;
18
18
  this.selectedOptions$.notify((selectedOptions) => selectedOptions.filter((currOption) => currOption.value !== option.value));
19
- this.requestUpdate();
19
+ this.requestOptionsUpdate();
20
20
  }
21
21
  }
22
22
 
@@ -5,13 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var base_select_controller = require('./base_select_controller.js');
6
6
 
7
7
  class SelectController extends base_select_controller.BaseSelectController {
8
- select(option) {
8
+ selectOption(option) {
9
9
  var _a;
10
10
  const selectedOptions = (_a = this.options$.getValue()) !== null && _a !== void 0 ? _a : [];
11
11
  selectedOptions.forEach((option) => (option.selected = false));
12
12
  option.selected = true;
13
13
  this.selectedOptions$.notify([option]);
14
- this.requestUpdate();
14
+ this.requestOptionsUpdate();
15
15
  }
16
16
  }
17
17