@vuetify/nightly 3.8.0-master.2025-04-01 → 3.8.0-master.2025-04-03

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 (48) hide show
  1. package/CHANGELOG.md +13 -3
  2. package/dist/json/attributes.json +1509 -1509
  3. package/dist/json/importMap-labs.json +38 -38
  4. package/dist/json/importMap.json +168 -168
  5. package/dist/json/web-types.json +3070 -3070
  6. package/dist/vuetify-labs.cjs +51 -44
  7. package/dist/vuetify-labs.css +4644 -4630
  8. package/dist/vuetify-labs.d.ts +119 -80
  9. package/dist/vuetify-labs.esm.js +51 -44
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +51 -44
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +51 -44
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +2263 -2249
  16. package/dist/vuetify.d.ts +119 -80
  17. package/dist/vuetify.esm.js +51 -44
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +51 -44
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +83 -83
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAutocomplete/VAutocomplete.css +0 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.js +11 -9
  26. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  27. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -1
  28. package/lib/components/VCombobox/VCombobox.css +0 -1
  29. package/lib/components/VCombobox/VCombobox.js +22 -20
  30. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  31. package/lib/components/VCombobox/VCombobox.sass +0 -1
  32. package/lib/components/VField/VField.d.ts +3 -0
  33. package/lib/components/VField/VField.js +3 -2
  34. package/lib/components/VField/VField.js.map +1 -1
  35. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +2 -2
  36. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  37. package/lib/components/VNumberInput/VNumberInput.d.ts +39 -12
  38. package/lib/components/VSelect/VSelect.css +0 -1
  39. package/lib/components/VSelect/VSelect.js +11 -9
  40. package/lib/components/VSelect/VSelect.js.map +1 -1
  41. package/lib/components/VSelect/VSelect.sass +0 -1
  42. package/lib/components/VTextField/VTextField.css +21 -4
  43. package/lib/components/VTextField/VTextField.d.ts +12 -3
  44. package/lib/components/VTextField/VTextField.sass +22 -7
  45. package/lib/entry-bundler.js +1 -1
  46. package/lib/framework.d.ts +65 -65
  47. package/lib/framework.js +1 -1
  48. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.0-master.2025-04-01
2
+ * Vuetify v3.8.0-master.2025-04-03
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -11736,7 +11736,7 @@
11736
11736
  return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
11737
11737
  });
11738
11738
  const iconColor = vue.computed(() => {
11739
- if (!props.iconColor) return undefined;
11739
+ if (!props.iconColor || props.glow && !isFocused.value) return undefined;
11740
11740
  return props.iconColor === true ? color.value : props.iconColor;
11741
11741
  });
11742
11742
  const {
@@ -11934,7 +11934,8 @@
11934
11934
  })])]);
11935
11935
  });
11936
11936
  return {
11937
- controlRef
11937
+ controlRef,
11938
+ fieldIconColor: iconColor
11938
11939
  };
11939
11940
  }
11940
11941
  });
@@ -12672,14 +12673,6 @@
12672
12673
  const vTextFieldRef = vue.ref();
12673
12674
  const vMenuRef = vue.ref();
12674
12675
  const vVirtualScrollRef = vue.ref();
12675
- const _menu = useProxiedModel(props, 'menu');
12676
- const menu = vue.computed({
12677
- get: () => _menu.value,
12678
- set: v => {
12679
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
12680
- _menu.value = v;
12681
- }
12682
- });
12683
12676
  const {
12684
12677
  items,
12685
12678
  transformIn,
@@ -12695,7 +12688,6 @@
12695
12688
  const form = useForm(props);
12696
12689
  const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
12697
12690
  const isFocused = vue.shallowRef(false);
12698
- const label = vue.computed(() => menu.value ? props.closeText : props.openText);
12699
12691
  let keyboardLookupPrefix = '';
12700
12692
  let keyboardLookupLastTime;
12701
12693
  const displayItems = vue.computed(() => {
@@ -12705,6 +12697,16 @@
12705
12697
  return items.value;
12706
12698
  });
12707
12699
  const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
12700
+ const _menu = useProxiedModel(props, 'menu');
12701
+ const menu = vue.computed({
12702
+ get: () => _menu.value,
12703
+ set: v => {
12704
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
12705
+ if (v && menuDisabled.value) return;
12706
+ _menu.value = v;
12707
+ }
12708
+ });
12709
+ const label = vue.computed(() => menu.value ? props.closeText : props.openText);
12708
12710
  const computedMenuProps = vue.computed(() => {
12709
12711
  return {
12710
12712
  ...props.menuProps,
@@ -13000,6 +13002,7 @@
13000
13002
  }
13001
13003
  return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? vue.createVNode(VIcon, {
13002
13004
  "class": "v-select__menu-icon",
13005
+ "color": vTextFieldRef.value?.fieldIconColor,
13003
13006
  "icon": props.menuIcon
13004
13007
  }, null) : undefined]);
13005
13008
  }
@@ -13203,17 +13206,8 @@
13203
13206
  const listHasFocus = vue.shallowRef(false);
13204
13207
  const vMenuRef = vue.ref();
13205
13208
  const vVirtualScrollRef = vue.ref();
13206
- const _menu = useProxiedModel(props, 'menu');
13207
- const menu = vue.computed({
13208
- get: () => _menu.value,
13209
- set: v => {
13210
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
13211
- _menu.value = v;
13212
- }
13213
- });
13214
13209
  const selectionIndex = vue.shallowRef(-1);
13215
13210
  const color = vue.computed(() => vTextFieldRef.value?.color);
13216
- const label = vue.computed(() => menu.value ? props.closeText : props.openText);
13217
13211
  const {
13218
13212
  items,
13219
13213
  transformIn,
@@ -13250,6 +13244,16 @@
13250
13244
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
13251
13245
  });
13252
13246
  const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
13247
+ const _menu = useProxiedModel(props, 'menu');
13248
+ const menu = vue.computed({
13249
+ get: () => _menu.value,
13250
+ set: v => {
13251
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
13252
+ if (v && menuDisabled.value) return;
13253
+ _menu.value = v;
13254
+ }
13255
+ });
13256
+ const label = vue.computed(() => menu.value ? props.closeText : props.openText);
13253
13257
  const listRef = vue.ref();
13254
13258
  const listEvents = useScrolling(listRef, vTextFieldRef);
13255
13259
  function onClear(e) {
@@ -13599,6 +13603,7 @@
13599
13603
  }
13600
13604
  return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? vue.createVNode(VIcon, {
13601
13605
  "class": "v-autocomplete__menu-icon",
13606
+ "color": vTextFieldRef.value?.fieldIconColor,
13602
13607
  "icon": props.menuIcon,
13603
13608
  "onMousedown": onMousedownMenuIcon,
13604
13609
  "onClick": noop,
@@ -17968,18 +17973,9 @@
17968
17973
  const listHasFocus = vue.shallowRef(false);
17969
17974
  const vMenuRef = vue.ref();
17970
17975
  const vVirtualScrollRef = vue.ref();
17971
- const _menu = useProxiedModel(props, 'menu');
17972
- const menu = vue.computed({
17973
- get: () => _menu.value,
17974
- set: v => {
17975
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
17976
- _menu.value = v;
17977
- }
17978
- });
17979
17976
  const selectionIndex = vue.shallowRef(-1);
17980
17977
  let cleared = false;
17981
17978
  const color = vue.computed(() => vTextFieldRef.value?.color);
17982
- const label = vue.computed(() => menu.value ? props.closeText : props.openText);
17983
17979
  const {
17984
17980
  items,
17985
17981
  transformIn,
@@ -18023,6 +18019,27 @@
18023
18019
  const counterValue = vue.computed(() => {
18024
18020
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : props.multiple ? model.value.length : search.value.length;
18025
18021
  });
18022
+ const {
18023
+ filteredItems,
18024
+ getMatches
18025
+ } = useFilter(props, items, () => isPristine.value ? '' : search.value);
18026
+ const displayItems = vue.computed(() => {
18027
+ if (props.hideSelected) {
18028
+ return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
18029
+ }
18030
+ return filteredItems.value;
18031
+ });
18032
+ const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
18033
+ const _menu = useProxiedModel(props, 'menu');
18034
+ const menu = vue.computed({
18035
+ get: () => _menu.value,
18036
+ set: v => {
18037
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
18038
+ if (v && menuDisabled.value) return;
18039
+ _menu.value = v;
18040
+ }
18041
+ });
18042
+ const label = vue.computed(() => menu.value ? props.closeText : props.openText);
18026
18043
  vue.watch(_search, value => {
18027
18044
  if (cleared) {
18028
18045
  // wait for clear to finish, VTextField sets _search to null
@@ -18038,22 +18055,11 @@
18038
18055
  _search.value = value[0]?.title ?? '';
18039
18056
  }
18040
18057
  });
18041
- const {
18042
- filteredItems,
18043
- getMatches
18044
- } = useFilter(props, items, () => isPristine.value ? '' : search.value);
18045
- const displayItems = vue.computed(() => {
18046
- if (props.hideSelected) {
18047
- return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
18048
- }
18049
- return filteredItems.value;
18050
- });
18051
18058
  const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
18052
18059
  const highlightFirst = vue.computed(() => {
18053
18060
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
18054
18061
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
18055
18062
  });
18056
- const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
18057
18063
  const listRef = vue.ref();
18058
18064
  const listEvents = useScrolling(listRef, vTextFieldRef);
18059
18065
  function onClear(e) {
@@ -18404,6 +18410,7 @@
18404
18410
  }
18405
18411
  return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? vue.createVNode(VIcon, {
18406
18412
  "class": "v-combobox__menu-icon",
18413
+ "color": vTextFieldRef.value?.fieldIconColor,
18407
18414
  "icon": props.menuIcon,
18408
18415
  "onMousedown": onMousedownMenuIcon,
18409
18416
  "onClick": noop,
@@ -24553,7 +24560,7 @@
24553
24560
  position: location,
24554
24561
  layoutSize,
24555
24562
  elementSize: width,
24556
- active: vue.computed(() => isActive.value || isDragging.value),
24563
+ active: vue.readonly(isActive),
24557
24564
  disableTransitions: vue.computed(() => isDragging.value),
24558
24565
  absolute: vue.computed(() =>
24559
24566
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
@@ -31534,7 +31541,7 @@
31534
31541
  };
31535
31542
  });
31536
31543
  }
31537
- const version$1 = "3.8.0-master.2025-04-01";
31544
+ const version$1 = "3.8.0-master.2025-04-03";
31538
31545
  createVuetify$1.version = version$1;
31539
31546
 
31540
31547
  // Vue's inject() can only be used in setup
@@ -31819,7 +31826,7 @@
31819
31826
 
31820
31827
  /* eslint-disable local-rules/sort-imports */
31821
31828
 
31822
- const version = "3.8.0-master.2025-04-01";
31829
+ const version = "3.8.0-master.2025-04-03";
31823
31830
 
31824
31831
  /* eslint-disable local-rules/sort-imports */
31825
31832