@vuetify/nightly 3.8.5-master.2025-05-15 → 3.8.5-pr-21419.3ae3440

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.5-master.2025-05-15
2
+ * Vuetify v3.8.5-pr-21419.3ae3440
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -512,7 +512,7 @@
512
512
  }
513
513
  function focusChild(el, location) {
514
514
  const focusable = focusableChildren(el);
515
- if (!location) {
515
+ if (location == null) {
516
516
  if (el === document.activeElement || !el.contains(document.activeElement)) {
517
517
  focusable[0]?.focus();
518
518
  }
@@ -12743,6 +12743,7 @@
12743
12743
  const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
12744
12744
  const isFocused = vue.shallowRef(false);
12745
12745
  let keyboardLookupPrefix = '';
12746
+ let keyboardLookupIndex = -1;
12746
12747
  let keyboardLookupLastTime;
12747
12748
  const displayItems = vue.computed(() => {
12748
12749
  if (props.hideSelected) {
@@ -12810,16 +12811,49 @@
12810
12811
  const now = performance.now();
12811
12812
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
12812
12813
  keyboardLookupPrefix = '';
12814
+ keyboardLookupIndex = -1;
12813
12815
  }
12814
12816
  keyboardLookupPrefix += e.key.toLowerCase();
12815
12817
  keyboardLookupLastTime = now;
12816
- const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
12818
+ const items = displayItems.value;
12819
+ function findItem() {
12820
+ let result = findItemBase();
12821
+ if (result !== undefined) return result;
12822
+ if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
12823
+ // No matches but we have a repeated letter, try the next item with that prefix
12824
+ keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
12825
+ result = findItemBase();
12826
+ if (result !== undefined) return result;
12827
+ }
12828
+
12829
+ // Still nothing, wrap around to the top
12830
+ keyboardLookupIndex = -1;
12831
+ result = findItemBase();
12832
+ if (result !== undefined) return result;
12833
+
12834
+ // Still nothing, try just the new letter
12835
+ keyboardLookupPrefix = e.key.toLowerCase();
12836
+ return findItemBase();
12837
+ }
12838
+ function findItemBase() {
12839
+ for (let i = 0; i < items.length; i++) {
12840
+ const _item = items[i];
12841
+ if (i > keyboardLookupIndex && _item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
12842
+ keyboardLookupIndex = i;
12843
+ return _item;
12844
+ }
12845
+ }
12846
+ return undefined;
12847
+ }
12848
+ const item = findItem();
12817
12849
  if (item !== undefined) {
12818
- model.value = [item];
12850
+ if (!props.multiple) {
12851
+ model.value = [item];
12852
+ }
12819
12853
  const index = displayItems.value.indexOf(item);
12820
- IN_BROWSER && window.requestAnimationFrame(() => {
12821
- index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
12822
- });
12854
+ if (~index && IN_BROWSER) {
12855
+ listRef.value?.focus(index);
12856
+ }
12823
12857
  }
12824
12858
  }
12825
12859
 
@@ -31915,7 +31949,7 @@
31915
31949
  };
31916
31950
  });
31917
31951
  }
31918
- const version$1 = "3.8.5-master.2025-05-15";
31952
+ const version$1 = "3.8.5-pr-21419.3ae3440";
31919
31953
  createVuetify$1.version = version$1;
31920
31954
 
31921
31955
  // Vue's inject() can only be used in setup
@@ -32213,7 +32247,7 @@
32213
32247
 
32214
32248
  /* eslint-disable local-rules/sort-imports */
32215
32249
 
32216
- const version = "3.8.5-master.2025-05-15";
32250
+ const version = "3.8.5-pr-21419.3ae3440";
32217
32251
 
32218
32252
  /* eslint-disable local-rules/sort-imports */
32219
32253