vuetify 3.7.14 → 3.7.15

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 (124) hide show
  1. package/dist/json/attributes.json +3592 -3596
  2. package/dist/json/importMap-labs.json +22 -22
  3. package/dist/json/importMap.json +172 -172
  4. package/dist/json/tags.json +0 -1
  5. package/dist/json/web-types.json +6319 -6328
  6. package/dist/vuetify-labs.css +2227 -2223
  7. package/dist/vuetify-labs.d.ts +15 -15
  8. package/dist/vuetify-labs.esm.js +102 -28
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +102 -28
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +6087 -6087
  13. package/dist/vuetify.d.ts +61 -61
  14. package/dist/vuetify.esm.js +7 -4
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +7 -4
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +6 -6
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VList/VListItem.mjs +2 -0
  22. package/lib/components/VList/VListItem.mjs.map +1 -1
  23. package/lib/components/VOtpInput/VOtpInput.mjs +1 -1
  24. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  25. package/lib/components/VSlider/slider.mjs +1 -0
  26. package/lib/components/VSlider/slider.mjs.map +1 -1
  27. package/lib/entry-bundler.mjs +1 -1
  28. package/lib/framework.mjs +1 -1
  29. package/lib/index.d.mts +61 -61
  30. package/lib/labs/VDateInput/VDateInput.mjs +2 -2
  31. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  32. package/lib/labs/VFileUpload/VFileUpload.css +5 -1
  33. package/lib/labs/VFileUpload/VFileUpload.sass +4 -0
  34. package/lib/labs/VFileUpload/_variables.scss +1 -1
  35. package/lib/labs/VNumberInput/VNumberInput.mjs +55 -19
  36. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  37. package/lib/labs/VNumberInput/hold.mjs +31 -0
  38. package/lib/labs/VNumberInput/hold.mjs.map +1 -0
  39. package/lib/labs/VNumberInput/index.d.mts +1 -7
  40. package/lib/labs/VTreeview/VTreeviewItem.mjs +11 -4
  41. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  42. package/lib/labs/VTreeview/index.d.mts +14 -8
  43. package/lib/labs/components.d.mts +15 -15
  44. package/lib/locale/af.mjs +42 -42
  45. package/lib/locale/af.mjs.map +1 -1
  46. package/lib/locale/az.mjs +7 -7
  47. package/lib/locale/az.mjs.map +1 -1
  48. package/lib/locale/bg.mjs +7 -7
  49. package/lib/locale/bg.mjs.map +1 -1
  50. package/lib/locale/ca.mjs +25 -25
  51. package/lib/locale/ca.mjs.map +1 -1
  52. package/lib/locale/ckb.mjs +29 -29
  53. package/lib/locale/ckb.mjs.map +1 -1
  54. package/lib/locale/cs.mjs +13 -13
  55. package/lib/locale/cs.mjs.map +1 -1
  56. package/lib/locale/da.mjs +22 -22
  57. package/lib/locale/da.mjs.map +1 -1
  58. package/lib/locale/el.mjs +41 -41
  59. package/lib/locale/el.mjs.map +1 -1
  60. package/lib/locale/es.mjs +26 -26
  61. package/lib/locale/es.mjs.map +1 -1
  62. package/lib/locale/et.mjs +29 -29
  63. package/lib/locale/et.mjs.map +1 -1
  64. package/lib/locale/fa.mjs +5 -5
  65. package/lib/locale/fa.mjs.map +1 -1
  66. package/lib/locale/fi.mjs +22 -22
  67. package/lib/locale/fi.mjs.map +1 -1
  68. package/lib/locale/fr.mjs +6 -6
  69. package/lib/locale/fr.mjs.map +1 -1
  70. package/lib/locale/he.mjs +29 -29
  71. package/lib/locale/he.mjs.map +1 -1
  72. package/lib/locale/hr.mjs +28 -28
  73. package/lib/locale/hr.mjs.map +1 -1
  74. package/lib/locale/hu.mjs +10 -10
  75. package/lib/locale/hu.mjs.map +1 -1
  76. package/lib/locale/id.mjs +30 -30
  77. package/lib/locale/id.mjs.map +1 -1
  78. package/lib/locale/it.mjs +7 -7
  79. package/lib/locale/it.mjs.map +1 -1
  80. package/lib/locale/ja.mjs +9 -9
  81. package/lib/locale/ja.mjs.map +1 -1
  82. package/lib/locale/km.mjs +6 -6
  83. package/lib/locale/km.mjs.map +1 -1
  84. package/lib/locale/ko.mjs +27 -27
  85. package/lib/locale/ko.mjs.map +1 -1
  86. package/lib/locale/lt.mjs +5 -5
  87. package/lib/locale/lt.mjs.map +1 -1
  88. package/lib/locale/lv.mjs +33 -33
  89. package/lib/locale/lv.mjs.map +1 -1
  90. package/lib/locale/nl.mjs +10 -10
  91. package/lib/locale/nl.mjs.map +1 -1
  92. package/lib/locale/no.mjs +11 -11
  93. package/lib/locale/no.mjs.map +1 -1
  94. package/lib/locale/pl.mjs +7 -7
  95. package/lib/locale/pl.mjs.map +1 -1
  96. package/lib/locale/pt.mjs +11 -11
  97. package/lib/locale/pt.mjs.map +1 -1
  98. package/lib/locale/ro.mjs +9 -9
  99. package/lib/locale/ro.mjs.map +1 -1
  100. package/lib/locale/ru.mjs +6 -6
  101. package/lib/locale/ru.mjs.map +1 -1
  102. package/lib/locale/sk.mjs +5 -5
  103. package/lib/locale/sk.mjs.map +1 -1
  104. package/lib/locale/sl.mjs +4 -4
  105. package/lib/locale/sl.mjs.map +1 -1
  106. package/lib/locale/sr-Cyrl.mjs +30 -30
  107. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  108. package/lib/locale/sr-Latn.mjs +28 -28
  109. package/lib/locale/sr-Latn.mjs.map +1 -1
  110. package/lib/locale/sv.mjs +17 -17
  111. package/lib/locale/sv.mjs.map +1 -1
  112. package/lib/locale/th.mjs +30 -30
  113. package/lib/locale/th.mjs.map +1 -1
  114. package/lib/locale/tr.mjs +31 -31
  115. package/lib/locale/tr.mjs.map +1 -1
  116. package/lib/locale/uk.mjs +29 -29
  117. package/lib/locale/uk.mjs.map +1 -1
  118. package/lib/locale/vi.mjs +28 -28
  119. package/lib/locale/vi.mjs.map +1 -1
  120. package/lib/locale/zh-Hans.mjs +31 -31
  121. package/lib/locale/zh-Hans.mjs.map +1 -1
  122. package/lib/locale/zh-Hant.mjs +31 -31
  123. package/lib/locale/zh-Hant.mjs.map +1 -1
  124. package/package.json +7 -2
@@ -71161,7 +71161,7 @@ declare const VFileUploadItem: {
71161
71161
  type VFileUploadItem = InstanceType<typeof VFileUploadItem>;
71162
71162
 
71163
71163
  type ControlSlot = {
71164
- click: (e: MouseEvent) => void;
71164
+ props: Record<string, unknown>;
71165
71165
  };
71166
71166
  type ControlVariant = 'default' | 'stacked' | 'split' | 'hidden';
71167
71167
  declare const VNumberInput: {
@@ -71218,7 +71218,6 @@ declare const VNumberInput: {
71218
71218
  counter?: string | number | boolean | undefined;
71219
71219
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
71220
71220
  validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
71221
- validationValue?: any;
71222
71221
  rounded?: string | number | boolean | undefined;
71223
71222
  baseColor?: string | undefined;
71224
71223
  bgColor?: string | undefined;
@@ -73391,7 +73390,6 @@ declare const VNumberInput: {
73391
73390
  counter?: string | number | boolean | undefined;
73392
73391
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
73393
73392
  validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
73394
- validationValue?: any;
73395
73393
  rounded?: string | number | boolean | undefined;
73396
73394
  baseColor?: string | undefined;
73397
73395
  bgColor?: string | undefined;
@@ -73585,7 +73583,6 @@ declare const VNumberInput: {
73585
73583
  counter?: string | number | boolean | undefined;
73586
73584
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
73587
73585
  validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
73588
- validationValue?: any;
73589
73586
  rounded?: string | number | boolean | undefined;
73590
73587
  baseColor?: string | undefined;
73591
73588
  bgColor?: string | undefined;
@@ -75798,7 +75795,6 @@ declare const VNumberInput: {
75798
75795
  counter?: string | number | boolean | undefined;
75799
75796
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
75800
75797
  validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
75801
- validationValue?: any;
75802
75798
  rounded?: string | number | boolean | undefined;
75803
75799
  baseColor?: string | undefined;
75804
75800
  bgColor?: string | undefined;
@@ -78039,7 +78035,6 @@ declare const VNumberInput: {
78039
78035
  default: () => never[];
78040
78036
  };
78041
78037
  validateOn: PropType<ValidationProps["validateOn"]>;
78042
- validationValue: null;
78043
78038
  rounded: {
78044
78039
  type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
78045
78040
  default: undefined;
@@ -78173,7 +78168,6 @@ declare const VNumberInput: {
78173
78168
  default: () => never[];
78174
78169
  };
78175
78170
  validateOn: PropType<ValidationProps["validateOn"]>;
78176
- validationValue: null;
78177
78171
  rounded: {
78178
78172
  type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
78179
78173
  default: undefined;
@@ -82079,7 +82073,6 @@ declare const VTreeviewItem: {
82079
82073
  prependAvatar?: string | undefined;
82080
82074
  subtitle?: string | number | undefined;
82081
82075
  toggleIcon?: IconValue | undefined;
82082
- onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
82083
82076
  } & {
82084
82077
  $children?: vue.VNodeChild | {
82085
82078
  prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
@@ -82101,7 +82094,11 @@ declare const VTreeviewItem: {
82101
82094
  "v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
82102
82095
  "v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
82103
82096
  "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
82104
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
82097
+ } & {
82098
+ onToggleExpand?: ((value: PointerEvent) => any) | undefined;
82099
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
82100
+ toggleExpand: (value: PointerEvent) => true;
82101
+ }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
82105
82102
  replace: boolean;
82106
82103
  variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
82107
82104
  exact: boolean;
@@ -82147,7 +82144,6 @@ declare const VTreeviewItem: {
82147
82144
  prependAvatar?: string | undefined;
82148
82145
  subtitle?: string | number | undefined;
82149
82146
  toggleIcon?: IconValue | undefined;
82150
- onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
82151
82147
  } & {
82152
82148
  $children?: vue.VNodeChild | {
82153
82149
  prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
@@ -82169,6 +82165,8 @@ declare const VTreeviewItem: {
82169
82165
  "v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
82170
82166
  "v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
82171
82167
  "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
82168
+ } & {
82169
+ onToggleExpand?: ((value: PointerEvent) => any) | undefined;
82172
82170
  }, {
82173
82171
  replace: boolean;
82174
82172
  link: boolean;
@@ -82246,7 +82244,6 @@ declare const VTreeviewItem: {
82246
82244
  prependAvatar?: string | undefined;
82247
82245
  subtitle?: string | number | undefined;
82248
82246
  toggleIcon?: IconValue | undefined;
82249
- onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
82250
82247
  } & {
82251
82248
  $children?: vue.VNodeChild | {
82252
82249
  prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
@@ -82268,6 +82265,8 @@ declare const VTreeviewItem: {
82268
82265
  "v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
82269
82266
  "v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
82270
82267
  "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
82268
+ } & {
82269
+ onToggleExpand?: ((value: PointerEvent) => any) | undefined;
82271
82270
  }, {}, {}, {}, {}, {
82272
82271
  replace: boolean;
82273
82272
  link: boolean;
@@ -82336,7 +82335,6 @@ declare const VTreeviewItem: {
82336
82335
  prependAvatar?: string | undefined;
82337
82336
  subtitle?: string | number | undefined;
82338
82337
  toggleIcon?: IconValue | undefined;
82339
- onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
82340
82338
  } & {
82341
82339
  $children?: vue.VNodeChild | {
82342
82340
  prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
@@ -82358,7 +82356,11 @@ declare const VTreeviewItem: {
82358
82356
  "v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
82359
82357
  "v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
82360
82358
  "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
82361
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
82359
+ } & {
82360
+ onToggleExpand?: ((value: PointerEvent) => any) | undefined;
82361
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
82362
+ toggleExpand: (value: PointerEvent) => true;
82363
+ }, string, {
82362
82364
  replace: boolean;
82363
82365
  link: boolean;
82364
82366
  variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
@@ -82459,7 +82461,6 @@ declare const VTreeviewItem: {
82459
82461
  onClick: vue.PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
82460
82462
  onClickOnce: vue.PropType<(args_0: MouseEvent) => void>;
82461
82463
  loading: BooleanConstructor;
82462
- onToggleExpand: vue.PropType<(args_0: MouseEvent) => void>;
82463
82464
  toggleIcon: vue.PropType<IconValue>;
82464
82465
  }, vue.ExtractPropTypes<{
82465
82466
  color: StringConstructor;
@@ -82538,7 +82539,6 @@ declare const VTreeviewItem: {
82538
82539
  onClick: vue.PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
82539
82540
  onClickOnce: vue.PropType<(args_0: MouseEvent) => void>;
82540
82541
  loading: BooleanConstructor;
82541
- onToggleExpand: vue.PropType<(args_0: MouseEvent) => void>;
82542
82542
  toggleIcon: vue.PropType<IconValue>;
82543
82543
  }>>;
82544
82544
  type VTreeviewItem = InstanceType<typeof VTreeviewItem>;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.14
2
+ * Vuetify v3.7.15
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -9056,6 +9056,8 @@ const VListItem = genericComponent()({
9056
9056
  }
9057
9057
  }
9058
9058
  function onKeyDown(e) {
9059
+ const target = e.target;
9060
+ if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
9059
9061
  if (e.key === 'Enter' || e.key === ' ') {
9060
9062
  e.preventDefault();
9061
9063
  e.target.dispatchEvent(new MouseEvent('click', e));
@@ -15681,6 +15683,7 @@ const useSlider = _ref => {
15681
15683
  });
15682
15684
  }
15683
15685
  function onSliderMousedown(e) {
15686
+ if (e.button !== 0) return;
15684
15687
  e.preventDefault();
15685
15688
  handleStart(e);
15686
15689
  window.addEventListener('mousemove', onMouseMove, moveListenerOptions);
@@ -24595,7 +24598,7 @@ const VOtpInput = genericComponent()({
24595
24598
  "disabled": props.disabled,
24596
24599
  "inputmode": props.type === 'number' ? 'numeric' : 'text',
24597
24600
  "min": props.type === 'number' ? 0 : undefined,
24598
- "maxlength": "1",
24601
+ "maxlength": i === 0 ? length.value : '1',
24599
24602
  "placeholder": props.placeholder,
24600
24603
  "type": props.type === 'number' ? 'text' : props.type,
24601
24604
  "value": model.value[i],
@@ -28246,9 +28249,9 @@ const VDateInput = genericComponent()({
28246
28249
  if (props.multiple === 'range') {
28247
28250
  const start = value[0];
28248
28251
  const end = value[value.length - 1];
28249
- return adapter.isValid(start) && adapter.isValid(end) ? `${adapter.format(start, 'keyboardDate')} - ${adapter.format(end, 'keyboardDate')}` : '';
28252
+ return adapter.isValid(start) && adapter.isValid(end) ? `${adapter.format(adapter.date(start), 'keyboardDate')} - ${adapter.format(adapter.date(end), 'keyboardDate')}` : '';
28250
28253
  }
28251
- return adapter.isValid(model.value) ? adapter.format(model.value, 'keyboardDate') : '';
28254
+ return adapter.isValid(model.value) ? adapter.format(adapter.date(model.value), 'keyboardDate') : '';
28252
28255
  });
28253
28256
  const isInteractive = computed(() => !props.disabled && !props.readonly);
28254
28257
  function onKeydown(e) {
@@ -28654,6 +28657,36 @@ const VFileUpload = genericComponent()({
28654
28657
  }
28655
28658
  });
28656
28659
 
28660
+ // Utilities
28661
+ const HOLD_REPEAT = 50;
28662
+ const HOLD_DELAY = 500;
28663
+ function useHold(_ref) {
28664
+ let {
28665
+ toggleUpDown
28666
+ } = _ref;
28667
+ let timeout = -1;
28668
+ let interval = -1;
28669
+ onScopeDispose(holdStop);
28670
+ function holdStart(value) {
28671
+ holdStop();
28672
+ tick(value);
28673
+ timeout = window.setTimeout(() => {
28674
+ interval = window.setInterval(() => tick(value), HOLD_REPEAT);
28675
+ }, HOLD_DELAY);
28676
+ }
28677
+ function holdStop() {
28678
+ window.clearTimeout(timeout);
28679
+ window.clearInterval(interval);
28680
+ }
28681
+ function tick(value) {
28682
+ toggleUpDown(value === 'up');
28683
+ }
28684
+ return {
28685
+ holdStart,
28686
+ holdStop
28687
+ };
28688
+ }
28689
+
28657
28690
  // Types
28658
28691
 
28659
28692
  const makeVNumberInputProps = propsFactory({
@@ -28683,7 +28716,7 @@ const makeVNumberInputProps = propsFactory({
28683
28716
  type: Number,
28684
28717
  default: 0
28685
28718
  },
28686
- ...omit(makeVTextFieldProps({}), ['modelValue'])
28719
+ ...omit(makeVTextFieldProps(), ['modelValue', 'validationValue'])
28687
28720
  }, 'VNumberInput');
28688
28721
  const VNumberInput = genericComponent()({
28689
28722
  name: 'VNumberInput',
@@ -28698,9 +28731,19 @@ const VNumberInput = genericComponent()({
28698
28731
  slots
28699
28732
  } = _ref;
28700
28733
  const vTextFieldRef = ref();
28734
+ const {
28735
+ holdStart,
28736
+ holdStop
28737
+ } = useHold({
28738
+ toggleUpDown
28739
+ });
28701
28740
  const form = useForm(props);
28702
28741
  const controlsDisabled = computed(() => form.isDisabled.value || form.isReadonly.value);
28703
- const isFocused = ref(false);
28742
+ const {
28743
+ isFocused,
28744
+ focus,
28745
+ blur
28746
+ } = useFocus(props);
28704
28747
  function correctPrecision(val) {
28705
28748
  let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
28706
28749
  const fixed = precision == null ? String(val) : val.toFixed(precision);
@@ -28744,10 +28787,18 @@ const VNumberInput = genericComponent()({
28744
28787
  const controlNodeSize = computed(() => controlVariant.value === 'split' ? 'default' : 'small');
28745
28788
  const controlNodeDefaultHeight = computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
28746
28789
  const incrementSlotProps = computed(() => ({
28747
- click: onClickUp
28790
+ props: {
28791
+ onClick: onControlClick,
28792
+ onPointerup: onControlMouseup,
28793
+ onPointerdown: onUpControlMousedown
28794
+ }
28748
28795
  }));
28749
28796
  const decrementSlotProps = computed(() => ({
28750
- click: onClickDown
28797
+ props: {
28798
+ onClick: onControlClick,
28799
+ onPointerup: onControlMouseup,
28800
+ onPointerdown: onDownControlMousedown
28801
+ }
28751
28802
  }));
28752
28803
  watch(() => props.precision, () => formatInputValue());
28753
28804
  onMounted(() => {
@@ -28774,14 +28825,6 @@ const VNumberInput = genericComponent()({
28774
28825
  if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision);
28775
28826
  }
28776
28827
  }
28777
- function onClickUp(e) {
28778
- e.stopPropagation();
28779
- toggleUpDown();
28780
- }
28781
- function onClickDown(e) {
28782
- e.stopPropagation();
28783
- toggleUpDown(false);
28784
- }
28785
28828
  function onBeforeinput(e) {
28786
28829
  if (!e.data) return;
28787
28830
  const existingTxt = e.target?.value;
@@ -28819,8 +28862,29 @@ const VNumberInput = genericComponent()({
28819
28862
  }
28820
28863
  }
28821
28864
  }
28822
- function onControlMousedown(e) {
28865
+ function onControlClick(e) {
28866
+ e.stopPropagation();
28867
+ }
28868
+ function onControlMouseup(e) {
28869
+ const el = e.currentTarget;
28870
+ el?.releasePointerCapture(e.pointerId);
28871
+ e.preventDefault();
28872
+ e.stopPropagation();
28873
+ holdStop();
28874
+ }
28875
+ function onUpControlMousedown(e) {
28876
+ const el = e.currentTarget;
28877
+ el?.setPointerCapture(e.pointerId);
28878
+ e.preventDefault();
28879
+ e.stopPropagation();
28880
+ holdStart('up');
28881
+ }
28882
+ function onDownControlMousedown(e) {
28883
+ const el = e.currentTarget;
28884
+ el?.setPointerCapture(e.pointerId);
28885
+ e.preventDefault();
28823
28886
  e.stopPropagation();
28887
+ holdStart('down');
28824
28888
  }
28825
28889
  function clampModel() {
28826
28890
  if (controlsDisabled.value) return;
@@ -28849,11 +28913,11 @@ const VNumberInput = genericComponent()({
28849
28913
  inputText.value = model.value.toString();
28850
28914
  }
28851
28915
  function onFocus() {
28852
- isFocused.value = true;
28916
+ focus();
28853
28917
  trimDecimalZeros();
28854
28918
  }
28855
28919
  function onBlur() {
28856
- isFocused.value = false;
28920
+ blur();
28857
28921
  clampModel();
28858
28922
  }
28859
28923
  useRender(() => {
@@ -28870,8 +28934,9 @@ const VNumberInput = genericComponent()({
28870
28934
  "data-testid": "increment",
28871
28935
  "aria-hidden": "true",
28872
28936
  "icon": incrementIcon.value,
28873
- "onClick": onClickUp,
28874
- "onMousedown": onControlMousedown,
28937
+ "onClick": onControlClick,
28938
+ "onPointerup": onControlMouseup,
28939
+ "onPointerdown": onUpControlMousedown,
28875
28940
  "size": controlNodeSize.value,
28876
28941
  "tabindex": "-1"
28877
28942
  }, null) : createVNode(VDefaultsProvider, {
@@ -28900,8 +28965,9 @@ const VNumberInput = genericComponent()({
28900
28965
  "icon": decrementIcon.value,
28901
28966
  "size": controlNodeSize.value,
28902
28967
  "tabindex": "-1",
28903
- "onClick": onClickDown,
28904
- "onMousedown": onControlMousedown
28968
+ "onClick": onControlClick,
28969
+ "onPointerup": onControlMouseup,
28970
+ "onPointerdown": onDownControlMousedown
28905
28971
  }, null) : createVNode(VDefaultsProvider, {
28906
28972
  "key": "decrement-defaults",
28907
28973
  "defaults": {
@@ -28945,6 +29011,7 @@ const VNumberInput = genericComponent()({
28945
29011
  "ref": vTextFieldRef,
28946
29012
  "modelValue": inputText.value,
28947
29013
  "onUpdate:modelValue": $event => inputText.value = $event,
29014
+ "validationValue": model.value,
28948
29015
  "onBeforeinput": onBeforeinput,
28949
29016
  "onFocus": onFocus,
28950
29017
  "onBlur": onBlur,
@@ -30129,7 +30196,6 @@ const VTreeviewSymbol = Symbol.for('vuetify:v-treeview');
30129
30196
 
30130
30197
  const makeVTreeviewItemProps = propsFactory({
30131
30198
  loading: Boolean,
30132
- onToggleExpand: EventProp(),
30133
30199
  toggleIcon: IconValue,
30134
30200
  ...makeVListItemProps({
30135
30201
  slim: true
@@ -30138,9 +30204,13 @@ const makeVTreeviewItemProps = propsFactory({
30138
30204
  const VTreeviewItem = genericComponent()({
30139
30205
  name: 'VTreeviewItem',
30140
30206
  props: makeVTreeviewItemProps(),
30207
+ emits: {
30208
+ toggleExpand: value => true
30209
+ },
30141
30210
  setup(props, _ref) {
30142
30211
  let {
30143
- slots
30212
+ slots,
30213
+ emit
30144
30214
  } = _ref;
30145
30215
  const visibleIds = inject$1(VTreeviewSymbol, {
30146
30216
  visibleIds: ref()
@@ -30155,6 +30225,10 @@ const VTreeviewItem = genericComponent()({
30155
30225
  vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
30156
30226
  }
30157
30227
  }
30228
+ function onClickAction(e) {
30229
+ e.preventDefault();
30230
+ emit('toggleExpand', e);
30231
+ }
30158
30232
  useRender(() => {
30159
30233
  const listItemProps = omit(VListItem.filterProps(props), ['onClick']);
30160
30234
  const hasPrepend = slots.prepend || props.toggleIcon;
@@ -30179,7 +30253,7 @@ const VTreeviewItem = genericComponent()({
30179
30253
  "icon": props.toggleIcon,
30180
30254
  "loading": props.loading,
30181
30255
  "variant": "text",
30182
- "onClick": props.onToggleExpand
30256
+ "onClick": onClickAction
30183
30257
  }, {
30184
30258
  loader() {
30185
30259
  return createVNode(VProgressCircular, {
@@ -30974,7 +31048,7 @@ function createVuetify$1() {
30974
31048
  goTo
30975
31049
  };
30976
31050
  }
30977
- const version$1 = "3.7.14";
31051
+ const version$1 = "3.7.15";
30978
31052
  createVuetify$1.version = version$1;
30979
31053
 
30980
31054
  // Vue's inject() can only be used in setup
@@ -31227,7 +31301,7 @@ var index = /*#__PURE__*/Object.freeze({
31227
31301
 
31228
31302
  /* eslint-disable local-rules/sort-imports */
31229
31303
 
31230
- const version = "3.7.14";
31304
+ const version = "3.7.15";
31231
31305
 
31232
31306
  /* eslint-disable local-rules/sort-imports */
31233
31307