@shoper/phoenix_design_system 1.15.11-16 → 1.15.11-17

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 (52) hide show
  1. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +2 -9
  2. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  3. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js +5 -23
  4. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search.js +0 -31
  6. package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search.js.map +1 -1
  7. package/build/cjs/packages/phoenix/src/components/form/select/components/select_options.js +2 -2
  8. package/build/cjs/packages/phoenix/src/components/form/select/select.js +19 -78
  9. package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
  10. package/build/cjs/packages/phoenix/src/components/slider/slider.js +19 -0
  11. package/build/cjs/packages/phoenix/src/components/slider/slider.js.map +1 -1
  12. package/build/cjs/packages/phoenix/src/components/slider/slider_constants.js +11 -0
  13. package/build/cjs/packages/phoenix/src/components/slider/slider_constants.js.map +1 -0
  14. package/build/cjs/packages/phoenix/src/controllers/list_box_controller/list_box_keyboard_controller.js +30 -76
  15. package/build/cjs/packages/phoenix/src/controllers/list_box_controller/list_box_keyboard_controller.js.map +1 -1
  16. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +0 -1
  17. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +2 -9
  18. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  19. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.d.ts +0 -3
  20. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js +5 -23
  21. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js.map +1 -1
  22. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search.d.ts +0 -4
  23. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search.js +0 -31
  24. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search.js.map +1 -1
  25. package/build/esm/packages/phoenix/src/components/form/select/components/select_options.js +2 -2
  26. package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +5 -14
  27. package/build/esm/packages/phoenix/src/components/form/select/select.js +19 -78
  28. package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
  29. package/build/esm/packages/phoenix/src/components/slider/slider.d.ts +3 -0
  30. package/build/esm/packages/phoenix/src/components/slider/slider.js +19 -0
  31. package/build/esm/packages/phoenix/src/components/slider/slider.js.map +1 -1
  32. package/build/esm/packages/phoenix/src/components/slider/slider_constants.d.ts +4 -0
  33. package/build/esm/packages/phoenix/src/components/slider/slider_constants.js +7 -0
  34. package/build/esm/packages/phoenix/src/components/slider/slider_constants.js.map +1 -0
  35. package/build/esm/packages/phoenix/src/components/slider/slider_types.d.ts +3 -0
  36. package/build/esm/packages/phoenix/src/components/slider/slider_types.js +2 -0
  37. package/build/esm/packages/phoenix/src/components/slider/slider_types.js.map +1 -1
  38. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_controller_types.d.ts +2 -6
  39. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_controller_types.js +0 -1
  40. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_controller_types.js.map +1 -1
  41. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_keyboard_controller.d.ts +3 -8
  42. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_keyboard_controller.js +30 -76
  43. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_keyboard_controller.js.map +1 -1
  44. package/package.json +2 -2
  45. package/build/cjs/packages/phoenix/src/components/form/select/controllers/select_toggler_keyboard_controller/select_toggler_keyboard_controller.js +0 -98
  46. package/build/cjs/packages/phoenix/src/components/form/select/controllers/select_toggler_keyboard_controller/select_toggler_keyboard_controller.js.map +0 -1
  47. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_toggler_keyboard_controller/select_toggler_keyboard_controller.d.ts +0 -15
  48. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_toggler_keyboard_controller/select_toggler_keyboard_controller.js +0 -94
  49. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_toggler_keyboard_controller/select_toggler_keyboard_controller.js.map +0 -1
  50. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_toggler_keyboard_controller/select_toggler_keyboard_controller_types.d.ts +0 -8
  51. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_toggler_keyboard_controller/select_toggler_keyboard_controller_types.js +0 -3
  52. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_toggler_keyboard_controller/select_toggler_keyboard_controller_types.js.map +0 -1
@@ -5,64 +5,37 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
6
6
  require('lit');
7
7
  var utilities = require('@dreamcommerce/utilities');
8
+ var keystrokes_controller = require('../keystrokes_controller/keystrokes_controller.js');
8
9
  var list_box_controller_constants = require('./list_box_controller_constants.js');
9
10
 
10
- var _ListBoxKeyboardController_host, _ListBoxKeyboardController__$list, _ListBoxKeyboardController__$options, _ListBoxKeyboardController_listItemSelector, _ListBoxKeyboardController_keys;
11
+ var _ListBoxKeyboardController_host, _ListBoxKeyboardController__$list, _ListBoxKeyboardController_currentOptionIndex, _ListBoxKeyboardController__$options, _ListBoxKeyboardController_listItemSelector, _ListBoxKeyboardController_keys;
11
12
  class ListBoxKeyboardController {
12
13
  constructor({ host, $list, listItemSelector = '[role="option"]', orientation = list_box_controller_constants.LIST_BOX_KEYBOARD_NAVIGATION_DIRECTIONS.vertical }) {
13
14
  _ListBoxKeyboardController_host.set(this, void 0);
14
15
  _ListBoxKeyboardController__$list.set(this, void 0);
16
+ _ListBoxKeyboardController_currentOptionIndex.set(this, void 0);
15
17
  _ListBoxKeyboardController__$options.set(this, void 0);
16
18
  _ListBoxKeyboardController_listItemSelector.set(this, void 0);
17
19
  _ListBoxKeyboardController_keys.set(this, void 0);
18
- this._handleKeyboardNavigation = (ev) => {
19
- if (tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_keys, "f").find((key) => key === ev.key)) {
20
- this._handleArrowNavigation(ev);
21
- return;
22
- }
23
- this._handleWriteableCharacter(ev);
24
- };
25
20
  this._handleArrowNavigation = (event) => {
26
21
  event.preventDefault();
27
22
  const { key } = event;
28
- const $availableOptions = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").filter(($option) => {
29
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.hidden;
30
- });
31
- const prevOptionIndex = this._findCurrentIndex();
23
+ const prevOptionIndex = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f");
32
24
  let newOptionIndex = key === 'ArrowDown' || key === 'ArrowRight' ? this._getNextOptionIndex() : this._getPrevOptionIndex();
33
25
  if (newOptionIndex === undefined) {
34
- newOptionIndex = this._findCurrentIndex();
26
+ const selectedOptionIndex = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").findIndex(($option) => $option.selected);
27
+ newOptionIndex = selectedOptionIndex !== -1 ? selectedOptionIndex : 0;
35
28
  }
36
- if (newOptionIndex === this.currentOptionIndex)
29
+ if (newOptionIndex === tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f"))
37
30
  return;
38
31
  if (prevOptionIndex !== undefined) {
39
32
  const $prevOption = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f")[prevOptionIndex];
40
- $prevOption && utilities.UiDomUtils.makeUnnavigable($prevOption);
33
+ utilities.UiDomUtils.makeUnnavigable($prevOption);
41
34
  }
42
- this.currentOptionIndex = newOptionIndex;
43
- const $focusedOption = $availableOptions[newOptionIndex];
44
- if ($focusedOption) {
45
- utilities.UiDomUtils.makeNavigable($focusedOption);
46
- $focusedOption.focus();
47
- }
48
- };
49
- this._findCurrentIndex = () => {
50
- const $availableOptions = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").filter(($option) => {
51
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.hidden;
52
- });
53
- const selectedOptionIndex = $availableOptions.findIndex(($option) => $option.selected);
54
- return selectedOptionIndex !== -1 ? selectedOptionIndex : 0;
55
- };
56
- this._handleWriteableCharacter = (ev) => {
57
- var _a;
58
- const $searchInput = (_a = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_host, "f").$search.value) === null || _a === void 0 ? void 0 : _a.querySelector('[role="search"]');
59
- if (!$searchInput)
60
- return;
61
- $searchInput === null || $searchInput === void 0 ? void 0 : $searchInput.focus();
62
- };
63
- this.calculateSelectedOptionIndex = () => {
64
- const selectedOptionIndex = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").findIndex(($option) => $option.selected);
65
- this.currentOptionIndex = selectedOptionIndex !== -1 ? selectedOptionIndex : 0;
35
+ tslib_es6.__classPrivateFieldSet(this, _ListBoxKeyboardController_currentOptionIndex, newOptionIndex, "f");
36
+ const $focusedOption = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f")[newOptionIndex];
37
+ utilities.UiDomUtils.makeNavigable($focusedOption);
38
+ $focusedOption.focus();
66
39
  };
67
40
  tslib_es6.__classPrivateFieldSet(this, _ListBoxKeyboardController_host, host, "f");
68
41
  tslib_es6.__classPrivateFieldSet(this, _ListBoxKeyboardController__$list, $list, "f");
@@ -72,59 +45,40 @@ class ListBoxKeyboardController {
72
45
  tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_host, "f").addController(this);
73
46
  }
74
47
  hostConnected() {
75
- tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f").addEventListener('keydown', this._handleKeyboardNavigation);
48
+ new keystrokes_controller.KeystrokesController({
49
+ host: tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_host, "f"),
50
+ keys: tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_keys, "f"),
51
+ callback: this._handleArrowNavigation,
52
+ target: tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f")
53
+ });
76
54
  utilities.UiDomUtils.makeNavigable(tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f"));
77
55
  tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f").addEventListener('focusin', (event) => {
78
56
  if (event.target !== tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f"))
79
57
  return;
80
- if (this.currentOptionIndex === undefined)
58
+ if (tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") === undefined)
81
59
  return;
82
- const $prevOption = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f")[this.currentOptionIndex];
60
+ const $prevOption = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f")[tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f")];
83
61
  utilities.UiDomUtils.makeUnnavigable($prevOption);
84
- this.currentOptionIndex = undefined;
62
+ tslib_es6.__classPrivateFieldSet(this, _ListBoxKeyboardController_currentOptionIndex, undefined, "f");
85
63
  });
86
64
  tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").forEach(($option) => utilities.UiDomUtils.makeUnnavigable($option));
87
65
  }
88
66
  _getPrevOptionIndex() {
89
- if (this.currentOptionIndex === undefined)
67
+ if (tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") === undefined)
90
68
  return undefined;
91
- if (this.currentOptionIndex <= 0)
92
- return this.currentOptionIndex;
93
- if (this.currentOptionIndex <= 0)
94
- return this.currentOptionIndex;
95
- const $availableOptions = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").filter(($option) => {
96
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.hidden;
97
- });
98
- if (!!$availableOptions[this.currentOptionIndex - 1])
99
- return this.currentOptionIndex - 1;
100
- // bo ktoś wpisał coś w searcha i index obecnie wybranej opcji jest inny
101
- const newIndexOfCurrentlySelectedOption = $availableOptions.findIndex(($option) => $option.selected);
102
- if (newIndexOfCurrentlySelectedOption)
103
- return newIndexOfCurrentlySelectedOption - 1;
104
- return this.currentOptionIndex - 1;
69
+ if (tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") <= 0)
70
+ return tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f");
71
+ return tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") - 1;
105
72
  }
106
73
  _getNextOptionIndex() {
107
- if (this.currentOptionIndex === undefined)
74
+ if (tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") === undefined)
108
75
  return undefined;
109
- const $availableOptions = tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").filter(($option) => {
110
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.hidden;
111
- });
112
- if (this.currentOptionIndex === $availableOptions.length - 1)
113
- return this.currentOptionIndex;
114
- if (this.currentOptionIndex > $availableOptions.length - 1) {
115
- // bo ktoś wpisał coś w searcha i index obecnie wybranej opcji jest inny
116
- const newIndexOfCurrentlySelectedOption = $availableOptions.findIndex(($option) => $option.selected);
117
- if (newIndexOfCurrentlySelectedOption)
118
- return newIndexOfCurrentlySelectedOption + 1;
119
- return 0;
120
- }
121
- return this.currentOptionIndex + 1;
122
- }
123
- hostDisconnected() {
124
- tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f").removeEventListener('keydown', this._handleKeyboardNavigation);
76
+ if (tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") >= tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").length - 1)
77
+ return tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f");
78
+ return tslib_es6.__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") + 1;
125
79
  }
126
80
  }
127
- _ListBoxKeyboardController_host = new WeakMap(), _ListBoxKeyboardController__$list = new WeakMap(), _ListBoxKeyboardController__$options = new WeakMap(), _ListBoxKeyboardController_listItemSelector = new WeakMap(), _ListBoxKeyboardController_keys = new WeakMap();
81
+ _ListBoxKeyboardController_host = new WeakMap(), _ListBoxKeyboardController__$list = new WeakMap(), _ListBoxKeyboardController_currentOptionIndex = new WeakMap(), _ListBoxKeyboardController__$options = new WeakMap(), _ListBoxKeyboardController_listItemSelector = new WeakMap(), _ListBoxKeyboardController_keys = new WeakMap();
128
82
 
129
83
  exports.ListBoxKeyboardController = ListBoxKeyboardController;
130
84
  //# sourceMappingURL=list_box_keyboard_controller.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -17,7 +17,6 @@ export declare class HDropdown extends PhoenixLightLitElement implements IDropdo
17
17
  mobilePosition: TMobileElementPosition;
18
18
  id: string;
19
19
  preventFocusTrap: boolean;
20
- noAutoFocus: boolean;
21
20
  $dropdownToggler: HDropdownToggler | null;
22
21
  $dropdownContent: HDropdownContent | null;
23
22
  $nestedDropdownContentElements?: HDropdownContent[];
@@ -28,7 +28,6 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
28
28
  this.portalTarget = DEFAULT_DROPDOWN_PORTAL_NAME;
29
29
  this.id = v4();
30
30
  this.preventFocusTrap = false;
31
- this.noAutoFocus = false;
32
31
  this._backdropController = new BackdropController();
33
32
  this._handleClickOutside = async (target) => {
34
33
  var _a, _b;
@@ -45,8 +44,7 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
45
44
  return;
46
45
  }
47
46
  await this.show();
48
- if (!this.noAutoFocus)
49
- this._focusOnFirstContentElement();
47
+ this._focusOnFirstContentElement();
50
48
  };
51
49
  this.show = async () => {
52
50
  if (this.opened)
@@ -174,8 +172,7 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
174
172
  const isHoveredWithinDropdown = this._isHoveredWithinDropdown(ev.target);
175
173
  if (isHoveredWithinDropdown && !this.opened) {
176
174
  await this.show();
177
- if (!this.noAutoFocus)
178
- this._focusOnFirstContentElement();
175
+ this._focusOnFirstContentElement();
179
176
  return;
180
177
  }
181
178
  if (!isHoveredWithinDropdown && this.opened)
@@ -465,10 +462,6 @@ __decorate([
465
462
  property({ type: Boolean, attribute: 'prevent-focus-trap' }),
466
463
  __metadata("design:type", Object)
467
464
  ], HDropdown.prototype, "preventFocusTrap", void 0);
468
- __decorate([
469
- property({ type: Boolean, attribute: 'no-autofocus' }),
470
- __metadata("design:type", Object)
471
- ], HDropdown.prototype, "noAutoFocus", void 0);
472
465
  HDropdown = HDropdown_1 = __decorate([
473
466
  phoenixCustomElement('h-dropdown'),
474
467
  __metadata("design:paramtypes", [])
@@ -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,eAAe,qDAAyD;AACxE;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,eAAe,qDAAyD;AACxE;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,9 +1,6 @@
1
1
  import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
2
2
  export declare class HDropdownToggler extends PhoenixLightLitElement {
3
3
  name: string;
4
- ariaHasPopup: string;
5
- ariaControls: string;
6
- role: string;
7
4
  private _btnController;
8
5
  private _toggleElementAriaController;
9
6
  private _$dropdown;
@@ -3,6 +3,7 @@ import { property } from 'lit/decorators';
3
3
  import '@dreamcommerce/utilities';
4
4
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
5
5
  import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
6
+ import { BtnController } from '../../controllers/btn_controller/btn_controller.js';
6
7
  import { BREAKPOINTS } from '../../global_constants.js';
7
8
  import { DROPDOWN_CONTAINER_NAME, DROPDOWN_EVENTS, DROPDOWN_CSS_CLASSES, DROPDOWN_TOGGLE_ON_HOVER_ATTRIBUTE_NAME } from './dropdown_constants.js';
8
9
  import { ToggleElementAriaController } from '../../controllers/toggle_element_aria_controller/toggle_element_aria_controller.js';
@@ -11,9 +12,6 @@ let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
11
12
  constructor() {
12
13
  super();
13
14
  this.name = '';
14
- this.ariaHasPopup = 'menu';
15
- this.ariaControls = '';
16
- this.role = 'button';
17
15
  this._setupTogglerAria = () => {
18
16
  this._$dropdown = this.closest(DROPDOWN_CONTAINER_NAME);
19
17
  if (this._$dropdown.isOpened)
@@ -21,14 +19,11 @@ let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
21
19
  host: this,
22
20
  initialAriaExpandedValue: this._$dropdown.isOpened()
23
21
  });
24
- this.setAttribute('role', this.role);
25
- this.setAttribute('aria-haspopup', this.ariaHasPopup);
26
- if (this.ariaControls || this._$dropdown.id)
27
- this.setAttribute('aria-controls', this.ariaControls || this._$dropdown.id);
22
+ this.setAttribute('aria-haspopup', 'true');
23
+ if (this._$dropdown.id)
24
+ this.setAttribute('aria-controls', this._$dropdown.id);
28
25
  };
29
26
  this._dispatchToggleDropdownEventWithKeyboard = (ev) => {
30
- if (ev.key !== 'Enter' && ev.key !== ' ')
31
- return;
32
27
  ev.stopImmediatePropagation();
33
28
  this._dispatchToggleDropdownEvent(ev);
34
29
  };
@@ -47,8 +42,7 @@ let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
47
42
  connectedCallback() {
48
43
  var _a;
49
44
  super.connectedCallback();
50
- this.setAttribute('tabindex', '0');
51
- this.addEventListener('keydown', this._dispatchToggleDropdownEventWithKeyboard);
45
+ this._btnController = new BtnController(this, this._dispatchToggleDropdownEventWithKeyboard);
52
46
  this._setupTogglerAria();
53
47
  const hasToggleOnHover = (_a = this._$dropdown) === null || _a === void 0 ? void 0 : _a.hasAttribute(DROPDOWN_TOGGLE_ON_HOVER_ATTRIBUTE_NAME);
54
48
  if (hasToggleOnHover) {
@@ -62,18 +56,6 @@ __decorate([
62
56
  property({ type: String, reflect: true }),
63
57
  __metadata("design:type", Object)
64
58
  ], HDropdownToggler.prototype, "name", void 0);
65
- __decorate([
66
- property({ type: String, attribute: 'aria-haspopup' }),
67
- __metadata("design:type", Object)
68
- ], HDropdownToggler.prototype, "ariaHasPopup", void 0);
69
- __decorate([
70
- property({ type: String, attribute: 'aria-controls' }),
71
- __metadata("design:type", Object)
72
- ], HDropdownToggler.prototype, "ariaControls", void 0);
73
- __decorate([
74
- property({ type: String }),
75
- __metadata("design:type", Object)
76
- ], HDropdownToggler.prototype, "role", void 0);
77
59
  HDropdownToggler = __decorate([
78
60
  phoenixCustomElement('h-dropdown-toggler'),
79
61
  __metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -2,11 +2,7 @@ import { PhoenixLightLitElement } from "../../../../../core/phoenix_light_lit_el
2
2
  import { TemplateResult } from 'lit';
3
3
  export declare class HSelectSearch extends PhoenixLightLitElement {
4
4
  value: string;
5
- private _$selectOptions;
6
5
  connectedCallback(): void;
7
- private _handleSearchKeydown;
8
- private _handleDispatchEventOnOptionsList;
9
- private _handleFocusOptionOnArrowNavigation;
10
6
  private _handleInputChange;
11
7
  protected render(): TemplateResult;
12
8
  }
@@ -1,11 +1,9 @@
1
1
  import { __decorate, __metadata } from '../../../../../../../../external/tslib/tslib.es6.js';
2
2
  import { html } from 'lit';
3
3
  import { property } from 'lit/decorators';
4
- import '@dreamcommerce/utilities';
5
4
  import { PhoenixLightLitElement } from '../../../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
6
5
  import { phoenixCustomElement } from '../../../../../core/decorators/phoenix_custom_element.js';
7
6
  import { SELECT_SEARCH_EVENT_NAMES, SELECT_RELATED_COMPONENTS_NAMES } from '../select_components_constatns.js';
8
- import { DROPDOWN_CONTENT_NAME } from '../../../../dropdown/dropdown_constants.js';
9
7
  import debounce_1 from '../../../../../../../../external/lodash/debounce.js';
10
8
  import { SELECT_SEARCH_CSS_CLASSES } from './select_search_constants.js';
11
9
 
@@ -13,32 +11,6 @@ let HSelectSearch = class HSelectSearch extends PhoenixLightLitElement {
13
11
  constructor() {
14
12
  super(...arguments);
15
13
  this.value = '';
16
- this._$selectOptions = null;
17
- this._handleSearchKeydown = (ev) => {
18
- if (ev.key !== 'ArrowDown' && ev.key !== 'ArrowUp')
19
- return;
20
- this._handleFocusOptionOnArrowNavigation();
21
- this._handleDispatchEventOnOptionsList(ev);
22
- };
23
- this._handleDispatchEventOnOptionsList = (ev) => {
24
- var _a;
25
- const arrowNavigationEvent = new KeyboardEvent('keydown', {
26
- key: ev.key
27
- });
28
- (_a = this._$selectOptions) === null || _a === void 0 ? void 0 : _a.dispatchEvent(arrowNavigationEvent);
29
- };
30
- this._handleFocusOptionOnArrowNavigation = () => {
31
- const $options = this._$selectOptions ? [...this._$selectOptions.querySelectorAll('h-option')] : [];
32
- const $availableOptions = $options.filter(($option) => {
33
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.hidden;
34
- });
35
- const $firstOption = $availableOptions.find(($option) => {
36
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.getAttribute('hidden');
37
- });
38
- const $selectedOption = $availableOptions.find(($option) => $option.getAttribute('aria-selected'));
39
- const $optionToFocus = $selectedOption || $firstOption;
40
- $optionToFocus === null || $optionToFocus === void 0 ? void 0 : $optionToFocus.focus();
41
- };
42
14
  this._handleInputChange = debounce_1(({ target }) => {
43
15
  this.value = target.value;
44
16
  this.emitCustomEvent(SELECT_SEARCH_EVENT_NAMES.search, {
@@ -49,9 +21,6 @@ let HSelectSearch = class HSelectSearch extends PhoenixLightLitElement {
49
21
  connectedCallback() {
50
22
  super.connectedCallback();
51
23
  this.classList.add(SELECT_SEARCH_CSS_CLASSES.selectSearch);
52
- const $selectOptionsContainer = this.closest(DROPDOWN_CONTENT_NAME);
53
- this._$selectOptions = $selectOptionsContainer === null || $selectOptionsContainer === void 0 ? void 0 : $selectOptionsContainer.querySelector('h-options');
54
- this.addEventListener('keydown', this._handleSearchKeydown);
55
24
  }
56
25
  render() {
57
26
  return html `
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qDAAyD;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,qDAAyD;AAChG;AACA;AACA;AACA;AACA;AACA,uBAAuB,qDAAyD;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,5 +1,5 @@
1
1
  import { __decorate, __metadata } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import '@dreamcommerce/utilities';
2
+ import { UiDomUtils } from '@dreamcommerce/utilities';
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
5
  import { SELECT_OPTIONS_EVENT_NAMES, SELECT_OPTION_EVENT_NAMES, SELECT_RELATED_COMPONENTS_NAMES } from './select_components_constatns.js';
@@ -22,7 +22,7 @@ let HOptions = class HOptions extends PhoenixLightLitElement {
22
22
  });
23
23
  };
24
24
  this.setAttribute('role', 'listbox');
25
- this.setAttribute('aria-labelledby', 'dsf');
25
+ UiDomUtils.makeNavigable(this);
26
26
  this.addEventListener(SELECT_OPTION_EVENT_NAMES.clicked, this._dispatchClickedEvent);
27
27
  this.addEventListener(SELECT_OPTION_EVENT_NAMES.updated, this._dispatchUpdatedEvent);
28
28
  }
@@ -1,9 +1,5 @@
1
1
  import { PropertyValues, TemplateResult } from 'lit';
2
- import { HDropdown } from "../../dropdown/dropdown";
3
- import { HDropdownToggler } from "../../dropdown/dropdown_toggler";
4
2
  import { HOption } from "./components/option/select_option";
5
- import { HSelectSearch } from "./components/search/select_search";
6
- import { ListBoxKeyboardController } from "../../../controllers/list_box_controller/list_box_keyboard_controller";
7
3
  import { PhoenixLightLitElement } from "../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
8
4
  import { SelectOption } from "./model/select_option";
9
5
  import type { TSelectType } from "./select_types";
@@ -22,8 +18,7 @@ export declare class HSelect extends PhoenixLightLitElement {
22
18
  required: boolean;
23
19
  optionsList?: TSelectOption[];
24
20
  noDeselect: boolean;
25
- assistiveTitleId: string;
26
- private _selectOptionsId;
21
+ ariaLabelledby: string;
27
22
  get selectedIndex(): number;
28
23
  set selectedIndex(index: number);
29
24
  get selectedOptions(): (HOption | undefined)[];
@@ -33,18 +28,15 @@ export declare class HSelect extends PhoenixLightLitElement {
33
28
  private _searchValue;
34
29
  private _selectController;
35
30
  private _$options;
36
- $dropdown: import("lit-html/directives/ref.js").Ref<HDropdown>;
37
- $search: import("lit-html/directives/ref.js").Ref<HSelectSearch>;
31
+ private _$dropdown;
32
+ private _$search;
38
33
  private _$optionsList;
39
34
  private _$dropdownContent;
40
- $dropdownToggler: import("lit-html/directives/ref.js").Ref<HDropdownToggler>;
35
+ private _$dropdownToggler;
41
36
  private _selectContext;
42
- listBoxController: ListBoxKeyboardController;
43
- private _selectTogglerKeyboardController;
37
+ private _listBoxController;
44
38
  private _optionsObserver;
45
- private _selectedOptionsAriaObserver;
46
39
  private $placeholder;
47
- private $searchLabel;
48
40
  constructor();
49
41
  updated(changedProperties: PropertyValues): void;
50
42
  private _focusElementAfterSelectOpened;
@@ -55,7 +47,6 @@ export declare class HSelect extends PhoenixLightLitElement {
55
47
  private _setupEvents;
56
48
  private _handleOptionDeselect;
57
49
  private _updateOptionsView;
58
- private _updateLabelAria;
59
50
  private _appendNewHTMLOption;
60
51
  updateOptionAriaAttribute($option: HOption): void;
61
52
  private _removeHTMLOptions;