vuetify 3.7.10 → 3.7.12

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 (61) hide show
  1. package/dist/json/attributes.json +3092 -3104
  2. package/dist/json/importMap-labs.json +28 -28
  3. package/dist/json/importMap.json +168 -168
  4. package/dist/json/tags.json +0 -3
  5. package/dist/json/web-types.json +6174 -6201
  6. package/dist/vuetify-labs.css +4937 -4936
  7. package/dist/vuetify-labs.d.ts +90 -165
  8. package/dist/vuetify-labs.esm.js +138 -110
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +137 -109
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +5080 -5079
  13. package/dist/vuetify.d.ts +131 -191
  14. package/dist/vuetify.esm.js +123 -104
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +122 -103
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +935 -923
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -12
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  23. package/lib/components/VAutocomplete/index.d.mts +25 -47
  24. package/lib/components/VCombobox/VCombobox.mjs +4 -14
  25. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  26. package/lib/components/VCombobox/index.d.mts +25 -47
  27. package/lib/components/VDatePicker/VDatePickerMonth.mjs +2 -2
  28. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  29. package/lib/components/VDatePicker/index.d.mts +12 -24
  30. package/lib/components/VList/VList.mjs +1 -4
  31. package/lib/components/VList/VList.mjs.map +1 -1
  32. package/lib/components/VList/index.d.mts +7 -16
  33. package/lib/components/VOverlay/VOverlay.css +2 -1
  34. package/lib/components/VOverlay/VOverlay.sass +2 -1
  35. package/lib/components/VOverlay/_variables.scss +1 -1
  36. package/lib/components/VSelect/VSelect.mjs +5 -9
  37. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  38. package/lib/components/VSelect/index.d.mts +25 -47
  39. package/lib/components/VSlider/slider.mjs +25 -12
  40. package/lib/components/VSlider/slider.mjs.map +1 -1
  41. package/lib/components/index.d.mts +73 -133
  42. package/lib/composables/calendar.mjs.map +1 -1
  43. package/lib/composables/list-items.mjs +70 -17
  44. package/lib/composables/list-items.mjs.map +1 -1
  45. package/lib/composables/nested/selectStrategies.mjs +6 -7
  46. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  47. package/lib/directives/ripple/index.mjs +7 -5
  48. package/lib/directives/ripple/index.mjs.map +1 -1
  49. package/lib/entry-bundler.mjs +1 -1
  50. package/lib/framework.mjs +1 -1
  51. package/lib/index.d.mts +58 -58
  52. package/lib/labs/VDateInput/VDateInput.mjs +17 -7
  53. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  54. package/lib/labs/VDateInput/index.d.mts +11 -17
  55. package/lib/labs/VTreeview/index.d.mts +7 -16
  56. package/lib/labs/components.d.mts +18 -33
  57. package/lib/util/helpers.mjs +3 -0
  58. package/lib/util/helpers.mjs.map +1 -1
  59. package/package.json +2 -2
  60. package/lib/composables/mousedown.mjs +0 -30
  61. package/lib/composables/mousedown.mjs.map +0 -1
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.10
2
+ * Vuetify v3.7.12
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -504,6 +504,9 @@
504
504
  const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
505
505
  return isPrintableChar && noModifier;
506
506
  }
507
+ function isPrimitive(value) {
508
+ return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';
509
+ }
507
510
 
508
511
  // Utilities
509
512
  const block = ['top', 'bottom'];
@@ -5582,11 +5585,13 @@
5582
5585
  animation.classList.add('v-ripple__animation--visible');
5583
5586
  transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);
5584
5587
  animation.dataset.activated = String(performance.now());
5585
- setTimeout(() => {
5586
- animation.classList.remove('v-ripple__animation--enter');
5587
- animation.classList.add('v-ripple__animation--in');
5588
- transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);
5589
- }, 0);
5588
+ requestAnimationFrame(() => {
5589
+ requestAnimationFrame(() => {
5590
+ animation.classList.remove('v-ripple__animation--enter');
5591
+ animation.classList.add('v-ripple__animation--in');
5592
+ transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);
5593
+ });
5594
+ });
5590
5595
  },
5591
5596
  hide(el) {
5592
5597
  if (!el?._ripple?.enabled) return;
@@ -8581,12 +8586,12 @@
8581
8586
  return selected;
8582
8587
  },
8583
8588
  in: (v, children, parents) => {
8584
- let map = new Map();
8589
+ const map = new Map();
8585
8590
  for (const id of v || []) {
8586
- map = strategy.select({
8591
+ strategy.select({
8587
8592
  id,
8588
8593
  value: true,
8589
- selected: new Map(map),
8594
+ selected: map,
8590
8595
  children,
8591
8596
  parents
8592
8597
  });
@@ -8621,11 +8626,10 @@
8621
8626
  });
8622
8627
  },
8623
8628
  in: (v, children, parents) => {
8624
- let map = new Map();
8625
8629
  if (v?.length) {
8626
- map = parentStrategy.in(v.slice(0, 1), children, parents);
8630
+ return parentStrategy.in(v.slice(0, 1), children, parents);
8627
8631
  }
8628
- return map;
8632
+ return new Map();
8629
8633
  },
8630
8634
  out: (v, children, parents) => {
8631
8635
  return parentStrategy.out(v, children, parents);
@@ -8728,7 +8732,7 @@
8728
8732
  map = strategy.select({
8729
8733
  id,
8730
8734
  value: true,
8731
- selected: new Map(map),
8735
+ selected: map,
8732
8736
  children,
8733
8737
  parents
8734
8738
  });
@@ -9612,10 +9616,7 @@
9612
9616
  default: 'props'
9613
9617
  },
9614
9618
  returnObject: Boolean,
9615
- valueComparator: {
9616
- type: Function,
9617
- default: deepEqual
9618
- }
9619
+ valueComparator: Function
9619
9620
  }, 'list-items');
9620
9621
  function transformItem$3(props, item) {
9621
9622
  const title = getPropertyFromItem(item, props.itemTitle, item);
@@ -9636,29 +9637,85 @@
9636
9637
  };
9637
9638
  }
9638
9639
  function transformItems$3(props, items) {
9640
+ const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
9639
9641
  const array = [];
9640
9642
  for (const item of items) {
9641
- array.push(transformItem$3(props, item));
9643
+ array.push(transformItem$3(_props, item));
9642
9644
  }
9643
9645
  return array;
9644
9646
  }
9645
9647
  function useItems(props) {
9646
9648
  const items = vue.computed(() => transformItems$3(props, props.items));
9647
9649
  const hasNullItem = vue.computed(() => items.value.some(item => item.value === null));
9650
+ const itemsMap = vue.shallowRef(new Map());
9651
+ const keylessItems = vue.shallowRef([]);
9652
+ vue.watchEffect(() => {
9653
+ const _items = items.value;
9654
+ const map = new Map();
9655
+ const keyless = [];
9656
+ for (let i = 0; i < _items.length; i++) {
9657
+ const item = _items[i];
9658
+ if (isPrimitive(item.value) || item.value === null) {
9659
+ let values = map.get(item.value);
9660
+ if (!values) {
9661
+ values = [];
9662
+ map.set(item.value, values);
9663
+ }
9664
+ values.push(item);
9665
+ } else {
9666
+ keyless.push(item);
9667
+ }
9668
+ }
9669
+ itemsMap.value = map;
9670
+ keylessItems.value = keyless;
9671
+ });
9648
9672
  function transformIn(value) {
9649
- if (!hasNullItem.value) {
9673
+ // Cache unrefed values outside the loop,
9674
+ // proxy getters can be slow when you call them a billion times
9675
+ const _value = vue.toRaw(value);
9676
+ const _items = itemsMap.value;
9677
+ const _allItems = items.value;
9678
+ const _keylessItems = keylessItems.value;
9679
+ const _hasNullItem = hasNullItem.value;
9680
+ const _returnObject = props.returnObject;
9681
+ const hasValueComparator = !!props.valueComparator;
9682
+ const valueComparator = props.valueComparator || deepEqual;
9683
+ const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
9684
+ const returnValue = [];
9685
+ main: for (const v of _value) {
9650
9686
  // When the model value is null, return an InternalItem
9651
9687
  // based on null only if null is one of the items
9652
- value = value.filter(v => v !== null);
9653
- }
9654
- return value.map(v => {
9655
- if (props.returnObject && typeof v === 'string') {
9656
- // String model value means value is a custom input value from combobox
9657
- // Don't look up existing items if the model value is a string
9658
- return transformItem$3(props, v);
9688
+ if (!_hasNullItem && v === null) continue;
9689
+
9690
+ // String model value means value is a custom input value from combobox
9691
+ // Don't look up existing items if the model value is a string
9692
+ if (_returnObject && typeof v === 'string') {
9693
+ returnValue.push(transformItem$3(_props, v));
9694
+ continue;
9659
9695
  }
9660
- return items.value.find(item => props.valueComparator(v, item.value)) || transformItem$3(props, v);
9661
- });
9696
+
9697
+ // Fast path, items with primitive values and no
9698
+ // custom valueComparator can use a constant-time
9699
+ // map lookup instead of searching the items array
9700
+ const fastItems = _items.get(v);
9701
+
9702
+ // Slow path, always use valueComparator.
9703
+ // This is O(n^2) so we really don't want to
9704
+ // do it for more than a couple hundred items.
9705
+ if (hasValueComparator || !fastItems) {
9706
+ for (const item of hasValueComparator ? _allItems : _keylessItems) {
9707
+ if (valueComparator(v, item.value)) {
9708
+ returnValue.push(item);
9709
+ continue main;
9710
+ }
9711
+ }
9712
+ // Not an existing item, construct it from the model (#4000)
9713
+ returnValue.push(transformItem$3(_props, v));
9714
+ continue;
9715
+ }
9716
+ returnValue.push(...fastItems);
9717
+ }
9718
+ return returnValue;
9662
9719
  }
9663
9720
  function transformOut(value) {
9664
9721
  return props.returnObject ? value.map(_ref => {
@@ -9682,9 +9739,6 @@
9682
9739
 
9683
9740
  // Types
9684
9741
 
9685
- function isPrimitive(value) {
9686
- return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
9687
- }
9688
9742
  function transformItem$2(props, item) {
9689
9743
  const type = getPropertyFromItem(item, props.itemType, 'item');
9690
9744
  const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
@@ -12637,34 +12691,6 @@
12637
12691
  }; // typescript doesn't know about vue's event merging
12638
12692
  }
12639
12693
 
12640
- // https://github.com/vuetifyjs/vuetify/issues/20003
12641
- /**
12642
- * This composable is designed to track whether the mouse is in a mousedown state at any given time. The original motivation is that
12643
- * it is impossible to distinguish whether a blur event is triggered by mousedown, keydown, or via JavaScript.
12644
- * This composable allows for conditional logic when a blur is triggered by mousedown.
12645
- */
12646
-
12647
- function useIsMousedown() {
12648
- const isMousedown = vue.shallowRef(false);
12649
- function mousedown() {
12650
- isMousedown.value = true;
12651
- }
12652
- function mouseup() {
12653
- isMousedown.value = false;
12654
- }
12655
- vue.onMounted(() => {
12656
- document.body.addEventListener('mousedown', mousedown);
12657
- document.body.addEventListener('mouseup', mouseup);
12658
- });
12659
- vue.onUnmounted(() => {
12660
- document.body.removeEventListener('mousedown', mousedown);
12661
- document.body.removeEventListener('mouseup', mouseup);
12662
- });
12663
- return {
12664
- isMousedown
12665
- };
12666
- }
12667
-
12668
12694
  // Types
12669
12695
 
12670
12696
  const makeSelectProps = propsFactory({
@@ -12754,9 +12780,6 @@
12754
12780
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
12755
12781
  });
12756
12782
  const form = useForm(props);
12757
- const {
12758
- isMousedown
12759
- } = useIsMousedown();
12760
12783
  const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
12761
12784
  const isFocused = vue.shallowRef(false);
12762
12785
  const label = vue.computed(() => menu.value ? props.closeText : props.openText);
@@ -12764,7 +12787,7 @@
12764
12787
  let keyboardLookupLastTime;
12765
12788
  const displayItems = vue.computed(() => {
12766
12789
  if (props.hideSelected) {
12767
- return items.value.filter(item => !model.value.some(s => props.valueComparator(s, item)));
12790
+ return items.value.filter(item => !model.value.some(s => (props.valueComparator || deepEqual)(s, item)));
12768
12791
  }
12769
12792
  return items.value;
12770
12793
  });
@@ -12836,7 +12859,7 @@
12836
12859
  let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
12837
12860
  if (item.props.disabled) return;
12838
12861
  if (props.multiple) {
12839
- const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
12862
+ const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));
12840
12863
  const add = set == null ? !~index : set;
12841
12864
  if (~index) {
12842
12865
  const value = add ? [...model.value, item] : [...model.value];
@@ -12854,7 +12877,7 @@
12854
12877
  }
12855
12878
  }
12856
12879
  function onBlur(e) {
12857
- if (!listRef.value?.$el.contains(e.relatedTarget) && !isMousedown.value) {
12880
+ if (!listRef.value?.$el.contains(e.relatedTarget)) {
12858
12881
  menu.value = false;
12859
12882
  }
12860
12883
  }
@@ -12883,7 +12906,7 @@
12883
12906
  }
12884
12907
  vue.watch(menu, () => {
12885
12908
  if (!props.hideSelected && menu.value && model.value.length) {
12886
- const index = displayItems.value.findIndex(item => model.value.some(s => props.valueComparator(s.value, item.value)));
12909
+ const index = displayItems.value.findIndex(item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value)));
12887
12910
  IN_BROWSER && window.requestAnimationFrame(() => {
12888
12911
  index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
12889
12912
  });
@@ -13266,9 +13289,6 @@
13266
13289
  textColorClasses,
13267
13290
  textColorStyles
13268
13291
  } = useTextColor(color);
13269
- const {
13270
- isMousedown
13271
- } = useIsMousedown();
13272
13292
  const search = useProxiedModel(props, 'search', '');
13273
13293
  const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {
13274
13294
  const transformed = transformOut(v);
@@ -13418,7 +13438,7 @@
13418
13438
  let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
13419
13439
  if (!item || item.props.disabled) return;
13420
13440
  if (props.multiple) {
13421
- const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
13441
+ const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));
13422
13442
  const add = set == null ? !~index : set;
13423
13443
  if (~index) {
13424
13444
  const value = add ? [...model.value, item] : [...model.value];
@@ -13442,11 +13462,6 @@
13442
13462
  });
13443
13463
  }
13444
13464
  }
13445
- function onBlur(e) {
13446
- if (!isMousedown.value) {
13447
- menu.value = false;
13448
- }
13449
- }
13450
13465
  vue.watch(isFocused, (val, oldVal) => {
13451
13466
  if (val === oldVal) return;
13452
13467
  if (val) {
@@ -13456,6 +13471,7 @@
13456
13471
  vue.nextTick(() => isSelecting.value = false);
13457
13472
  } else {
13458
13473
  if (!props.multiple && search.value == null) model.value = [];
13474
+ menu.value = false;
13459
13475
  if (!model.value.some(_ref3 => {
13460
13476
  let {
13461
13477
  title
@@ -13509,7 +13525,6 @@
13509
13525
  "readonly": form.isReadonly.value,
13510
13526
  "placeholder": isDirty ? undefined : props.placeholder,
13511
13527
  "onClick:clear": onClear,
13512
- "onBlur": onBlur,
13513
13528
  "onMousedown:control": onMousedownControl,
13514
13529
  "onKeydown": onKeydown
13515
13530
  }), {
@@ -15812,6 +15827,8 @@
15812
15827
  const trackContainerRef = vue.ref();
15813
15828
  const activeThumbRef = vue.ref();
15814
15829
  function parseMouseMove(e) {
15830
+ const el = trackContainerRef.value?.$el;
15831
+ if (!el) return;
15815
15832
  const vertical = props.direction === 'vertical';
15816
15833
  const start = vertical ? 'top' : 'left';
15817
15834
  const length = vertical ? 'height' : 'width';
@@ -15819,7 +15836,7 @@
15819
15836
  const {
15820
15837
  [start]: trackStart,
15821
15838
  [length]: trackLength
15822
- } = trackContainerRef.value?.$el.getBoundingClientRect();
15839
+ } = el.getBoundingClientRect();
15823
15840
  const clickOffset = getPosition(e, position);
15824
15841
 
15825
15842
  // It is possible for left to be NaN, force to number
@@ -15828,13 +15845,17 @@
15828
15845
  return roundValue(min.value + clickPos * (max.value - min.value));
15829
15846
  }
15830
15847
  const handleStop = e => {
15831
- onSliderEnd({
15832
- value: parseMouseMove(e)
15833
- });
15848
+ const value = parseMouseMove(e);
15849
+ if (value != null) {
15850
+ onSliderEnd({
15851
+ value
15852
+ });
15853
+ }
15834
15854
  mousePressed.value = false;
15835
15855
  startOffset.value = 0;
15836
15856
  };
15837
15857
  const handleStart = e => {
15858
+ const value = parseMouseMove(e);
15838
15859
  activeThumbRef.value = getActiveThumb(e);
15839
15860
  if (!activeThumbRef.value) return;
15840
15861
  mousePressed.value = true;
@@ -15842,13 +15863,17 @@
15842
15863
  startOffset.value = getOffset(e, activeThumbRef.value, props.direction);
15843
15864
  } else {
15844
15865
  startOffset.value = 0;
15845
- onSliderMove({
15846
- value: parseMouseMove(e)
15866
+ if (value != null) {
15867
+ onSliderMove({
15868
+ value
15869
+ });
15870
+ }
15871
+ }
15872
+ if (value != null) {
15873
+ onSliderStart({
15874
+ value
15847
15875
  });
15848
15876
  }
15849
- onSliderStart({
15850
- value: parseMouseMove(e)
15851
- });
15852
15877
  vue.nextTick(() => activeThumbRef.value?.focus());
15853
15878
  };
15854
15879
  const moveListenerOptions = {
@@ -15856,9 +15881,12 @@
15856
15881
  capture: true
15857
15882
  };
15858
15883
  function onMouseMove(e) {
15859
- onSliderMove({
15860
- value: parseMouseMove(e)
15861
- });
15884
+ const value = parseMouseMove(e);
15885
+ if (value != null) {
15886
+ onSliderMove({
15887
+ value
15888
+ });
15889
+ }
15862
15890
  }
15863
15891
  function onSliderMouseUp(e) {
15864
15892
  e.stopPropagation();
@@ -17129,9 +17157,6 @@
17129
17157
  return props.multiple ? transformed : transformed[0] ?? null;
17130
17158
  });
17131
17159
  const form = useForm(props);
17132
- const {
17133
- isMousedown
17134
- } = useIsMousedown();
17135
17160
  const hasChips = vue.computed(() => !!(props.chips || slots.chip));
17136
17161
  const hasSelectionSlot = vue.computed(() => hasChips.value || !!slots.selection);
17137
17162
  const _search = vue.shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '');
@@ -17295,18 +17320,12 @@
17295
17320
  vTextFieldRef.value?.focus();
17296
17321
  }
17297
17322
  }
17298
- function onBlur(e) {
17299
- if (!isMousedown.value) {
17300
- menu.value = false;
17301
- }
17302
- }
17303
-
17304
17323
  /** @param set - null means toggle */
17305
17324
  function select(item) {
17306
17325
  let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
17307
17326
  if (!item || item.props.disabled) return;
17308
17327
  if (props.multiple) {
17309
- const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
17328
+ const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));
17310
17329
  const add = set == null ? !~index : set;
17311
17330
  if (~index) {
17312
17331
  const value = add ? [...model.value, item] : [...model.value];
@@ -17345,6 +17364,7 @@
17345
17364
  vue.watch(isFocused, (val, oldVal) => {
17346
17365
  if (val || val === oldVal) return;
17347
17366
  selectionIndex.value = -1;
17367
+ menu.value = false;
17348
17368
  if (search.value) {
17349
17369
  if (props.multiple) {
17350
17370
  select(transformItem$3(props, search.value));
@@ -17365,7 +17385,7 @@
17365
17385
  });
17366
17386
  vue.watch(menu, () => {
17367
17387
  if (!props.hideSelected && menu.value && model.value.length) {
17368
- const index = displayItems.value.findIndex(item => model.value.some(s => props.valueComparator(s.value, item.value)));
17388
+ const index = displayItems.value.findIndex(item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value)));
17369
17389
  IN_BROWSER && window.requestAnimationFrame(() => {
17370
17390
  index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
17371
17391
  });
@@ -17402,7 +17422,6 @@
17402
17422
  "readonly": form.isReadonly.value,
17403
17423
  "placeholder": isDirty ? undefined : props.placeholder,
17404
17424
  "onClick:clear": onClear,
17405
- "onBlur": onBlur,
17406
17425
  "onMousedown:control": onMousedownControl,
17407
17426
  "onKeydown": onKeydown
17408
17427
  }), {
@@ -22000,7 +22019,7 @@
22000
22019
  type: String,
22001
22020
  default: 'picker-reverse-transition'
22002
22021
  },
22003
- ...makeCalendarProps()
22022
+ ...omit(makeCalendarProps(), ['displayValue'])
22004
22023
  }, 'VDatePickerMonth');
22005
22024
  const VDatePickerMonth = genericComponent()({
22006
22025
  name: 'VDatePickerMonth',
@@ -28381,7 +28400,7 @@
28381
28400
  goTo
28382
28401
  };
28383
28402
  }
28384
- const version$1 = "3.7.10";
28403
+ const version$1 = "3.7.12";
28385
28404
  createVuetify$1.version = version$1;
28386
28405
 
28387
28406
  // Vue's inject() can only be used in setup
@@ -28406,7 +28425,7 @@
28406
28425
  ...options
28407
28426
  });
28408
28427
  };
28409
- const version = "3.7.10";
28428
+ const version = "3.7.12";
28410
28429
  createVuetify.version = version;
28411
28430
 
28412
28431
  exports.blueprints = index;