vuetify 3.4.6 → 3.4.7

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.4.6
2
+ * Vuetify v3.4.7
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -7128,7 +7128,7 @@
7128
7128
  icon: props.appendIcon
7129
7129
  }
7130
7130
  }
7131
- }, slots.append)]), hasClose && vue.createVNode("div", vue.mergeProps({
7131
+ }, slots.append)]), hasClose && vue.createVNode("button", vue.mergeProps({
7132
7132
  "key": "close",
7133
7133
  "class": "v-chip__close"
7134
7134
  }, closeProps.value), [!slots.close ? vue.createVNode(VIcon, {
@@ -11261,7 +11261,7 @@
11261
11261
  ...makeSelectProps(),
11262
11262
  ...omit(makeVTextFieldProps({
11263
11263
  modelValue: null,
11264
- role: 'button'
11264
+ role: 'combobox'
11265
11265
  }), ['validationValue', 'dirty', 'appendInnerIcon']),
11266
11266
  ...makeTransitionProps({
11267
11267
  transition: {
@@ -11320,6 +11320,16 @@
11320
11320
  return items.value;
11321
11321
  });
11322
11322
  const menuDisabled = vue.computed(() => props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value);
11323
+ const computedMenuProps = vue.computed(() => {
11324
+ return {
11325
+ ...props.menuProps,
11326
+ activatorProps: {
11327
+ ...(props.menuProps?.activatorProps || {}),
11328
+ 'aria-haspopup': 'listbox' // Set aria-haspopup to 'listbox'
11329
+ }
11330
+ };
11331
+ });
11332
+
11323
11333
  const listRef = vue.ref();
11324
11334
  const {
11325
11335
  onListScroll,
@@ -11464,7 +11474,7 @@
11464
11474
  "closeOnContentClick": false,
11465
11475
  "transition": props.transition,
11466
11476
  "onAfterLeave": onAfterLeave
11467
- }, props.menuProps), {
11477
+ }, computedMenuProps.value), {
11468
11478
  default: () => [hasList && vue.createVNode(VList, {
11469
11479
  "ref": listRef,
11470
11480
  "selected": selectedValues.value,
@@ -11878,9 +11888,6 @@
11878
11888
  }
11879
11889
  }
11880
11890
  }
11881
- function onInput(e) {
11882
- search.value = e.target.value;
11883
- }
11884
11891
  function onChange(e) {
11885
11892
  if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {
11886
11893
  const item = items.value.find(item => item.title === e.target.value);
@@ -11909,6 +11916,8 @@
11909
11916
  }
11910
11917
  const isSelecting = vue.shallowRef(false);
11911
11918
  function select(item) {
11919
+ let add = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
11920
+ if (item.props.disabled) return;
11912
11921
  if (props.multiple) {
11913
11922
  const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
11914
11923
  if (index === -1) {
@@ -11919,9 +11928,9 @@
11919
11928
  model.value = value;
11920
11929
  }
11921
11930
  } else {
11922
- model.value = [item];
11931
+ model.value = add ? [item] : [];
11923
11932
  isSelecting.value = true;
11924
- search.value = item.title;
11933
+ search.value = add ? item.title : '';
11925
11934
  menu.value = false;
11926
11935
  isPristine.value = true;
11927
11936
  vue.nextTick(() => isSelecting.value = false);
@@ -11970,13 +11979,12 @@
11970
11979
  "ref": vTextFieldRef
11971
11980
  }, textFieldProps, {
11972
11981
  "modelValue": search.value,
11973
- "onUpdate:modelValue": onUpdateModelValue,
11982
+ "onUpdate:modelValue": [$event => search.value = $event, onUpdateModelValue],
11974
11983
  "focused": isFocused.value,
11975
11984
  "onUpdate:focused": $event => isFocused.value = $event,
11976
11985
  "validationValue": model.externalValue,
11977
11986
  "counterValue": counterValue.value,
11978
11987
  "dirty": isDirty,
11979
- "onInput": onInput,
11980
11988
  "onChange": onChange,
11981
11989
  "class": ['v-autocomplete', `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`, {
11982
11990
  'v-autocomplete--active-menu': menu.value,
@@ -12066,7 +12074,7 @@
12066
12074
  function onChipClose(e) {
12067
12075
  e.stopPropagation();
12068
12076
  e.preventDefault();
12069
- select(item);
12077
+ select(item, false);
12070
12078
  }
12071
12079
  const slotProps = {
12072
12080
  'onClick:close': onChipClose,
@@ -15615,7 +15623,7 @@
15615
15623
  }
15616
15624
  const originalSelectionIndex = selectionIndex.value;
15617
15625
  const selectedItem = model.value[selectionIndex.value];
15618
- if (selectedItem && !selectedItem.props.disabled) select(selectedItem);
15626
+ if (selectedItem && !selectedItem.props.disabled) select(selectedItem, false);
15619
15627
  selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
15620
15628
  }
15621
15629
  if (e.key === 'ArrowLeft') {
@@ -25196,7 +25204,7 @@
25196
25204
  date
25197
25205
  };
25198
25206
  }
25199
- const version$1 = "3.4.6";
25207
+ const version$1 = "3.4.7";
25200
25208
  createVuetify$1.version = version$1;
25201
25209
 
25202
25210
  // Vue's inject() can only be used in setup
@@ -25221,7 +25229,7 @@
25221
25229
  ...options
25222
25230
  });
25223
25231
  };
25224
- const version = "3.4.6";
25232
+ const version = "3.4.7";
25225
25233
  createVuetify.version = version;
25226
25234
 
25227
25235
  exports.components = components;