@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.
package/dist/vuetify.js CHANGED
@@ -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
  */
@@ -435,7 +435,7 @@
435
435
  }
436
436
  function focusChild(el, location) {
437
437
  const focusable = focusableChildren(el);
438
- if (!location) {
438
+ if (location == null) {
439
439
  if (el === document.activeElement || !el.contains(document.activeElement)) {
440
440
  focusable[0]?.focus();
441
441
  }
@@ -13021,6 +13021,7 @@
13021
13021
  const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
13022
13022
  const isFocused = vue.shallowRef(false);
13023
13023
  let keyboardLookupPrefix = '';
13024
+ let keyboardLookupIndex = -1;
13024
13025
  let keyboardLookupLastTime;
13025
13026
  const displayItems = vue.computed(() => {
13026
13027
  if (props.hideSelected) {
@@ -13088,16 +13089,49 @@
13088
13089
  const now = performance.now();
13089
13090
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
13090
13091
  keyboardLookupPrefix = '';
13092
+ keyboardLookupIndex = -1;
13091
13093
  }
13092
13094
  keyboardLookupPrefix += e.key.toLowerCase();
13093
13095
  keyboardLookupLastTime = now;
13094
- const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
13096
+ const items = displayItems.value;
13097
+ function findItem() {
13098
+ let result = findItemBase();
13099
+ if (result !== undefined) return result;
13100
+ if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
13101
+ // No matches but we have a repeated letter, try the next item with that prefix
13102
+ keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
13103
+ result = findItemBase();
13104
+ if (result !== undefined) return result;
13105
+ }
13106
+
13107
+ // Still nothing, wrap around to the top
13108
+ keyboardLookupIndex = -1;
13109
+ result = findItemBase();
13110
+ if (result !== undefined) return result;
13111
+
13112
+ // Still nothing, try just the new letter
13113
+ keyboardLookupPrefix = e.key.toLowerCase();
13114
+ return findItemBase();
13115
+ }
13116
+ function findItemBase() {
13117
+ for (let i = 0; i < items.length; i++) {
13118
+ const _item = items[i];
13119
+ if (i > keyboardLookupIndex && _item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
13120
+ keyboardLookupIndex = i;
13121
+ return _item;
13122
+ }
13123
+ }
13124
+ return undefined;
13125
+ }
13126
+ const item = findItem();
13095
13127
  if (item !== undefined) {
13096
- model.value = [item];
13128
+ if (!props.multiple) {
13129
+ model.value = [item];
13130
+ }
13097
13131
  const index = displayItems.value.indexOf(item);
13098
- IN_BROWSER && window.requestAnimationFrame(() => {
13099
- index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
13100
- });
13132
+ if (~index && IN_BROWSER) {
13133
+ listRef.value?.focus(index);
13134
+ }
13101
13135
  }
13102
13136
  }
13103
13137
 
@@ -29220,7 +29254,7 @@
29220
29254
  };
29221
29255
  });
29222
29256
  }
29223
- const version$1 = "3.8.5-master.2025-05-15";
29257
+ const version$1 = "3.8.5-pr-21419.3ae3440";
29224
29258
  createVuetify$1.version = version$1;
29225
29259
 
29226
29260
  // Vue's inject() can only be used in setup
@@ -29245,7 +29279,7 @@
29245
29279
  ...options
29246
29280
  });
29247
29281
  };
29248
- const version = "3.8.5-master.2025-05-15";
29282
+ const version = "3.8.5-pr-21419.3ae3440";
29249
29283
  createVuetify.version = version;
29250
29284
 
29251
29285
  exports.blueprints = index;