@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.
- package/CHANGELOG.md +12 -3
- package/dist/json/attributes.json +3213 -3189
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +176 -176
- package/dist/json/tags.json +6 -0
- package/dist/json/web-types.json +5962 -5902
- package/dist/vuetify-labs.cjs +52 -19
- package/dist/vuetify-labs.css +5727 -5721
- package/dist/vuetify-labs.d.ts +677 -402
- package/dist/vuetify-labs.esm.js +52 -19
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +52 -19
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +52 -19
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4233 -4227
- package/dist/vuetify.d.ts +621 -378
- package/dist/vuetify.esm.js +52 -19
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +52 -19
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +29 -24
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.d.ts +15 -3
- package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +21 -7
- package/lib/components/VAutocomplete/VAutocomplete.js +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBtn/VBtn.d.ts +20 -10
- package/lib/components/VCard/VCard.d.ts +20 -10
- package/lib/components/VCheckbox/VCheckbox.d.ts +20 -10
- package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
- package/lib/components/VChip/VChip.d.ts +20 -10
- package/lib/components/VCombobox/VCombobox.d.ts +21 -7
- package/lib/components/VCombobox/VCombobox.js +2 -1
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.d.ts +42 -0
- package/lib/components/VDataTable/VDataTableServer.d.ts +29 -0
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +29 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
- package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
- package/lib/components/VFab/VFab.d.ts +20 -10
- package/lib/components/VList/VList.d.ts +13 -0
- package/lib/components/VList/VList.js +4 -1
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListItem.d.ts +23 -10
- package/lib/components/VList/VListItem.js +7 -3
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/list.d.ts +9 -2
- package/lib/components/VList/list.js +7 -0
- package/lib/components/VList/list.js.map +1 -1
- package/lib/components/VRadio/VRadio.d.ts +20 -10
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +20 -10
- package/lib/components/VSelect/VSelect.d.ts +33 -11
- package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
- package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
- package/lib/components/VStepper/VStepperItem.d.ts +28 -14
- package/lib/components/VSwitch/VSwitch.d.ts +20 -10
- package/lib/components/VTable/VTable.css +6 -0
- package/lib/components/VTable/VTable.d.ts +55 -24
- package/lib/components/VTable/VTable.js +9 -2
- package/lib/components/VTable/VTable.js.map +1 -1
- package/lib/components/VTable/VTable.sass +14 -0
- package/lib/components/VTable/_variables.scss +1 -0
- package/lib/components/VTabs/VTab.d.ts +56 -28
- package/lib/components/VToolbar/VToolbar.d.ts +15 -3
- package/lib/components/VToolbar/VToolbar.js +6 -3
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +2 -2
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/string.d.ts +54 -0
- package/lib/composables/date/adapters/string.js +153 -0
- package/lib/composables/date/adapters/string.js.map +1 -0
- package/lib/composables/date/date.d.ts +2 -2
- package/lib/directives/ripple/index.d.ts +2 -1
- package/lib/directives/ripple/index.js +12 -7
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/entry-bundler.d.ts +2 -2
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +75 -65
- package/lib/framework.js +1 -1
- package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
- package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
- package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
- package/lib/labs/VTreeview/VTreeview.d.ts +13 -0
- package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
- package/lib/labs/entry-bundler.d.ts +2 -2
- package/package.json +1 -1
package/dist/vuetify.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.7-dev.2025-
|
2
|
+
* Vuetify v3.8.7-dev.2025-06-03
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -4290,7 +4290,10 @@
|
|
4290
4290
|
default: 'default',
|
4291
4291
|
validator: v => allowedDensities$1.includes(v)
|
4292
4292
|
},
|
4293
|
-
extended:
|
4293
|
+
extended: {
|
4294
|
+
type: Boolean,
|
4295
|
+
default: null
|
4296
|
+
},
|
4294
4297
|
extensionHeight: {
|
4295
4298
|
type: [Number, String],
|
4296
4299
|
default: 48
|
@@ -4338,7 +4341,7 @@
|
|
4338
4341
|
const {
|
4339
4342
|
rtlClasses
|
4340
4343
|
} = useRtl();
|
4341
|
-
const isExtended = vue.shallowRef(
|
4344
|
+
const isExtended = vue.shallowRef(props.extended === null ? !!slots.extension?.() : props.extended);
|
4342
4345
|
const contentHeight = vue.computed(() => parseInt(Number(props.height) + (props.density === 'prominent' ? Number(props.height) : 0) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0), 10));
|
4343
4346
|
const extensionHeight = vue.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);
|
4344
4347
|
provideDefaults({
|
@@ -4350,7 +4353,7 @@
|
|
4350
4353
|
const hasTitle = !!(props.title || slots.title);
|
4351
4354
|
const hasImage = !!(slots.image || props.image);
|
4352
4355
|
const extension = slots.extension?.();
|
4353
|
-
isExtended.value =
|
4356
|
+
isExtended.value = props.extended === null ? !!extension : props.extended;
|
4354
4357
|
return vue.createVNode(props.tag, {
|
4355
4358
|
"class": vue.normalizeClass(['v-toolbar', {
|
4356
4359
|
'v-toolbar--absolute': props.absolute,
|
@@ -5908,8 +5911,8 @@
|
|
5908
5911
|
window.clearTimeout(element._ripple.showTimer);
|
5909
5912
|
}
|
5910
5913
|
let keyboardRipple = false;
|
5911
|
-
function keyboardRippleShow(e) {
|
5912
|
-
if (!keyboardRipple && (e.keyCode
|
5914
|
+
function keyboardRippleShow(e, keys) {
|
5915
|
+
if (!keyboardRipple && keys.includes(e.keyCode)) {
|
5913
5916
|
keyboardRipple = true;
|
5914
5917
|
rippleShow(e);
|
5915
5918
|
}
|
@@ -5937,9 +5940,12 @@
|
|
5937
5940
|
el._ripple.enabled = enabled;
|
5938
5941
|
el._ripple.centered = modifiers.center;
|
5939
5942
|
el._ripple.circle = modifiers.circle;
|
5940
|
-
|
5941
|
-
|
5943
|
+
const bindingValue = isObject(value) ? value : {};
|
5944
|
+
if (bindingValue.class) {
|
5945
|
+
el._ripple.class = bindingValue.class;
|
5942
5946
|
}
|
5947
|
+
const allowedKeys = bindingValue.keys ?? [keyCodes.enter, keyCodes.space];
|
5948
|
+
el._ripple.keyDownHandler = e => keyboardRippleShow(e, allowedKeys);
|
5943
5949
|
if (enabled && !wasEnabled) {
|
5944
5950
|
if (modifiers.stop) {
|
5945
5951
|
el.addEventListener('touchstart', rippleStop, {
|
@@ -5961,7 +5967,7 @@
|
|
5961
5967
|
el.addEventListener('mousedown', rippleShow);
|
5962
5968
|
el.addEventListener('mouseup', rippleHide);
|
5963
5969
|
el.addEventListener('mouseleave', rippleHide);
|
5964
|
-
el.addEventListener('keydown', keyboardRippleShow);
|
5970
|
+
el.addEventListener('keydown', e => keyboardRippleShow(e, allowedKeys));
|
5965
5971
|
el.addEventListener('keyup', keyboardRippleHide);
|
5966
5972
|
el.addEventListener('blur', focusRippleHide);
|
5967
5973
|
|
@@ -5981,7 +5987,9 @@
|
|
5981
5987
|
el.removeEventListener('touchcancel', rippleHide);
|
5982
5988
|
el.removeEventListener('mouseup', rippleHide);
|
5983
5989
|
el.removeEventListener('mouseleave', rippleHide);
|
5984
|
-
el.
|
5990
|
+
if (el._ripple?.keyDownHandler) {
|
5991
|
+
el.removeEventListener('keydown', el._ripple.keyDownHandler);
|
5992
|
+
}
|
5985
5993
|
el.removeEventListener('keyup', keyboardRippleHide);
|
5986
5994
|
el.removeEventListener('dragstart', rippleHide);
|
5987
5995
|
el.removeEventListener('blur', focusRippleHide);
|
@@ -5990,8 +5998,8 @@
|
|
5990
5998
|
updateRipple(el, binding, false);
|
5991
5999
|
}
|
5992
6000
|
function unmounted$4(el) {
|
5993
|
-
delete el._ripple;
|
5994
6001
|
removeListeners(el);
|
6002
|
+
delete el._ripple;
|
5995
6003
|
}
|
5996
6004
|
function updated$1(el, binding) {
|
5997
6005
|
if (binding.value === binding.oldValue) {
|
@@ -8702,11 +8710,18 @@
|
|
8702
8710
|
// List
|
8703
8711
|
const ListKey = Symbol.for('vuetify:list');
|
8704
8712
|
function createList() {
|
8713
|
+
let {
|
8714
|
+
filterable
|
8715
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
8716
|
+
filterable: false
|
8717
|
+
};
|
8705
8718
|
const parent = vue.inject(ListKey, {
|
8719
|
+
filterable: false,
|
8706
8720
|
hasPrepend: vue.shallowRef(false),
|
8707
8721
|
updateHasPrepend: () => null
|
8708
8722
|
});
|
8709
8723
|
const data = {
|
8724
|
+
filterable: parent.filterable || filterable,
|
8710
8725
|
hasPrepend: vue.shallowRef(false),
|
8711
8726
|
updateHasPrepend: value => {
|
8712
8727
|
if (value) data.hasPrepend.value = value;
|
@@ -9658,6 +9673,9 @@
|
|
9658
9673
|
roundedClasses
|
9659
9674
|
} = useRounded(roundedProps);
|
9660
9675
|
const lineClasses = vue.toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined);
|
9676
|
+
const rippleOptions = vue.toRef(() => props.ripple !== undefined && !!props.ripple && list?.filterable ? {
|
9677
|
+
keys: [keyCodes.enter]
|
9678
|
+
} : props.ripple);
|
9661
9679
|
const slotProps = vue.computed(() => ({
|
9662
9680
|
isActive: isActive.value,
|
9663
9681
|
select,
|
@@ -9682,8 +9700,9 @@
|
|
9682
9700
|
function onKeyDown(e) {
|
9683
9701
|
const target = e.target;
|
9684
9702
|
if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
|
9685
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
9703
|
+
if (e.key === 'Enter' || e.key === ' ' && !list?.filterable) {
|
9686
9704
|
e.preventDefault();
|
9705
|
+
e.stopPropagation();
|
9687
9706
|
e.target.dispatchEvent(new MouseEvent('click', e));
|
9688
9707
|
}
|
9689
9708
|
}
|
@@ -9793,7 +9812,7 @@
|
|
9793
9812
|
}), vue.createElementVNode("div", {
|
9794
9813
|
"class": "v-list-item__spacer"
|
9795
9814
|
}, null)])]
|
9796
|
-
}), [[Ripple, isClickable.value &&
|
9815
|
+
}), [[Ripple, isClickable.value && rippleOptions.value]]);
|
9797
9816
|
});
|
9798
9817
|
return {
|
9799
9818
|
activate,
|
@@ -10116,6 +10135,7 @@
|
|
10116
10135
|
activeClass: String,
|
10117
10136
|
bgColor: String,
|
10118
10137
|
disabled: Boolean,
|
10138
|
+
filterable: Boolean,
|
10119
10139
|
expandIcon: IconValue,
|
10120
10140
|
collapseIcon: IconValue,
|
10121
10141
|
lines: {
|
@@ -10199,7 +10219,9 @@
|
|
10199
10219
|
const activeColor = vue.toRef(() => props.activeColor);
|
10200
10220
|
const baseColor = vue.toRef(() => props.baseColor);
|
10201
10221
|
const color = vue.toRef(() => props.color);
|
10202
|
-
createList(
|
10222
|
+
createList({
|
10223
|
+
filterable: props.filterable
|
10224
|
+
});
|
10203
10225
|
provideDefaults({
|
10204
10226
|
VListGroup: {
|
10205
10227
|
activeColor,
|
@@ -13822,7 +13844,7 @@
|
|
13822
13844
|
menu.value = !menu.value;
|
13823
13845
|
}
|
13824
13846
|
function onListKeydown(e) {
|
13825
|
-
if (e.key
|
13847
|
+
if (checkPrintable(e) || e.key === 'Backspace') {
|
13826
13848
|
vTextFieldRef.value?.focus();
|
13827
13849
|
}
|
13828
13850
|
}
|
@@ -14027,6 +14049,7 @@
|
|
14027
14049
|
}, props.menuProps), {
|
14028
14050
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
14029
14051
|
"ref": listRef,
|
14052
|
+
"filterable": true,
|
14030
14053
|
"selected": selectedValues.value,
|
14031
14054
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
14032
14055
|
"onMousedown": e => e.preventDefault(),
|
@@ -18565,7 +18588,7 @@
|
|
18565
18588
|
menu.value = !menu.value;
|
18566
18589
|
}
|
18567
18590
|
function onListKeydown(e) {
|
18568
|
-
if (e.key
|
18591
|
+
if (checkPrintable(e) || e.key === 'Backspace') {
|
18569
18592
|
vTextFieldRef.value?.focus();
|
18570
18593
|
}
|
18571
18594
|
}
|
@@ -18770,6 +18793,7 @@
|
|
18770
18793
|
}, props.menuProps), {
|
18771
18794
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
18772
18795
|
"ref": listRef,
|
18796
|
+
"filterable": true,
|
18773
18797
|
"selected": selectedValues.value,
|
18774
18798
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
18775
18799
|
"onMousedown": e => e.preventDefault(),
|
@@ -21256,11 +21280,18 @@
|
|
21256
21280
|
}
|
21257
21281
|
});
|
21258
21282
|
|
21283
|
+
// Types
|
21284
|
+
|
21259
21285
|
const makeVTableProps = propsFactory({
|
21260
21286
|
fixedHeader: Boolean,
|
21261
21287
|
fixedFooter: Boolean,
|
21262
21288
|
height: [Number, String],
|
21263
21289
|
hover: Boolean,
|
21290
|
+
striped: {
|
21291
|
+
type: String,
|
21292
|
+
default: null,
|
21293
|
+
validator: v => ['even', 'odd'].includes(v)
|
21294
|
+
},
|
21264
21295
|
...makeComponentProps(),
|
21265
21296
|
...makeDensityProps(),
|
21266
21297
|
...makeTagProps(),
|
@@ -21287,7 +21318,9 @@
|
|
21287
21318
|
'v-table--fixed-footer': props.fixedFooter,
|
21288
21319
|
'v-table--has-top': !!slots.top,
|
21289
21320
|
'v-table--has-bottom': !!slots.bottom,
|
21290
|
-
'v-table--hover': props.hover
|
21321
|
+
'v-table--hover': props.hover,
|
21322
|
+
'v-table--striped-even': props.striped === 'even',
|
21323
|
+
'v-table--striped-odd': props.striped === 'odd'
|
21291
21324
|
}, themeClasses.value, densityClasses.value, props.class]),
|
21292
21325
|
"style": vue.normalizeStyle(props.style)
|
21293
21326
|
}, {
|
@@ -29502,7 +29535,7 @@
|
|
29502
29535
|
};
|
29503
29536
|
});
|
29504
29537
|
}
|
29505
|
-
const version$1 = "3.8.7-dev.2025-
|
29538
|
+
const version$1 = "3.8.7-dev.2025-06-03";
|
29506
29539
|
createVuetify$1.version = version$1;
|
29507
29540
|
|
29508
29541
|
// Vue's inject() can only be used in setup
|
@@ -29527,7 +29560,7 @@
|
|
29527
29560
|
...options
|
29528
29561
|
});
|
29529
29562
|
};
|
29530
|
-
const version = "3.8.7-dev.2025-
|
29563
|
+
const version = "3.8.7-dev.2025-06-03";
|
29531
29564
|
createVuetify.version = version;
|
29532
29565
|
|
29533
29566
|
exports.blueprints = index;
|