@shoper/phoenix_design_system 1.2.3-2 → 1.2.3-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) 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 +69 -0
  6. package/build/cjs/packages/phoenix/src/components/{toggle/toggle_button.js.map → form/file_picker/file/file.js.map} +1 -1
  7. package/build/cjs/packages/phoenix/src/components/form/file_picker/file/file_model.js +16 -0
  8. package/build/{esm/packages/phoenix/src/components/form/input_stepper/input_stepper_constants.js.map → cjs/packages/phoenix/src/components/form/file_picker/file/file_model.js.map} +1 -1
  9. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker.js +162 -0
  10. package/build/cjs/packages/phoenix/src/components/form/{input_stepper/input_stepper.js.map → file_picker/file_picker.js.map} +1 -1
  11. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker_constants.js +37 -0
  12. package/build/{esm/packages/phoenix/src/components/form/input_stepper/stepper_action_button.js.map → cjs/packages/phoenix/src/components/form/file_picker/file_picker_constants.js.map} +1 -1
  13. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker_label.js +53 -0
  14. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js +6 -5
  15. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
  16. package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js +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 -87
  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 -39
  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 +11 -0
  40. package/build/esm/packages/phoenix/src/components/form/file_picker/file/file.js +67 -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 +7 -0
  43. package/build/esm/packages/phoenix/src/components/form/file_picker/file/file_model.js +12 -0
  44. package/build/esm/packages/phoenix/src/components/{toggle/toggle_constants.js.map → 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 +27 -0
  46. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker.js +160 -0
  47. package/build/esm/packages/phoenix/src/components/form/{input_stepper/input_stepper.js.map → file_picker/file_picker.js.map} +1 -1
  48. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_constants.d.ts +27 -0
  49. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_constants.js +29 -0
  50. package/build/{cjs/packages/phoenix/src/components/form/input_stepper/input_stepper_constants.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 +11 -0
  52. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_label.js +51 -0
  53. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_types.d.ts +6 -0
  54. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_types.js +2 -0
  55. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker_types.js.map +1 -0
  56. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.d.ts +1 -2
  57. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js +6 -5
  58. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
  59. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js +1 -1
  60. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.d.ts +10 -10
  61. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +13 -13
  62. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.d.ts +3 -3
  63. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +6 -6
  64. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controller.d.ts +1 -1
  65. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controller.js +2 -2
  66. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controllers_types.d.ts +9 -9
  67. package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +3 -16
  68. package/build/esm/packages/phoenix/src/components/form/select/select.js +26 -88
  69. package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
  70. package/build/esm/packages/phoenix/src/components/form/select/select_constants.d.ts +0 -4
  71. package/build/esm/packages/phoenix/src/components/form/select/select_constants.js +1 -5
  72. package/build/esm/packages/phoenix/src/components/form/select/select_constants.js.map +1 -1
  73. package/build/esm/packages/phoenix/src/components/form/select/select_utils.d.ts +0 -2
  74. package/build/esm/packages/phoenix/src/components/form/select/select_utils.js +0 -6
  75. package/build/esm/packages/phoenix/src/components/form/select/select_utils.js.map +1 -1
  76. package/build/esm/packages/phoenix/src/components/modal/modal.js +1 -1
  77. package/build/esm/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js +2 -6
  78. package/build/esm/packages/phoenix/src/controllers/click_outside_controller/click_outside_controller.js.map +1 -1
  79. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.d.ts +0 -1
  80. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +3 -16
  81. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
  82. package/build/esm/packages/phoenix/src/index.d.ts +3 -7
  83. package/build/esm/packages/phoenix/src/index.js +3 -6
  84. package/build/esm/packages/phoenix/src/index.js.map +1 -1
  85. package/package.json +3 -3
  86. package/build/cjs/external/lit/external/lit-html/directives/template-content.js +0 -15
  87. package/build/cjs/external/lit/external/lit-html/directives/template-content.js.map +0 -1
  88. package/build/cjs/packages/phoenix/src/components/form/input_stepper/display_input.js +0 -53
  89. package/build/cjs/packages/phoenix/src/components/form/input_stepper/input_stepper.js +0 -96
  90. package/build/cjs/packages/phoenix/src/components/form/input_stepper/input_stepper_constants.js +0 -20
  91. package/build/cjs/packages/phoenix/src/components/form/input_stepper/stepper_action_button.js +0 -39
  92. package/build/cjs/packages/phoenix/src/components/form/input_stepper/stepper_action_button.js.map +0 -1
  93. package/build/cjs/packages/phoenix/src/components/toggle/toggle.js +0 -43
  94. package/build/cjs/packages/phoenix/src/components/toggle/toggle.js.map +0 -1
  95. package/build/cjs/packages/phoenix/src/components/toggle/toggle_button.js +0 -57
  96. package/build/cjs/packages/phoenix/src/components/toggle/toggle_constants.js +0 -15
  97. package/build/cjs/packages/phoenix/src/components/toggle/toggle_constants.js.map +0 -1
  98. package/build/esm/external/lit/external/lit-html/directives/template-content.js +0 -11
  99. package/build/esm/external/lit/external/lit-html/directives/template-content.js.map +0 -1
  100. package/build/esm/packages/phoenix/src/components/form/input_stepper/display_input.d.ts +0 -9
  101. package/build/esm/packages/phoenix/src/components/form/input_stepper/display_input.js +0 -51
  102. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper.d.ts +0 -19
  103. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper.js +0 -94
  104. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper_constants.d.ts +0 -11
  105. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper_constants.js +0 -14
  106. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper_types.d.ts +0 -3
  107. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper_types.js +0 -3
  108. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper_types.js.map +0 -1
  109. package/build/esm/packages/phoenix/src/components/form/input_stepper/stepper_action_button.d.ts +0 -8
  110. package/build/esm/packages/phoenix/src/components/form/input_stepper/stepper_action_button.js +0 -37
  111. package/build/esm/packages/phoenix/src/components/form/select/select_types.d.ts +0 -2
  112. package/build/esm/packages/phoenix/src/components/form/select/select_types.js +0 -2
  113. package/build/esm/packages/phoenix/src/components/form/select/select_types.js.map +0 -1
  114. package/build/esm/packages/phoenix/src/components/toggle/toggle.d.ts +0 -11
  115. package/build/esm/packages/phoenix/src/components/toggle/toggle.js +0 -41
  116. package/build/esm/packages/phoenix/src/components/toggle/toggle.js.map +0 -1
  117. package/build/esm/packages/phoenix/src/components/toggle/toggle_button.d.ts +0 -14
  118. package/build/esm/packages/phoenix/src/components/toggle/toggle_button.js +0 -55
  119. package/build/esm/packages/phoenix/src/components/toggle/toggle_constants.d.ts +0 -6
  120. package/build/esm/packages/phoenix/src/components/toggle/toggle_constants.js +0 -9
  121. package/build/esm/packages/phoenix/src/components/toggle/toggle_types.d.ts +0 -3
  122. package/build/esm/packages/phoenix/src/components/toggle/toggle_types.js +0 -2
  123. package/build/esm/packages/phoenix/src/components/toggle/toggle_types.js.map +0 -1
  124. /package/build/cjs/packages/phoenix/src/components/form/{input_stepper/display_input.js.map → file_picker/file_picker_label.js.map} +0 -0
  125. /package/build/esm/packages/phoenix/src/components/form/{input_stepper/display_input.js.map → file_picker/file_picker_label.js.map} +0 -0
@@ -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,69 @@
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(...arguments);
16
+ this._handleClick = () => {
17
+ const removeItemEvent = new CustomEvent(file_picker_constants.FILE_ITEM_EVENT_NAMES.removed, {
18
+ bubbles: true,
19
+ detail: {
20
+ fileId: this.id
21
+ }
22
+ });
23
+ this.dispatchEvent(removeItemEvent);
24
+ };
25
+ }
26
+ connectedCallback() {
27
+ super.connectedCallback();
28
+ this.setAttribute('aria-label', this.name);
29
+ this.classList.add(file_picker_constants.FILE_ITEM_CSS_CLASSES.file);
30
+ }
31
+ render() {
32
+ return lit.html `
33
+ <span class="${file_picker_constants.FILE_ITEM_CSS_CLASSES.fileName}">${this.name}</span>
34
+ <button
35
+ class="${file_picker_constants.FILE_ITEM_CSS_CLASSES.fileRemoveButton}"
36
+ @click="${this._handleClick}"
37
+ aria-label="${this.removeButtonText} ${this.name}"
38
+ >
39
+ ${this.removeButtonIconName
40
+ ? lit.html `<h-icon
41
+ class="${icon_constants.ICON_CSS_CLASSES.icon} ${file_picker_constants.FILE_PICKER_ICON_CSS_CLASSES.filePickerIcon}"
42
+ icon-name=${this.removeButtonIconName}
43
+ />`
44
+ : lit.nothing}
45
+ ${this.removeButtonText}
46
+ </button>
47
+ `;
48
+ }
49
+ };
50
+ tslib_es6.__decorate([
51
+ decorators.property({ type: String }),
52
+ tslib_es6.__metadata("design:type", String)
53
+ ], exports.HFile.prototype, "name", void 0);
54
+ tslib_es6.__decorate([
55
+ decorators.property({ type: String }),
56
+ tslib_es6.__metadata("design:type", String)
57
+ ], exports.HFile.prototype, "id", void 0);
58
+ tslib_es6.__decorate([
59
+ decorators.property({ type: String, attribute: 'remove-button-text' }),
60
+ tslib_es6.__metadata("design:type", String)
61
+ ], exports.HFile.prototype, "removeButtonText", void 0);
62
+ tslib_es6.__decorate([
63
+ decorators.property({ type: String, attribute: 'remove-button-icon-name' }),
64
+ tslib_es6.__metadata("design:type", String)
65
+ ], exports.HFile.prototype, "removeButtonIconName", void 0);
66
+ exports.HFile = tslib_es6.__decorate([
67
+ phoenix_custom_element.phoenixCustomElement('h-file')
68
+ ], exports.HFile);
69
+ //# sourceMappingURL=file.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;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,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;AACA;AACA;"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ class FileItem {
6
+ constructor({ name, id }) {
7
+ this.name = name;
8
+ this.id = id;
9
+ }
10
+ static create(options) {
11
+ return new FileItem(options);
12
+ }
13
+ }
14
+
15
+ exports.FileItem = FileItem;
16
+ //# 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;"}
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;"}
@@ -0,0 +1,162 @@
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 v4 = require('../../../../../../external/uuid/dist/esm-browser/v4.js');
13
+ var file_picker_constants = require('./file_picker_constants.js');
14
+ var file_model = require('./file/file_model.js');
15
+ var ifDefined = require('lit/directives/if-defined');
16
+
17
+ exports.HFilePicker = class HFilePicker extends phoenix_light_lit_element.PhoenixLightLitElement {
18
+ constructor() {
19
+ super(...arguments);
20
+ this._$fileInputRef = ref_js.createRef();
21
+ this._handleChangeEvent = (event) => {
22
+ const filesList = this._getFiles(event);
23
+ if (filesList && filesList.length > 0) {
24
+ this.file = file_model.FileItem.create({
25
+ name: this._getFileName(filesList),
26
+ id: `file-${v4['default']()}`
27
+ });
28
+ this.classList.add(file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerHasValue);
29
+ this._dispatchChangeEvent();
30
+ }
31
+ };
32
+ this._getFiles = (event) => {
33
+ const targetElement = event.currentTarget;
34
+ return targetElement.files;
35
+ };
36
+ this._getFileName = (fileList) => {
37
+ return fileList[0].name;
38
+ };
39
+ this._getInputRefValue = () => {
40
+ return this._$fileInputRef.value;
41
+ };
42
+ this._removeFileItem = () => {
43
+ const $fileInput = this._getInputRefValue();
44
+ if ($fileInput) {
45
+ $fileInput.value = '';
46
+ $fileInput.files = null;
47
+ }
48
+ this.file = null;
49
+ this.classList.remove(file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerHasValue);
50
+ this._dispatchChangeEvent();
51
+ };
52
+ this._triggerClickOnLabel = () => {
53
+ const $fileInput = this._getInputRefValue();
54
+ if ($fileInput)
55
+ $fileInput.click();
56
+ };
57
+ this._dispatchChangeEvent = () => {
58
+ this.dispatchEvent(new Event('change'));
59
+ };
60
+ }
61
+ connectedCallback() {
62
+ super.connectedCallback();
63
+ this._addEventListeners();
64
+ const cssClasses = index['default']({
65
+ [file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerDisabled]: this.disabled,
66
+ [file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerRequired]: this.required,
67
+ [file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerError]: this.error
68
+ });
69
+ if (cssClasses)
70
+ this.classList.add(cssClasses);
71
+ }
72
+ render() {
73
+ var _a, _b;
74
+ super.render();
75
+ return lit.html `
76
+ <input
77
+ ${ref_js.ref(this._$fileInputRef)}
78
+ type="file"
79
+ class="${file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerInput}"
80
+ id="${ifDefined.ifDefined(this.controlId)}"
81
+ name="${ifDefined.ifDefined(this.controlName)}"
82
+ ?disabled="${this.disabled}"
83
+ ?required="${this.required}"
84
+ accept="${ifDefined.ifDefined(this.accept)}"
85
+ @change="${this._handleChangeEvent}"
86
+ hidden
87
+ />
88
+
89
+ ${!((_a = this.file) === null || _a === void 0 ? void 0 : _a.name)
90
+ ? lit.html ` <h-file-picker-label
91
+ control-id="${this.controlId}"
92
+ label-text="${this.labelText}"
93
+ label-icon-name="${ifDefined.ifDefined(this.labelIconName)}"
94
+ />`
95
+ : lit.nothing}
96
+ ${((_b = this.file) === null || _b === void 0 ? void 0 : _b.name)
97
+ ? lit.html `<h-file
98
+ name="${this.file.name}"
99
+ id="${this.file.id}"
100
+ remove-button-text="${this.removeButtonText}"
101
+ remove-button-icon-name="${ifDefined.ifDefined(this.removeButtonIconName)}"
102
+ />`
103
+ : lit.nothing}
104
+ `;
105
+ }
106
+ get files() {
107
+ const $fileInput = this._getInputRefValue();
108
+ return $fileInput.files;
109
+ }
110
+ _addEventListeners() {
111
+ this.addEventListener(file_picker_constants.FILE_ITEM_EVENT_NAMES.removed, this._removeFileItem);
112
+ this.addEventListener(file_picker_constants.FILE_PICKER_LABEL_EVENT_NAMES.filePickerLabelClickedByEnterKey, this._triggerClickOnLabel);
113
+ }
114
+ };
115
+ tslib_es6.__decorate([
116
+ decorators.property({ type: String, attribute: 'control-id', reflect: true }),
117
+ tslib_es6.__metadata("design:type", String)
118
+ ], exports.HFilePicker.prototype, "controlId", void 0);
119
+ tslib_es6.__decorate([
120
+ decorators.property({ type: String, attribute: 'control-name' }),
121
+ tslib_es6.__metadata("design:type", String)
122
+ ], exports.HFilePicker.prototype, "controlName", void 0);
123
+ tslib_es6.__decorate([
124
+ decorators.property({ type: Boolean }),
125
+ tslib_es6.__metadata("design:type", Boolean)
126
+ ], exports.HFilePicker.prototype, "disabled", void 0);
127
+ tslib_es6.__decorate([
128
+ decorators.property({ type: Boolean }),
129
+ tslib_es6.__metadata("design:type", Boolean)
130
+ ], exports.HFilePicker.prototype, "required", void 0);
131
+ tslib_es6.__decorate([
132
+ decorators.property({ type: Boolean }),
133
+ tslib_es6.__metadata("design:type", Boolean)
134
+ ], exports.HFilePicker.prototype, "error", void 0);
135
+ tslib_es6.__decorate([
136
+ decorators.property({ type: String, attribute: 'label-text' }),
137
+ tslib_es6.__metadata("design:type", String)
138
+ ], exports.HFilePicker.prototype, "labelText", void 0);
139
+ tslib_es6.__decorate([
140
+ decorators.property({ type: String, attribute: 'label-icon-name' }),
141
+ tslib_es6.__metadata("design:type", String)
142
+ ], exports.HFilePicker.prototype, "labelIconName", void 0);
143
+ tslib_es6.__decorate([
144
+ decorators.property({ type: String, attribute: 'remove-button-text' }),
145
+ tslib_es6.__metadata("design:type", String)
146
+ ], exports.HFilePicker.prototype, "removeButtonText", void 0);
147
+ tslib_es6.__decorate([
148
+ decorators.property({ type: String, attribute: 'remove-button-icon-name' }),
149
+ tslib_es6.__metadata("design:type", String)
150
+ ], exports.HFilePicker.prototype, "removeButtonIconName", void 0);
151
+ tslib_es6.__decorate([
152
+ decorators.property({ type: String }),
153
+ tslib_es6.__metadata("design:type", String)
154
+ ], exports.HFilePicker.prototype, "accept", void 0);
155
+ tslib_es6.__decorate([
156
+ decorators.state(),
157
+ tslib_es6.__metadata("design:type", Object)
158
+ ], exports.HFilePicker.prototype, "file", void 0);
159
+ exports.HFilePicker = tslib_es6.__decorate([
160
+ phoenix_custom_element.phoenixCustomElement('h-file-picker')
161
+ ], exports.HFilePicker);
162
+ //# sourceMappingURL=file_picker.js.map
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,oBAAoB,0CAA8C;AAClE;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;"}
@@ -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
@@ -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;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;"}
@@ -0,0 +1,53 @@
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
+ render() {
25
+ super.render();
26
+ return lit.html `<label class="${file_picker_constants.FILE_PICKER_CONTROL_CSS_CLASSES.filePickerLabel}" for="${this.controlId}">
27
+ ${this.labelIconName
28
+ ? lit.html `<h-icon
29
+ class="${icon_constants.ICON_CSS_CLASSES.icon} ${file_picker_constants.FILE_PICKER_ICON_CSS_CLASSES.filePickerIcon}"
30
+ icon-name=${this.labelIconName}
31
+ />`
32
+ : lit.nothing}
33
+ ${this.labelText}
34
+ </label>`;
35
+ }
36
+ };
37
+ tslib_es6.__decorate([
38
+ decorators.property({ type: String, attribute: 'control-id', reflect: true }),
39
+ tslib_es6.__metadata("design:type", String)
40
+ ], exports.HFilePickerLabel.prototype, "controlId", void 0);
41
+ tslib_es6.__decorate([
42
+ decorators.property({ type: String, attribute: 'label-text' }),
43
+ tslib_es6.__metadata("design:type", String)
44
+ ], exports.HFilePickerLabel.prototype, "labelText", void 0);
45
+ tslib_es6.__decorate([
46
+ decorators.property({ type: String, attribute: 'label-icon-name' }),
47
+ tslib_es6.__metadata("design:type", String)
48
+ ], exports.HFilePickerLabel.prototype, "labelIconName", void 0);
49
+ exports.HFilePickerLabel = tslib_es6.__decorate([
50
+ phoenix_custom_element.phoenixCustomElement('h-file-picker-label'),
51
+ tslib_es6.__metadata("design:paramtypes", [])
52
+ ], exports.HFilePickerLabel);
53
+ //# sourceMappingURL=file_picker_label.js.map
@@ -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;"}
@@ -55,7 +55,7 @@ exports.HSelectToggler = class HSelectToggler extends phoenix_light_lit_element.
55
55
  ${observable_directive.observe(this.selectedOptions$, (selectOptions) => {
56
56
  var _a;
57
57
  if (!selectOptions.length)
58
- return litHtml.html `${(_a = this.getSlot(select_components_constatns.SELECT_INPUT_PLACEHOLDER_SLOT_NAME)) !== null && _a !== void 0 ? _a : litHtml.html `<span class=${select_toggler_constants.SELECT_TOGGLER_CSS_CLASSES.selectTogglerPlaceholder}>Select</span>`}`;
58
+ return litHtml.html `${(_a = this.getSlot(select_components_constatns.SELECT_INPUT_PLACEHOLDER_SLOT_NAME)) !== null && _a !== void 0 ? _a : 'Select'}`;
59
59
  return litHtml.html ` <ul class=${select_toggler_constants.SELECT_TOGGLER_CSS_CLASSES.selectTogglerValues}>
60
60
  ${this.isMultiselect
61
61
  ? selectOptions.map((option) => litHtml.html ` <li>
@@ -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