@vuetify/nightly 3.8.4-dev.2025-05-07 → 3.8.4-dev.2025-05-13

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 (54) hide show
  1. package/CHANGELOG.md +6 -3
  2. package/dist/json/attributes.json +3179 -3171
  3. package/dist/json/importMap-labs.json +30 -30
  4. package/dist/json/importMap.json +158 -158
  5. package/dist/json/tags.json +2 -0
  6. package/dist/json/web-types.json +6010 -5991
  7. package/dist/vuetify-labs.cjs +47 -23
  8. package/dist/vuetify-labs.css +4945 -4940
  9. package/dist/vuetify-labs.d.ts +951 -932
  10. package/dist/vuetify-labs.esm.js +47 -23
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +47 -23
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +41 -12
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +5435 -5430
  17. package/dist/vuetify.d.ts +512 -491
  18. package/dist/vuetify.esm.js +41 -12
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +41 -12
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +599 -597
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +6 -1
  26. package/lib/components/VAlert/VAlert.d.ts +35 -0
  27. package/lib/components/VAlert/VAlert.js +14 -9
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +7 -1
  30. package/lib/components/VAutocomplete/VAutocomplete.d.ts +94 -94
  31. package/lib/components/VCheckbox/VCheckbox.d.ts +3 -3
  32. package/lib/components/VCombobox/VCombobox.d.ts +94 -94
  33. package/lib/components/VField/VField.d.ts +3 -3
  34. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  35. package/lib/components/VInput/VInput.d.ts +3 -3
  36. package/lib/components/VNumberInput/VNumberInput.d.ts +89 -89
  37. package/lib/components/VRadioGroup/VRadioGroup.d.ts +3 -3
  38. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  39. package/lib/components/VSelect/VSelect.d.ts +94 -94
  40. package/lib/components/VSlider/VSlider.d.ts +3 -3
  41. package/lib/components/VSwitch/VSwitch.d.ts +3 -3
  42. package/lib/components/VTextField/VTextField.d.ts +27 -27
  43. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  44. package/lib/composables/iconSizes.d.ts +28 -0
  45. package/lib/composables/iconSizes.js +23 -0
  46. package/lib/composables/iconSizes.js.map +1 -0
  47. package/lib/entry-bundler.js +1 -1
  48. package/lib/framework.d.ts +57 -57
  49. package/lib/framework.js +1 -1
  50. package/lib/labs/VDateInput/VDateInput.d.ts +87 -87
  51. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  52. package/lib/labs/VIconBtn/VIconBtn.js +7 -11
  53. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  54. package/package.json +2 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.4-dev.2025-05-07
2
+ * Vuetify v3.8.4-dev.2025-05-13
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -5943,6 +5943,31 @@
5943
5943
  // Utilities
5944
5944
  const VAlertTitle = createSimpleFunctional('v-alert-title');
5945
5945
 
5946
+ // Utilities
5947
+
5948
+ // Types
5949
+
5950
+ // Types
5951
+
5952
+ // Composables
5953
+ const makeIconSizeProps = propsFactory({
5954
+ iconSize: [Number, String],
5955
+ iconSizes: {
5956
+ type: Array,
5957
+ default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
5958
+ }
5959
+ }, 'iconSize');
5960
+ function useIconSizes(props, fallback) {
5961
+ const iconSize = vue.computed(() => {
5962
+ const iconSizeMap = new Map(props.iconSizes);
5963
+ const _iconSize = props.iconSize ?? fallback() ?? 'default';
5964
+ return iconSizeMap.has(_iconSize) ? iconSizeMap.get(_iconSize) : _iconSize;
5965
+ });
5966
+ return {
5967
+ iconSize
5968
+ };
5969
+ }
5970
+
5946
5971
  // Types
5947
5972
 
5948
5973
  const allowedTypes = ['success', 'info', 'warning', 'error'];
@@ -5982,6 +6007,7 @@
5982
6007
  ...makeDensityProps(),
5983
6008
  ...makeDimensionProps(),
5984
6009
  ...makeElevationProps(),
6010
+ ...makeIconSizeProps(),
5985
6011
  ...makeLocationProps(),
5986
6012
  ...makePositionProps(),
5987
6013
  ...makeRoundedProps(),
@@ -6009,6 +6035,9 @@
6009
6035
  if (!props.type) return props.icon;
6010
6036
  return props.icon ?? `$${props.type}`;
6011
6037
  });
6038
+ const {
6039
+ iconSize
6040
+ } = useIconSizes(props, () => props.prominent ? 44 : 28);
6012
6041
  const {
6013
6042
  themeClasses
6014
6043
  } = provideTheme(props);
@@ -6056,6 +6085,11 @@
6056
6085
  const hasPrepend = !!(slots.prepend || icon.value);
6057
6086
  const hasTitle = !!(slots.title || props.title);
6058
6087
  const hasClose = !!(slots.close || props.closable);
6088
+ const iconProps = {
6089
+ density: props.density,
6090
+ icon: icon.value,
6091
+ size: iconSize.value
6092
+ };
6059
6093
  return isActive.value && vue.createVNode(props.tag, {
6060
6094
  "class": ['v-alert', props.border && {
6061
6095
  'v-alert--border': !!props.border,
@@ -6073,19 +6107,14 @@
6073
6107
  }, null), hasPrepend && vue.createVNode("div", {
6074
6108
  "key": "prepend",
6075
6109
  "class": "v-alert__prepend"
6076
- }, [!slots.prepend ? vue.createVNode(VIcon, {
6077
- "key": "prepend-icon",
6078
- "density": props.density,
6079
- "icon": icon.value,
6080
- "size": props.prominent ? 44 : 28
6081
- }, null) : vue.createVNode(VDefaultsProvider, {
6110
+ }, [!slots.prepend ? vue.createVNode(VIcon, vue.mergeProps({
6111
+ "key": "prepend-icon"
6112
+ }, iconProps), null) : vue.createVNode(VDefaultsProvider, {
6082
6113
  "key": "prepend-defaults",
6083
6114
  "disabled": !icon.value,
6084
6115
  "defaults": {
6085
6116
  VIcon: {
6086
- density: props.density,
6087
- icon: icon.value,
6088
- size: props.prominent ? 44 : 28
6117
+ ...iconProps
6089
6118
  }
6090
6119
  }
6091
6120
  }, slots.prepend)]), vue.createVNode("div", {
@@ -29707,11 +29736,6 @@
29707
29736
  hideOverlay: Boolean,
29708
29737
  icon: [String, Function, Object],
29709
29738
  iconColor: String,
29710
- iconSize: [Number, String],
29711
- iconSizes: {
29712
- type: Array,
29713
- default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
29714
- },
29715
29739
  loading: Boolean,
29716
29740
  opacity: [Number, String],
29717
29741
  readonly: Boolean,
@@ -29731,6 +29755,7 @@
29731
29755
  ...makeBorderProps(),
29732
29756
  ...makeComponentProps(),
29733
29757
  ...makeElevationProps(),
29758
+ ...makeIconSizeProps(),
29734
29759
  ...makeRoundedProps(),
29735
29760
  ...makeTagProps({
29736
29761
  tag: 'button'
@@ -29785,7 +29810,6 @@
29785
29810
  })()
29786
29811
  }));
29787
29812
  const btnSizeMap = new Map(props.sizes);
29788
- const iconSizeMap = new Map(props.iconSizes);
29789
29813
  function onClick() {
29790
29814
  if (props.disabled || props.readonly || isActive.value === undefined || props.tag === 'a' && attrs.href) return;
29791
29815
  isActive.value = !isActive.value;
@@ -29797,12 +29821,12 @@
29797
29821
  const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize;
29798
29822
  const btnHeight = props.height ?? btnSize;
29799
29823
  const btnWidth = props.width ?? btnSize;
29800
- const _iconSize = props.iconSize;
29801
- const hasNamedIconSize = iconSizeMap.has(_iconSize);
29802
- const iconSize = !_iconSize ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default') : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize;
29824
+ const {
29825
+ iconSize
29826
+ } = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize));
29803
29827
  const iconProps = {
29804
29828
  icon,
29805
- size: iconSize,
29829
+ size: iconSize.value,
29806
29830
  iconColor: props.iconColor,
29807
29831
  opacity: props.opacity
29808
29832
  };
@@ -29845,7 +29869,7 @@
29845
29869
  "color": typeof props.loading === 'boolean' ? undefined : props.loading,
29846
29870
  "indeterminate": "disable-shrink",
29847
29871
  "width": "2",
29848
- "size": iconSize
29872
+ "size": iconSize.value
29849
29873
  }, null)])]
29850
29874
  });
29851
29875
  });
@@ -31754,7 +31778,7 @@
31754
31778
  };
31755
31779
  });
31756
31780
  }
31757
- const version$1 = "3.8.4-dev.2025-05-07";
31781
+ const version$1 = "3.8.4-dev.2025-05-13";
31758
31782
  createVuetify$1.version = version$1;
31759
31783
 
31760
31784
  // Vue's inject() can only be used in setup
@@ -32052,7 +32076,7 @@
32052
32076
 
32053
32077
  /* eslint-disable local-rules/sort-imports */
32054
32078
 
32055
- const version = "3.8.4-dev.2025-05-07";
32079
+ const version = "3.8.4-dev.2025-05-13";
32056
32080
 
32057
32081
  /* eslint-disable local-rules/sort-imports */
32058
32082