@vuetify/nightly 3.8.7-dev.2025-05-27 → 3.8.7-dev.2025-05-30
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 +8 -3
- package/dist/json/attributes.json +1893 -1885
- package/dist/json/importMap-labs.json +34 -34
- package/dist/json/importMap.json +140 -140
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +3286 -3266
- package/dist/vuetify-labs.cjs +36 -15
- package/dist/vuetify-labs.css +5222 -5222
- package/dist/vuetify-labs.d.ts +401 -213
- package/dist/vuetify-labs.esm.js +36 -15
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +36 -15
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +36 -15
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +5419 -5419
- package/dist/vuetify.d.ts +345 -189
- package/dist/vuetify.esm.js +36 -15
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +36 -15
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +24 -19
- package/dist/vuetify.min.js.map +1 -1
- 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/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/VTabs/VTab.d.ts +56 -28
- 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.js +1 -1
- package/lib/framework.d.ts +53 -53
- 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/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.7-dev.2025-05-
|
2
|
+
* Vuetify v3.8.7-dev.2025-05-30
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -5630,8 +5630,8 @@
|
|
5630
5630
|
window.clearTimeout(element._ripple.showTimer);
|
5631
5631
|
}
|
5632
5632
|
let keyboardRipple = false;
|
5633
|
-
function keyboardRippleShow(e) {
|
5634
|
-
if (!keyboardRipple && (e.keyCode
|
5633
|
+
function keyboardRippleShow(e, keys) {
|
5634
|
+
if (!keyboardRipple && keys.includes(e.keyCode)) {
|
5635
5635
|
keyboardRipple = true;
|
5636
5636
|
rippleShow(e);
|
5637
5637
|
}
|
@@ -5659,9 +5659,12 @@
|
|
5659
5659
|
el._ripple.enabled = enabled;
|
5660
5660
|
el._ripple.centered = modifiers.center;
|
5661
5661
|
el._ripple.circle = modifiers.circle;
|
5662
|
-
|
5663
|
-
|
5662
|
+
const bindingValue = isObject(value) ? value : {};
|
5663
|
+
if (bindingValue.class) {
|
5664
|
+
el._ripple.class = bindingValue.class;
|
5664
5665
|
}
|
5666
|
+
const allowedKeys = bindingValue.keys ?? [keyCodes.enter, keyCodes.space];
|
5667
|
+
el._ripple.keyDownHandler = e => keyboardRippleShow(e, allowedKeys);
|
5665
5668
|
if (enabled && !wasEnabled) {
|
5666
5669
|
if (modifiers.stop) {
|
5667
5670
|
el.addEventListener('touchstart', rippleStop, {
|
@@ -5683,7 +5686,7 @@
|
|
5683
5686
|
el.addEventListener('mousedown', rippleShow);
|
5684
5687
|
el.addEventListener('mouseup', rippleHide);
|
5685
5688
|
el.addEventListener('mouseleave', rippleHide);
|
5686
|
-
el.addEventListener('keydown', keyboardRippleShow);
|
5689
|
+
el.addEventListener('keydown', e => keyboardRippleShow(e, allowedKeys));
|
5687
5690
|
el.addEventListener('keyup', keyboardRippleHide);
|
5688
5691
|
el.addEventListener('blur', focusRippleHide);
|
5689
5692
|
|
@@ -5703,7 +5706,9 @@
|
|
5703
5706
|
el.removeEventListener('touchcancel', rippleHide);
|
5704
5707
|
el.removeEventListener('mouseup', rippleHide);
|
5705
5708
|
el.removeEventListener('mouseleave', rippleHide);
|
5706
|
-
el.
|
5709
|
+
if (el._ripple?.keyDownHandler) {
|
5710
|
+
el.removeEventListener('keydown', el._ripple.keyDownHandler);
|
5711
|
+
}
|
5707
5712
|
el.removeEventListener('keyup', keyboardRippleHide);
|
5708
5713
|
el.removeEventListener('dragstart', rippleHide);
|
5709
5714
|
el.removeEventListener('blur', focusRippleHide);
|
@@ -5712,8 +5717,8 @@
|
|
5712
5717
|
updateRipple(el, binding, false);
|
5713
5718
|
}
|
5714
5719
|
function unmounted$4(el) {
|
5715
|
-
delete el._ripple;
|
5716
5720
|
removeListeners(el);
|
5721
|
+
delete el._ripple;
|
5717
5722
|
}
|
5718
5723
|
function updated$1(el, binding) {
|
5719
5724
|
if (binding.value === binding.oldValue) {
|
@@ -8424,11 +8429,18 @@
|
|
8424
8429
|
// List
|
8425
8430
|
const ListKey = Symbol.for('vuetify:list');
|
8426
8431
|
function createList() {
|
8432
|
+
let {
|
8433
|
+
filterable
|
8434
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
8435
|
+
filterable: false
|
8436
|
+
};
|
8427
8437
|
const parent = vue.inject(ListKey, {
|
8438
|
+
filterable: false,
|
8428
8439
|
hasPrepend: vue.shallowRef(false),
|
8429
8440
|
updateHasPrepend: () => null
|
8430
8441
|
});
|
8431
8442
|
const data = {
|
8443
|
+
filterable: parent.filterable || filterable,
|
8432
8444
|
hasPrepend: vue.shallowRef(false),
|
8433
8445
|
updateHasPrepend: value => {
|
8434
8446
|
if (value) data.hasPrepend.value = value;
|
@@ -9380,6 +9392,9 @@
|
|
9380
9392
|
roundedClasses
|
9381
9393
|
} = useRounded(roundedProps);
|
9382
9394
|
const lineClasses = vue.toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined);
|
9395
|
+
const rippleOptions = vue.toRef(() => props.ripple !== undefined && !!props.ripple && list?.filterable ? {
|
9396
|
+
keys: [keyCodes.enter]
|
9397
|
+
} : props.ripple);
|
9383
9398
|
const slotProps = vue.computed(() => ({
|
9384
9399
|
isActive: isActive.value,
|
9385
9400
|
select,
|
@@ -9404,8 +9419,9 @@
|
|
9404
9419
|
function onKeyDown(e) {
|
9405
9420
|
const target = e.target;
|
9406
9421
|
if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
|
9407
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
9422
|
+
if (e.key === 'Enter' || e.key === ' ' && !list?.filterable) {
|
9408
9423
|
e.preventDefault();
|
9424
|
+
e.stopPropagation();
|
9409
9425
|
e.target.dispatchEvent(new MouseEvent('click', e));
|
9410
9426
|
}
|
9411
9427
|
}
|
@@ -9515,7 +9531,7 @@
|
|
9515
9531
|
}), vue.createElementVNode("div", {
|
9516
9532
|
"class": "v-list-item__spacer"
|
9517
9533
|
}, null)])]
|
9518
|
-
}), [[Ripple, isClickable.value &&
|
9534
|
+
}), [[Ripple, isClickable.value && rippleOptions.value]]);
|
9519
9535
|
});
|
9520
9536
|
return {
|
9521
9537
|
activate,
|
@@ -9838,6 +9854,7 @@
|
|
9838
9854
|
activeClass: String,
|
9839
9855
|
bgColor: String,
|
9840
9856
|
disabled: Boolean,
|
9857
|
+
filterable: Boolean,
|
9841
9858
|
expandIcon: IconValue,
|
9842
9859
|
collapseIcon: IconValue,
|
9843
9860
|
lines: {
|
@@ -9921,7 +9938,9 @@
|
|
9921
9938
|
const activeColor = vue.toRef(() => props.activeColor);
|
9922
9939
|
const baseColor = vue.toRef(() => props.baseColor);
|
9923
9940
|
const color = vue.toRef(() => props.color);
|
9924
|
-
createList(
|
9941
|
+
createList({
|
9942
|
+
filterable: props.filterable
|
9943
|
+
});
|
9925
9944
|
provideDefaults({
|
9926
9945
|
VListGroup: {
|
9927
9946
|
activeColor,
|
@@ -13544,7 +13563,7 @@
|
|
13544
13563
|
menu.value = !menu.value;
|
13545
13564
|
}
|
13546
13565
|
function onListKeydown(e) {
|
13547
|
-
if (e.key
|
13566
|
+
if (checkPrintable(e) || e.key === 'Backspace') {
|
13548
13567
|
vTextFieldRef.value?.focus();
|
13549
13568
|
}
|
13550
13569
|
}
|
@@ -13749,6 +13768,7 @@
|
|
13749
13768
|
}, props.menuProps), {
|
13750
13769
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
13751
13770
|
"ref": listRef,
|
13771
|
+
"filterable": true,
|
13752
13772
|
"selected": selectedValues.value,
|
13753
13773
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
13754
13774
|
"onMousedown": e => e.preventDefault(),
|
@@ -18287,7 +18307,7 @@
|
|
18287
18307
|
menu.value = !menu.value;
|
18288
18308
|
}
|
18289
18309
|
function onListKeydown(e) {
|
18290
|
-
if (e.key
|
18310
|
+
if (checkPrintable(e) || e.key === 'Backspace') {
|
18291
18311
|
vTextFieldRef.value?.focus();
|
18292
18312
|
}
|
18293
18313
|
}
|
@@ -18492,6 +18512,7 @@
|
|
18492
18512
|
}, props.menuProps), {
|
18493
18513
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
18494
18514
|
"ref": listRef,
|
18515
|
+
"filterable": true,
|
18495
18516
|
"selected": selectedValues.value,
|
18496
18517
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
18497
18518
|
"onMousedown": e => e.preventDefault(),
|
@@ -32192,7 +32213,7 @@
|
|
32192
32213
|
};
|
32193
32214
|
});
|
32194
32215
|
}
|
32195
|
-
const version$1 = "3.8.7-dev.2025-05-
|
32216
|
+
const version$1 = "3.8.7-dev.2025-05-30";
|
32196
32217
|
createVuetify$1.version = version$1;
|
32197
32218
|
|
32198
32219
|
// Vue's inject() can only be used in setup
|
@@ -32490,7 +32511,7 @@
|
|
32490
32511
|
|
32491
32512
|
/* eslint-disable local-rules/sort-imports */
|
32492
32513
|
|
32493
|
-
const version = "3.8.7-dev.2025-05-
|
32514
|
+
const version = "3.8.7-dev.2025-05-30";
|
32494
32515
|
|
32495
32516
|
/* eslint-disable local-rules/sort-imports */
|
32496
32517
|
|