@vuetify/nightly 3.8.7-dev.2025-05-27 → 3.8.7-dev.2025-06-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 (91) hide show
  1. package/CHANGELOG.md +12 -3
  2. package/dist/json/attributes.json +3213 -3189
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +176 -176
  5. package/dist/json/tags.json +6 -0
  6. package/dist/json/web-types.json +5962 -5902
  7. package/dist/vuetify-labs.cjs +52 -19
  8. package/dist/vuetify-labs.css +5727 -5721
  9. package/dist/vuetify-labs.d.ts +677 -402
  10. package/dist/vuetify-labs.esm.js +52 -19
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +52 -19
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +52 -19
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4233 -4227
  17. package/dist/vuetify.d.ts +621 -378
  18. package/dist/vuetify.esm.js +52 -19
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +52 -19
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +29 -24
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAppBar/VAppBar.d.ts +15 -3
  26. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
  27. package/lib/components/VAutocomplete/VAutocomplete.d.ts +21 -7
  28. package/lib/components/VAutocomplete/VAutocomplete.js +2 -1
  29. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  30. package/lib/components/VBtn/VBtn.d.ts +20 -10
  31. package/lib/components/VCard/VCard.d.ts +20 -10
  32. package/lib/components/VCheckbox/VCheckbox.d.ts +20 -10
  33. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
  34. package/lib/components/VChip/VChip.d.ts +20 -10
  35. package/lib/components/VCombobox/VCombobox.d.ts +21 -7
  36. package/lib/components/VCombobox/VCombobox.js +2 -1
  37. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  38. package/lib/components/VDataTable/VDataTable.d.ts +42 -0
  39. package/lib/components/VDataTable/VDataTableServer.d.ts +29 -0
  40. package/lib/components/VDataTable/VDataTableVirtual.d.ts +29 -0
  41. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
  42. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
  43. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
  44. package/lib/components/VFab/VFab.d.ts +20 -10
  45. package/lib/components/VList/VList.d.ts +13 -0
  46. package/lib/components/VList/VList.js +4 -1
  47. package/lib/components/VList/VList.js.map +1 -1
  48. package/lib/components/VList/VListItem.d.ts +23 -10
  49. package/lib/components/VList/VListItem.js +7 -3
  50. package/lib/components/VList/VListItem.js.map +1 -1
  51. package/lib/components/VList/list.d.ts +9 -2
  52. package/lib/components/VList/list.js +7 -0
  53. package/lib/components/VList/list.js.map +1 -1
  54. package/lib/components/VRadio/VRadio.d.ts +20 -10
  55. package/lib/components/VRadioGroup/VRadioGroup.d.ts +20 -10
  56. package/lib/components/VSelect/VSelect.d.ts +33 -11
  57. package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
  58. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
  59. package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
  60. package/lib/components/VStepper/VStepperItem.d.ts +28 -14
  61. package/lib/components/VSwitch/VSwitch.d.ts +20 -10
  62. package/lib/components/VTable/VTable.css +6 -0
  63. package/lib/components/VTable/VTable.d.ts +55 -24
  64. package/lib/components/VTable/VTable.js +9 -2
  65. package/lib/components/VTable/VTable.js.map +1 -1
  66. package/lib/components/VTable/VTable.sass +14 -0
  67. package/lib/components/VTable/_variables.scss +1 -0
  68. package/lib/components/VTabs/VTab.d.ts +56 -28
  69. package/lib/components/VToolbar/VToolbar.d.ts +15 -3
  70. package/lib/components/VToolbar/VToolbar.js +6 -3
  71. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  72. package/lib/composables/date/DateAdapter.d.ts +2 -2
  73. package/lib/composables/date/DateAdapter.js.map +1 -1
  74. package/lib/composables/date/adapters/string.d.ts +54 -0
  75. package/lib/composables/date/adapters/string.js +153 -0
  76. package/lib/composables/date/adapters/string.js.map +1 -0
  77. package/lib/composables/date/date.d.ts +2 -2
  78. package/lib/directives/ripple/index.d.ts +2 -1
  79. package/lib/directives/ripple/index.js +12 -7
  80. package/lib/directives/ripple/index.js.map +1 -1
  81. package/lib/entry-bundler.d.ts +2 -2
  82. package/lib/entry-bundler.js +1 -1
  83. package/lib/framework.d.ts +75 -65
  84. package/lib/framework.js +1 -1
  85. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
  86. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
  87. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
  88. package/lib/labs/VTreeview/VTreeview.d.ts +13 -0
  89. package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
  90. package/lib/labs/entry-bundler.d.ts +2 -2
  91. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.7-dev.2025-05-27
2
+ * Vuetify v3.8.7-dev.2025-06-03
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -4286,7 +4286,10 @@ const makeVToolbarProps = propsFactory({
4286
4286
  default: 'default',
4287
4287
  validator: v => allowedDensities$1.includes(v)
4288
4288
  },
4289
- extended: Boolean,
4289
+ extended: {
4290
+ type: Boolean,
4291
+ default: null
4292
+ },
4290
4293
  extensionHeight: {
4291
4294
  type: [Number, String],
4292
4295
  default: 48
@@ -4334,7 +4337,7 @@ const VToolbar = genericComponent()({
4334
4337
  const {
4335
4338
  rtlClasses
4336
4339
  } = useRtl();
4337
- const isExtended = shallowRef(!!(props.extended || slots.extension?.()));
4340
+ const isExtended = shallowRef(props.extended === null ? !!slots.extension?.() : props.extended);
4338
4341
  const contentHeight = computed(() => parseInt(Number(props.height) + (props.density === 'prominent' ? Number(props.height) : 0) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0), 10));
4339
4342
  const extensionHeight = computed(() => isExtended.value ? parseInt(Number(props.extensionHeight) + (props.density === 'prominent' ? Number(props.extensionHeight) : 0) - (props.density === 'comfortable' ? 4 : 0) - (props.density === 'compact' ? 8 : 0), 10) : 0);
4340
4343
  provideDefaults({
@@ -4346,7 +4349,7 @@ const VToolbar = genericComponent()({
4346
4349
  const hasTitle = !!(props.title || slots.title);
4347
4350
  const hasImage = !!(slots.image || props.image);
4348
4351
  const extension = slots.extension?.();
4349
- isExtended.value = !!(props.extended || extension);
4352
+ isExtended.value = props.extended === null ? !!extension : props.extended;
4350
4353
  return createVNode(props.tag, {
4351
4354
  "class": normalizeClass(['v-toolbar', {
4352
4355
  'v-toolbar--absolute': props.absolute,
@@ -5904,8 +5907,8 @@ function rippleCancelShow(e) {
5904
5907
  window.clearTimeout(element._ripple.showTimer);
5905
5908
  }
5906
5909
  let keyboardRipple = false;
5907
- function keyboardRippleShow(e) {
5908
- if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {
5910
+ function keyboardRippleShow(e, keys) {
5911
+ if (!keyboardRipple && keys.includes(e.keyCode)) {
5909
5912
  keyboardRipple = true;
5910
5913
  rippleShow(e);
5911
5914
  }
@@ -5933,9 +5936,12 @@ function updateRipple(el, binding, wasEnabled) {
5933
5936
  el._ripple.enabled = enabled;
5934
5937
  el._ripple.centered = modifiers.center;
5935
5938
  el._ripple.circle = modifiers.circle;
5936
- if (isObject(value) && value.class) {
5937
- el._ripple.class = value.class;
5939
+ const bindingValue = isObject(value) ? value : {};
5940
+ if (bindingValue.class) {
5941
+ el._ripple.class = bindingValue.class;
5938
5942
  }
5943
+ const allowedKeys = bindingValue.keys ?? [keyCodes.enter, keyCodes.space];
5944
+ el._ripple.keyDownHandler = e => keyboardRippleShow(e, allowedKeys);
5939
5945
  if (enabled && !wasEnabled) {
5940
5946
  if (modifiers.stop) {
5941
5947
  el.addEventListener('touchstart', rippleStop, {
@@ -5957,7 +5963,7 @@ function updateRipple(el, binding, wasEnabled) {
5957
5963
  el.addEventListener('mousedown', rippleShow);
5958
5964
  el.addEventListener('mouseup', rippleHide);
5959
5965
  el.addEventListener('mouseleave', rippleHide);
5960
- el.addEventListener('keydown', keyboardRippleShow);
5966
+ el.addEventListener('keydown', e => keyboardRippleShow(e, allowedKeys));
5961
5967
  el.addEventListener('keyup', keyboardRippleHide);
5962
5968
  el.addEventListener('blur', focusRippleHide);
5963
5969
 
@@ -5977,7 +5983,9 @@ function removeListeners(el) {
5977
5983
  el.removeEventListener('touchcancel', rippleHide);
5978
5984
  el.removeEventListener('mouseup', rippleHide);
5979
5985
  el.removeEventListener('mouseleave', rippleHide);
5980
- el.removeEventListener('keydown', keyboardRippleShow);
5986
+ if (el._ripple?.keyDownHandler) {
5987
+ el.removeEventListener('keydown', el._ripple.keyDownHandler);
5988
+ }
5981
5989
  el.removeEventListener('keyup', keyboardRippleHide);
5982
5990
  el.removeEventListener('dragstart', rippleHide);
5983
5991
  el.removeEventListener('blur', focusRippleHide);
@@ -5986,8 +5994,8 @@ function mounted$4(el, binding) {
5986
5994
  updateRipple(el, binding, false);
5987
5995
  }
5988
5996
  function unmounted$4(el) {
5989
- delete el._ripple;
5990
5997
  removeListeners(el);
5998
+ delete el._ripple;
5991
5999
  }
5992
6000
  function updated$1(el, binding) {
5993
6001
  if (binding.value === binding.oldValue) {
@@ -8698,11 +8706,18 @@ const VDivider = genericComponent()({
8698
8706
  // List
8699
8707
  const ListKey = Symbol.for('vuetify:list');
8700
8708
  function createList() {
8709
+ let {
8710
+ filterable
8711
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
8712
+ filterable: false
8713
+ };
8701
8714
  const parent = inject$1(ListKey, {
8715
+ filterable: false,
8702
8716
  hasPrepend: shallowRef(false),
8703
8717
  updateHasPrepend: () => null
8704
8718
  });
8705
8719
  const data = {
8720
+ filterable: parent.filterable || filterable,
8706
8721
  hasPrepend: shallowRef(false),
8707
8722
  updateHasPrepend: value => {
8708
8723
  if (value) data.hasPrepend.value = value;
@@ -9654,6 +9669,9 @@ const VListItem = genericComponent()({
9654
9669
  roundedClasses
9655
9670
  } = useRounded(roundedProps);
9656
9671
  const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined);
9672
+ const rippleOptions = toRef(() => props.ripple !== undefined && !!props.ripple && list?.filterable ? {
9673
+ keys: [keyCodes.enter]
9674
+ } : props.ripple);
9657
9675
  const slotProps = computed(() => ({
9658
9676
  isActive: isActive.value,
9659
9677
  select,
@@ -9678,8 +9696,9 @@ const VListItem = genericComponent()({
9678
9696
  function onKeyDown(e) {
9679
9697
  const target = e.target;
9680
9698
  if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
9681
- if (e.key === 'Enter' || e.key === ' ') {
9699
+ if (e.key === 'Enter' || e.key === ' ' && !list?.filterable) {
9682
9700
  e.preventDefault();
9701
+ e.stopPropagation();
9683
9702
  e.target.dispatchEvent(new MouseEvent('click', e));
9684
9703
  }
9685
9704
  }
@@ -9789,7 +9808,7 @@ const VListItem = genericComponent()({
9789
9808
  }), createElementVNode("div", {
9790
9809
  "class": "v-list-item__spacer"
9791
9810
  }, null)])]
9792
- }), [[Ripple, isClickable.value && props.ripple]]);
9811
+ }), [[Ripple, isClickable.value && rippleOptions.value]]);
9793
9812
  });
9794
9813
  return {
9795
9814
  activate,
@@ -10112,6 +10131,7 @@ const makeVListProps = propsFactory({
10112
10131
  activeClass: String,
10113
10132
  bgColor: String,
10114
10133
  disabled: Boolean,
10134
+ filterable: Boolean,
10115
10135
  expandIcon: IconValue,
10116
10136
  collapseIcon: IconValue,
10117
10137
  lines: {
@@ -10195,7 +10215,9 @@ const VList = genericComponent()({
10195
10215
  const activeColor = toRef(() => props.activeColor);
10196
10216
  const baseColor = toRef(() => props.baseColor);
10197
10217
  const color = toRef(() => props.color);
10198
- createList();
10218
+ createList({
10219
+ filterable: props.filterable
10220
+ });
10199
10221
  provideDefaults({
10200
10222
  VListGroup: {
10201
10223
  activeColor,
@@ -13818,7 +13840,7 @@ const VAutocomplete = genericComponent()({
13818
13840
  menu.value = !menu.value;
13819
13841
  }
13820
13842
  function onListKeydown(e) {
13821
- if (e.key !== ' ' && checkPrintable(e)) {
13843
+ if (checkPrintable(e) || e.key === 'Backspace') {
13822
13844
  vTextFieldRef.value?.focus();
13823
13845
  }
13824
13846
  }
@@ -14023,6 +14045,7 @@ const VAutocomplete = genericComponent()({
14023
14045
  }, props.menuProps), {
14024
14046
  default: () => [hasList && createVNode(VList, mergeProps({
14025
14047
  "ref": listRef,
14048
+ "filterable": true,
14026
14049
  "selected": selectedValues.value,
14027
14050
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
14028
14051
  "onMousedown": e => e.preventDefault(),
@@ -18561,7 +18584,7 @@ const VCombobox = genericComponent()({
18561
18584
  menu.value = !menu.value;
18562
18585
  }
18563
18586
  function onListKeydown(e) {
18564
- if (e.key !== ' ' && checkPrintable(e)) {
18587
+ if (checkPrintable(e) || e.key === 'Backspace') {
18565
18588
  vTextFieldRef.value?.focus();
18566
18589
  }
18567
18590
  }
@@ -18766,6 +18789,7 @@ const VCombobox = genericComponent()({
18766
18789
  }, props.menuProps), {
18767
18790
  default: () => [hasList && createVNode(VList, mergeProps({
18768
18791
  "ref": listRef,
18792
+ "filterable": true,
18769
18793
  "selected": selectedValues.value,
18770
18794
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
18771
18795
  "onMousedown": e => e.preventDefault(),
@@ -21252,11 +21276,18 @@ const VDataTableRows = genericComponent()({
21252
21276
  }
21253
21277
  });
21254
21278
 
21279
+ // Types
21280
+
21255
21281
  const makeVTableProps = propsFactory({
21256
21282
  fixedHeader: Boolean,
21257
21283
  fixedFooter: Boolean,
21258
21284
  height: [Number, String],
21259
21285
  hover: Boolean,
21286
+ striped: {
21287
+ type: String,
21288
+ default: null,
21289
+ validator: v => ['even', 'odd'].includes(v)
21290
+ },
21260
21291
  ...makeComponentProps(),
21261
21292
  ...makeDensityProps(),
21262
21293
  ...makeTagProps(),
@@ -21283,7 +21314,9 @@ const VTable = genericComponent()({
21283
21314
  'v-table--fixed-footer': props.fixedFooter,
21284
21315
  'v-table--has-top': !!slots.top,
21285
21316
  'v-table--has-bottom': !!slots.bottom,
21286
- 'v-table--hover': props.hover
21317
+ 'v-table--hover': props.hover,
21318
+ 'v-table--striped-even': props.striped === 'even',
21319
+ 'v-table--striped-odd': props.striped === 'odd'
21287
21320
  }, themeClasses.value, densityClasses.value, props.class]),
21288
21321
  "style": normalizeStyle(props.style)
21289
21322
  }, {
@@ -29498,7 +29531,7 @@ function createVuetify$1() {
29498
29531
  };
29499
29532
  });
29500
29533
  }
29501
- const version$1 = "3.8.7-dev.2025-05-27";
29534
+ const version$1 = "3.8.7-dev.2025-06-03";
29502
29535
  createVuetify$1.version = version$1;
29503
29536
 
29504
29537
  // Vue's inject() can only be used in setup
@@ -29523,7 +29556,7 @@ const createVuetify = function () {
29523
29556
  ...options
29524
29557
  });
29525
29558
  };
29526
- const version = "3.8.7-dev.2025-05-27";
29559
+ const version = "3.8.7-dev.2025-06-03";
29527
29560
  createVuetify.version = version;
29528
29561
 
29529
29562
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };