@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
@@ -14,7 +14,6 @@ import { observe } from '../../../directives/observable_directive.js';
14
14
  import { HSelectToggler } from './components/toggler/select_toggler.js';
15
15
  import { createRef, ref } from 'lit-html/directives/ref.js';
16
16
  import { ContextProviderController } from '../../../core/context/context_provider_controller.js';
17
- import v4 from '../../../../../../external/uuid/dist/esm-browser/v4.js';
18
17
  import { HDropdownContent } from '../../dropdown/dropdown_content.js';
19
18
  import { HDropdownToggler } from '../../dropdown/dropdown_toggler.js';
20
19
  import { HDropdown } from '../../dropdown/dropdown.js';
@@ -26,7 +25,6 @@ import { SelectControlUtils } from './select_utils.js';
26
25
  import { SelectController } from './controllers/select_controller.js';
27
26
  import { SelectOptionMapper } from './model/select_option_mapper.js';
28
27
  import { repeat } from 'lit/directives/repeat';
29
- import { SelectTogglerKeyboardController } from './controllers/select_toggler_keyboard_controller/select_toggler_keyboard_controller.js';
30
28
 
31
29
  let HSelect = class HSelect extends PhoenixLightLitElement {
32
30
  constructor() {
@@ -38,15 +36,14 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
38
36
  this.searchDisabled = false;
39
37
  this.type = SELECT_TYPES.select;
40
38
  this.noDeselect = false;
41
- this.assistiveTitleId = '';
42
- this._selectOptionsId = v4();
39
+ this.ariaLabelledby = '';
43
40
  this._searchValue = '';
44
41
  this._$options = new Map();
45
- this.$dropdown = createRef();
46
- this.$search = createRef();
42
+ this._$dropdown = createRef();
43
+ this._$search = createRef();
47
44
  this._$optionsList = createRef();
48
45
  this._$dropdownContent = createRef();
49
- this.$dropdownToggler = createRef();
46
+ this._$dropdownToggler = createRef();
50
47
  this._selectContext = new ContextProviderController(this);
51
48
  this._updateOptions = () => {
52
49
  const $options = this._getOptions();
@@ -104,18 +101,6 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
104
101
  this.updateOptionAriaAttribute($option);
105
102
  });
106
103
  };
107
- this._updateLabelAria = (options) => {
108
- var _a, _b;
109
- if (!this.$searchLabel)
110
- return;
111
- (_a = this.$searchLabel.querySelector(`[id="value-label"]`)) === null || _a === void 0 ? void 0 : _a.remove();
112
- this.$searchLabel.innerHTML = `
113
- ${(_b = this.$searchLabel) === null || _b === void 0 ? void 0 : _b.innerHTML}
114
- <span id="value-label" class="sr-only">
115
- ${options.reduce((totalSelectedContent, currentOption) => (totalSelectedContent += currentOption.content), '')}
116
- </span>
117
- `;
118
- };
119
104
  this._handleOptionClicked = ({ detail }) => {
120
105
  if (!(detail === null || detail === void 0 ? void 0 : detail.$option))
121
106
  return;
@@ -131,15 +116,10 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
131
116
  });
132
117
  };
133
118
  this._handleDropdownHidden = () => {
134
- var _a, _b, _c;
119
+ var _a;
135
120
  this._searchValue = '';
136
121
  this.opened = false;
137
- (_a = this.$dropdownToggler.value) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-activedescendant', '');
138
- const isBodyActive = document.activeElement === document.body;
139
- const isInnerElementActive = (_b = this._$dropdownContent.value) === null || _b === void 0 ? void 0 : _b.contains(document.activeElement);
140
- if (isInnerElementActive || isBodyActive) {
141
- (_c = this.$dropdownToggler.value) === null || _c === void 0 ? void 0 : _c.focus();
142
- }
122
+ (_a = this._$dropdownToggler.value) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-activedescendant', '');
143
123
  };
144
124
  this._manageSelectFocusAria = (ev) => {
145
125
  var _a;
@@ -148,14 +128,14 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
148
128
  return;
149
129
  const optionId = $target.id;
150
130
  if (optionId) {
151
- (_a = this.$dropdownToggler.value) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-activedescendant', optionId);
131
+ (_a = this._$dropdownToggler.value) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-activedescendant', optionId);
152
132
  }
153
133
  };
154
134
  this._closeSelect = () => {
155
135
  var _a;
156
136
  if (!this.opened)
157
137
  return;
158
- (_a = this.$dropdown.value) === null || _a === void 0 ? void 0 : _a.hide();
138
+ (_a = this._$dropdown.value) === null || _a === void 0 ? void 0 : _a.hide();
159
139
  };
160
140
  this._clearOptions = () => {
161
141
  this._selectController.deselectAll();
@@ -199,7 +179,6 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
199
179
  return Array.from(this._$options.values());
200
180
  }
201
181
  updated(changedProperties) {
202
- var _a, _b;
203
182
  super.updated(changedProperties);
204
183
  if (changedProperties.has('opened')) {
205
184
  if (this.opened) {
@@ -213,52 +192,28 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
213
192
  if (changedProperties.has('optionsList')) {
214
193
  this._updateOptions();
215
194
  }
216
- if (this._$optionsList.value) {
217
- (_a = this.listBoxController) === null || _a === void 0 ? void 0 : _a.hostDisconnected();
218
- this.listBoxController = new ListBoxKeyboardController({
195
+ if (this._$optionsList.value && !this._listBoxController)
196
+ this._listBoxController = new ListBoxKeyboardController({
219
197
  host: this,
220
198
  $list: this._$optionsList.value
221
199
  });
222
- }
223
- if (this.listBoxController) {
224
- this.listBoxController.calculateSelectedOptionIndex();
225
- }
226
- if (this._$optionsList.value && this.$dropdownToggler.value) {
227
- (_b = this._selectTogglerKeyboardController) === null || _b === void 0 ? void 0 : _b.hostDisconnected();
228
- this._selectTogglerKeyboardController = new SelectTogglerKeyboardController({
229
- host: this,
230
- $toggler: this.$dropdownToggler.value,
231
- $list: this._$optionsList.value
232
- });
233
- }
234
200
  }
235
201
  _focusElementAfterSelectOpened() {
236
- var _a;
237
- const $searchInput = (_a = this.$search.value) === null || _a === void 0 ? void 0 : _a.querySelector('[role="search"]');
238
- const $options = this._$optionsList.value ? [...this._$optionsList.value.querySelectorAll('h-option')] : [];
239
- const $firstOption = $options.find(($option) => {
240
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.getAttribute('hidden');
241
- });
242
- const $selectedOption = this.selectedOptions[0];
243
- const $optionToFocus = $selectedOption || $firstOption;
244
- $searchInput ? $searchInput.focus() : $optionToFocus === null || $optionToFocus === void 0 ? void 0 : $optionToFocus.focus();
202
+ var _a, _b;
203
+ const $searchInput = (_a = this._$search.value) === null || _a === void 0 ? void 0 : _a.querySelector('[role="search"]');
204
+ $searchInput ? $searchInput.focus() : (_b = this._$optionsList.value) === null || _b === void 0 ? void 0 : _b.focus();
245
205
  }
246
206
  connectedCallback() {
247
- var _a;
248
207
  super.connectedCallback();
249
208
  this.classList.add(SELECT_CSS_CLASSES.select);
250
209
  if (!this.searchDisabled) {
251
210
  this.classList.add(SELECT_CSS_CLASSES.selectWithSearch);
252
211
  }
253
- this.$searchLabel = document.querySelector(`[id="${this.assistiveTitleId}"]`);
254
- (_a = this.$searchLabel) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-hidden', 'true');
255
212
  this._selectController = this.multiple ? new MultiSelectController({ host: this }) : new SelectController({ host: this });
256
213
  this._selectContext.provide(SELECT_CONTEXTS.selectedOptions$, this._selectController.selectedOptions$);
257
214
  this._selectContext.provide(SELECT_CONTEXTS.isMultiselect, this.multiple);
258
215
  this._optionsObserver = new Observer((selectedOptions) => this._updateOptionsView(selectedOptions));
259
216
  this._selectController.options$.subscribe(this._optionsObserver);
260
- this._selectedOptionsAriaObserver = new Observer((selectedOptions) => this._updateLabelAria(selectedOptions));
261
- this._selectController.selectedOptions$.subscribe(this._selectedOptionsAriaObserver);
262
217
  this._updateOptions();
263
218
  this._setupEvents();
264
219
  }
@@ -288,10 +243,6 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
288
243
  SelectControlUtils.appendHTMLOption($option, $list, position);
289
244
  }
290
245
  updateOptionAriaAttribute($option) {
291
- if (!this.multiple) {
292
- const $options = this._$optionsList.value ? [...this._$optionsList.value.querySelectorAll('h-option')] : [];
293
- $options.forEach(($option) => ($option.removeAttribute('aria-selected')));
294
- }
295
246
  $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', String($option.selected));
296
247
  }
297
248
  _removeHTMLOptions(optionsValues) {
@@ -301,12 +252,6 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
301
252
  const option = this._selectController.getOption(value);
302
253
  if (!option)
303
254
  return;
304
- const $selectedOption = this._$options.get(option.value);
305
- const $selectedOptionLink = $selectedOption === null || $selectedOption === void 0 ? void 0 : $selectedOption.querySelector('a');
306
- if ($selectedOptionLink) {
307
- $selectedOptionLink.click();
308
- return;
309
- }
310
255
  this.noDeselect ? this._selectController.select(option) : this._selectController.toggle(option);
311
256
  if (!this.multiple)
312
257
  this._closeSelect();
@@ -357,25 +302,23 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
357
302
  const isSearchEnabled = !this.searchDisabled && options.length > MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH;
358
303
  return html `
359
304
  <h-dropdown
360
- ${ref(this.$dropdown)}
305
+ ${ref(this._$dropdown)}
361
306
  @showed=${() => (this.opened = true)}
362
307
  @hidden=${this._handleDropdownHidden}
363
308
  name="${this.controlName}"
364
309
  offset=${this.offset}
365
310
  content-width="full"
366
311
  prevent-focus-trap
367
- no-autofocus
368
312
  >
369
313
  <h-dropdown-toggler
370
- ${ref(this.$dropdownToggler)}
314
+ ${ref(this._$dropdownToggler)}
371
315
  name="${this.controlName}"
372
316
  validation-container
373
317
  aria-haspopup="listbox"
374
318
  role="combobox"
375
319
  aria-required="${this.required ? 'true' : 'false'}"
376
320
  aria-activedescendant
377
- role="combobox"
378
- aria-controls="${this._selectOptionsId}"
321
+ aria-labelledby="${this.ariaLabelledby}"
379
322
  >
380
323
  ${this.getSlot(SELECT_SLOT_NAMES.toggler)}
381
324
  </h-dropdown-toggler>
@@ -393,7 +336,7 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
393
336
  ${isSearchEnabled
394
337
  ? html ` <h-select-search
395
338
  class=${SELECT_CSS_CLASSES.selectSearch}
396
- ${ref(this.$search)}
339
+ ${ref(this._$search)}
397
340
  .value=${this._searchValue}
398
341
  @search=${this._handleSearch}
399
342
  ></h-select-search>`
@@ -401,8 +344,6 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
401
344
 
402
345
  <h-options
403
346
  class="${SELECT_CSS_CLASSES.selectOptions} ${this._searchNoResult() ? SELECT_CSS_CLASSES.selectOptionsEmpty : ''}"
404
- aria-labelledby="${this.assistiveTitleId}"
405
- id="${this._selectOptionsId}"
406
347
  ${ref(this._$optionsList)}
407
348
  @optionClicked=${this._handleOptionClicked}
408
349
  @optionUpdated=${this._handleOptionUpdated}
@@ -494,9 +435,9 @@ __decorate([
494
435
  __metadata("design:type", Boolean)
495
436
  ], HSelect.prototype, "noDeselect", void 0);
496
437
  __decorate([
497
- property({ type: String, attribute: 'assistive-title-id' }),
438
+ property({ type: String, attribute: 'aria-labelledby' }),
498
439
  __metadata("design:type", String)
499
- ], HSelect.prototype, "assistiveTitleId", void 0);
440
+ ], HSelect.prototype, "ariaLabelledby", void 0);
500
441
  __decorate([
501
442
  state(),
502
443
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wDAA4D;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -8,5 +8,8 @@ export declare class HSlider extends PhoenixLightLitElement {
8
8
  private _settings;
9
9
  private _slider;
10
10
  connectedCallback(): void;
11
+ private _showFocusableNodes;
12
+ private _hideFocusableNodes;
13
+ private _handleFocusableNodes;
11
14
  getSlider(): ISlider | null;
12
15
  }
@@ -4,6 +4,7 @@ import { JsonUtils } from '@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
6
  import { Splide } from '../../../../../external/@splidejs/splide/dist/js/splide.esm.js';
7
+ import { SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS } from './slider_constants.js';
7
8
 
8
9
  let HSlider = class HSlider extends PhoenixLightLitElement {
9
10
  constructor() {
@@ -17,6 +18,22 @@ let HSlider = class HSlider extends PhoenixLightLitElement {
17
18
  focus: 'center'
18
19
  };
19
20
  this._slider = null;
21
+ this._showFocusableNodes = (slideComponent) => {
22
+ this._handleFocusableNodes(slideComponent, SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS.show);
23
+ };
24
+ this._hideFocusableNodes = (slideComponent) => {
25
+ this._handleFocusableNodes(slideComponent, SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS.hide);
26
+ };
27
+ this._handleFocusableNodes = (slideComponent, action) => {
28
+ if (!this._settings.focusableNodes)
29
+ return;
30
+ const focusableNodesArray = this._settings.focusableNodes.split(',').map((focusableNode) => focusableNode.trim());
31
+ focusableNodesArray.forEach((focusableNode) => {
32
+ const $focusableElements = [...slideComponent.slide.querySelectorAll(focusableNode)];
33
+ const newTabindex = action === SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS.show ? '0' : '-1';
34
+ $focusableElements.forEach(($element) => $element.setAttribute('tabindex', newTabindex));
35
+ });
36
+ };
20
37
  }
21
38
  get sliderSettings() {
22
39
  return this._settings;
@@ -36,6 +53,8 @@ let HSlider = class HSlider extends PhoenixLightLitElement {
36
53
  if (this._settings.mountOnConnectedCallback) {
37
54
  this._slider.mount();
38
55
  }
56
+ this._slider.on('visible', this._showFocusableNodes);
57
+ this._slider.on('hidden', this._hideFocusableNodes);
39
58
  }
40
59
  getSlider() {
41
60
  return this._slider;
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA,uBAAuB,gEAAoE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uBAAuB,gEAAoE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,4 @@
1
+ export declare const SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS: {
2
+ readonly show: "show";
3
+ readonly hide: "hide";
4
+ };
@@ -0,0 +1,7 @@
1
+ const SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS = {
2
+ show: 'show',
3
+ hide: 'hide'
4
+ };
5
+
6
+ export { SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS };
7
+ //# sourceMappingURL=slider_constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,6 +1,9 @@
1
1
  import { Options, Splide } from '@splidejs/splide';
2
+ import { SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS } from './slider_constants';
3
+ import { Any } from 'ts-toolbelt';
2
4
  export interface ISlider extends Splide {
3
5
  }
4
6
  export interface ISliderOptions extends Options {
5
7
  mountOnConnectedCallback: boolean;
6
8
  }
9
+ export declare type THandleNodesOption = typeof SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS[Any.Keys<typeof SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS>];
@@ -1,2 +1,4 @@
1
1
  import '@splidejs/splide';
2
+ import './slider_constants';
3
+ import 'ts-toolbelt';
2
4
  //# sourceMappingURL=slider_types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider_types.js","sourceRoot":"","sources":["../../../../../../../src/components/slider/slider_types.ts"],"names":[],"mappings":"AAAA,OAAgC,kBAAkB,CAAC"}
1
+ {"version":3,"file":"slider_types.js","sourceRoot":"","sources":["../../../../../../../src/components/slider/slider_types.ts"],"names":[],"mappings":"AAAA,OAAgC,kBAAkB,CAAC;AACnD,OAAsD,oBAAoB,CAAC;AAC3E,OAAoB,aAAa,CAAC"}
@@ -1,14 +1,10 @@
1
1
  import { Any } from 'ts-toolbelt';
2
- import { ReactiveController, ReactiveControllerHost } from 'lit';
2
+ import { ReactiveControllerHost } from 'lit';
3
3
  import { LIST_BOX_KEYBOARD_NAVIGATION_DIRECTIONS } from "./list_box_controller_constants";
4
- import { HSelect } from "../../components/form/select/select";
5
4
  export declare type TListBoxKeyboardNavigationDirection = Any.Keys<typeof LIST_BOX_KEYBOARD_NAVIGATION_DIRECTIONS>;
6
5
  export declare type TListBoxKeyboardControllerConstructorOptions = {
7
- host: ReactiveControllerHost & HSelect;
6
+ host: ReactiveControllerHost & HTMLElement;
8
7
  $list: HTMLElement;
9
8
  listItemSelector?: string;
10
9
  orientation?: TListBoxKeyboardNavigationDirection;
11
10
  };
12
- export interface IListboxController extends ReactiveController {
13
- calculateSelectedOptionIndex(): void;
14
- }
@@ -1,5 +1,4 @@
1
1
  import 'ts-toolbelt';
2
2
  import 'lit';
3
3
  import '@phoenixRoot/controllers/list_box_controller/list_box_controller_constants';
4
- import '@phoenixRoot/components/form/select/select';
5
4
  //# sourceMappingURL=list_box_controller_types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list_box_controller_types.js","sourceRoot":"","sources":["../../../../../../../src/controllers/list_box_controller/list_box_controller_types.ts"],"names":[],"mappings":"AAAA,OAAoB,aAAa,CAAC;AAClC,OAA2D,KAAK,CAAC;AACjE,OAAwD,4EAA4E,CAAC;AACrI,OAAwB,4CAA4C,CAAC"}
1
+ {"version":3,"file":"list_box_controller_types.js","sourceRoot":"","sources":["../../../../../../../src/controllers/list_box_controller/list_box_controller_types.ts"],"names":[],"mappings":"AAAA,OAAoB,aAAa,CAAC;AAClC,OAAuC,KAAK,CAAC;AAC7C,OAAwD,4EAA4E,CAAC"}
@@ -1,15 +1,10 @@
1
- import { IListboxController, TListBoxKeyboardControllerConstructorOptions } from "./list_box_controller_types";
2
- export declare class ListBoxKeyboardController implements IListboxController {
1
+ import { ReactiveController } from 'lit';
2
+ import { TListBoxKeyboardControllerConstructorOptions } from "./list_box_controller_types";
3
+ export declare class ListBoxKeyboardController implements ReactiveController {
3
4
  #private;
4
- currentOptionIndex: number | undefined;
5
5
  constructor({ host, $list, listItemSelector, orientation }: TListBoxKeyboardControllerConstructorOptions);
6
6
  hostConnected(): void;
7
- private _handleKeyboardNavigation;
8
7
  private _handleArrowNavigation;
9
- private _findCurrentIndex;
10
- private _handleWriteableCharacter;
11
- calculateSelectedOptionIndex: () => void;
12
8
  private _getPrevOptionIndex;
13
9
  private _getNextOptionIndex;
14
- hostDisconnected(): void;
15
10
  }
@@ -1,64 +1,37 @@
1
1
  import { __classPrivateFieldGet, __classPrivateFieldSet } from '../../../../../external/tslib/tslib.es6.js';
2
2
  import 'lit';
3
3
  import { UiDomUtils } from '@dreamcommerce/utilities';
4
+ import { KeystrokesController } from '../keystrokes_controller/keystrokes_controller.js';
4
5
  import { LIST_BOX_KEYBOARD_NAVIGATION_DIRECTIONS } from './list_box_controller_constants.js';
5
6
 
6
- var _ListBoxKeyboardController_host, _ListBoxKeyboardController__$list, _ListBoxKeyboardController__$options, _ListBoxKeyboardController_listItemSelector, _ListBoxKeyboardController_keys;
7
+ var _ListBoxKeyboardController_host, _ListBoxKeyboardController__$list, _ListBoxKeyboardController_currentOptionIndex, _ListBoxKeyboardController__$options, _ListBoxKeyboardController_listItemSelector, _ListBoxKeyboardController_keys;
7
8
  class ListBoxKeyboardController {
8
9
  constructor({ host, $list, listItemSelector = '[role="option"]', orientation = LIST_BOX_KEYBOARD_NAVIGATION_DIRECTIONS.vertical }) {
9
10
  _ListBoxKeyboardController_host.set(this, void 0);
10
11
  _ListBoxKeyboardController__$list.set(this, void 0);
12
+ _ListBoxKeyboardController_currentOptionIndex.set(this, void 0);
11
13
  _ListBoxKeyboardController__$options.set(this, void 0);
12
14
  _ListBoxKeyboardController_listItemSelector.set(this, void 0);
13
15
  _ListBoxKeyboardController_keys.set(this, void 0);
14
- this._handleKeyboardNavigation = (ev) => {
15
- if (__classPrivateFieldGet(this, _ListBoxKeyboardController_keys, "f").find((key) => key === ev.key)) {
16
- this._handleArrowNavigation(ev);
17
- return;
18
- }
19
- this._handleWriteableCharacter(ev);
20
- };
21
16
  this._handleArrowNavigation = (event) => {
22
17
  event.preventDefault();
23
18
  const { key } = event;
24
- const $availableOptions = __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").filter(($option) => {
25
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.hidden;
26
- });
27
- const prevOptionIndex = this._findCurrentIndex();
19
+ const prevOptionIndex = __classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f");
28
20
  let newOptionIndex = key === 'ArrowDown' || key === 'ArrowRight' ? this._getNextOptionIndex() : this._getPrevOptionIndex();
29
21
  if (newOptionIndex === undefined) {
30
- newOptionIndex = this._findCurrentIndex();
22
+ const selectedOptionIndex = __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").findIndex(($option) => $option.selected);
23
+ newOptionIndex = selectedOptionIndex !== -1 ? selectedOptionIndex : 0;
31
24
  }
32
- if (newOptionIndex === this.currentOptionIndex)
25
+ if (newOptionIndex === __classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f"))
33
26
  return;
34
27
  if (prevOptionIndex !== undefined) {
35
28
  const $prevOption = __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f")[prevOptionIndex];
36
- $prevOption && UiDomUtils.makeUnnavigable($prevOption);
29
+ UiDomUtils.makeUnnavigable($prevOption);
37
30
  }
38
- this.currentOptionIndex = newOptionIndex;
39
- const $focusedOption = $availableOptions[newOptionIndex];
40
- if ($focusedOption) {
41
- UiDomUtils.makeNavigable($focusedOption);
42
- $focusedOption.focus();
43
- }
44
- };
45
- this._findCurrentIndex = () => {
46
- const $availableOptions = __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").filter(($option) => {
47
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.hidden;
48
- });
49
- const selectedOptionIndex = $availableOptions.findIndex(($option) => $option.selected);
50
- return selectedOptionIndex !== -1 ? selectedOptionIndex : 0;
51
- };
52
- this._handleWriteableCharacter = (ev) => {
53
- var _a;
54
- const $searchInput = (_a = __classPrivateFieldGet(this, _ListBoxKeyboardController_host, "f").$search.value) === null || _a === void 0 ? void 0 : _a.querySelector('[role="search"]');
55
- if (!$searchInput)
56
- return;
57
- $searchInput === null || $searchInput === void 0 ? void 0 : $searchInput.focus();
58
- };
59
- this.calculateSelectedOptionIndex = () => {
60
- const selectedOptionIndex = __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").findIndex(($option) => $option.selected);
61
- this.currentOptionIndex = selectedOptionIndex !== -1 ? selectedOptionIndex : 0;
31
+ __classPrivateFieldSet(this, _ListBoxKeyboardController_currentOptionIndex, newOptionIndex, "f");
32
+ const $focusedOption = __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f")[newOptionIndex];
33
+ UiDomUtils.makeNavigable($focusedOption);
34
+ $focusedOption.focus();
62
35
  };
63
36
  __classPrivateFieldSet(this, _ListBoxKeyboardController_host, host, "f");
64
37
  __classPrivateFieldSet(this, _ListBoxKeyboardController__$list, $list, "f");
@@ -68,59 +41,40 @@ class ListBoxKeyboardController {
68
41
  __classPrivateFieldGet(this, _ListBoxKeyboardController_host, "f").addController(this);
69
42
  }
70
43
  hostConnected() {
71
- __classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f").addEventListener('keydown', this._handleKeyboardNavigation);
44
+ new KeystrokesController({
45
+ host: __classPrivateFieldGet(this, _ListBoxKeyboardController_host, "f"),
46
+ keys: __classPrivateFieldGet(this, _ListBoxKeyboardController_keys, "f"),
47
+ callback: this._handleArrowNavigation,
48
+ target: __classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f")
49
+ });
72
50
  UiDomUtils.makeNavigable(__classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f"));
73
51
  __classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f").addEventListener('focusin', (event) => {
74
52
  if (event.target !== __classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f"))
75
53
  return;
76
- if (this.currentOptionIndex === undefined)
54
+ if (__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") === undefined)
77
55
  return;
78
- const $prevOption = __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f")[this.currentOptionIndex];
56
+ const $prevOption = __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f")[__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f")];
79
57
  UiDomUtils.makeUnnavigable($prevOption);
80
- this.currentOptionIndex = undefined;
58
+ __classPrivateFieldSet(this, _ListBoxKeyboardController_currentOptionIndex, undefined, "f");
81
59
  });
82
60
  __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").forEach(($option) => UiDomUtils.makeUnnavigable($option));
83
61
  }
84
62
  _getPrevOptionIndex() {
85
- if (this.currentOptionIndex === undefined)
63
+ if (__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") === undefined)
86
64
  return undefined;
87
- if (this.currentOptionIndex <= 0)
88
- return this.currentOptionIndex;
89
- if (this.currentOptionIndex <= 0)
90
- return this.currentOptionIndex;
91
- const $availableOptions = __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").filter(($option) => {
92
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.hidden;
93
- });
94
- if (!!$availableOptions[this.currentOptionIndex - 1])
95
- return this.currentOptionIndex - 1;
96
- // bo ktoś wpisał coś w searcha i index obecnie wybranej opcji jest inny
97
- const newIndexOfCurrentlySelectedOption = $availableOptions.findIndex(($option) => $option.selected);
98
- if (newIndexOfCurrentlySelectedOption)
99
- return newIndexOfCurrentlySelectedOption - 1;
100
- return this.currentOptionIndex - 1;
65
+ if (__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") <= 0)
66
+ return __classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f");
67
+ return __classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") - 1;
101
68
  }
102
69
  _getNextOptionIndex() {
103
- if (this.currentOptionIndex === undefined)
70
+ if (__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") === undefined)
104
71
  return undefined;
105
- const $availableOptions = __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").filter(($option) => {
106
- return !$option.getAttribute('inactive') && !$option.getAttribute('disabled') && !$option.hidden;
107
- });
108
- if (this.currentOptionIndex === $availableOptions.length - 1)
109
- return this.currentOptionIndex;
110
- if (this.currentOptionIndex > $availableOptions.length - 1) {
111
- // bo ktoś wpisał coś w searcha i index obecnie wybranej opcji jest inny
112
- const newIndexOfCurrentlySelectedOption = $availableOptions.findIndex(($option) => $option.selected);
113
- if (newIndexOfCurrentlySelectedOption)
114
- return newIndexOfCurrentlySelectedOption + 1;
115
- return 0;
116
- }
117
- return this.currentOptionIndex + 1;
118
- }
119
- hostDisconnected() {
120
- __classPrivateFieldGet(this, _ListBoxKeyboardController__$list, "f").removeEventListener('keydown', this._handleKeyboardNavigation);
72
+ if (__classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") >= __classPrivateFieldGet(this, _ListBoxKeyboardController__$options, "f").length - 1)
73
+ return __classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f");
74
+ return __classPrivateFieldGet(this, _ListBoxKeyboardController_currentOptionIndex, "f") + 1;
121
75
  }
122
76
  }
123
- _ListBoxKeyboardController_host = new WeakMap(), _ListBoxKeyboardController__$list = new WeakMap(), _ListBoxKeyboardController__$options = new WeakMap(), _ListBoxKeyboardController_listItemSelector = new WeakMap(), _ListBoxKeyboardController_keys = new WeakMap();
77
+ _ListBoxKeyboardController_host = new WeakMap(), _ListBoxKeyboardController__$list = new WeakMap(), _ListBoxKeyboardController_currentOptionIndex = new WeakMap(), _ListBoxKeyboardController__$options = new WeakMap(), _ListBoxKeyboardController_listItemSelector = new WeakMap(), _ListBoxKeyboardController_keys = new WeakMap();
124
78
 
125
79
  export { ListBoxKeyboardController };
126
80
  //# sourceMappingURL=list_box_keyboard_controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,+DAA+D,4CAAgD;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,+DAA+D,4CAAgD;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@shoper/phoenix_design_system",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "1.15.11-16",
5
+ "version": "1.15.11-17",
6
6
  "description": "phoenix design system",
7
7
  "author": "zefirek",
8
8
  "license": "MIT",
@@ -30,7 +30,7 @@
30
30
  "@splidejs/splide": "^4.0.7"
31
31
  },
32
32
  "devDependencies": {
33
- "@dreamcommerce/utilities": "^1.20.1-0",
33
+ "@dreamcommerce/utilities": "^1.20.1",
34
34
  "@shoper/jest_config": "^0.0.0",
35
35
  "@shoper/tsconfig": "^0.0.0",
36
36
  "@splidejs/splide": "4.0.7",