@vuetify/nightly 3.9.0-beta.0-dev.2025-06-20 → 3.9.0-beta.0-dev.2025-06-24
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 +87 -3
- package/dist/json/attributes.json +1523 -1523
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +182 -182
- package/dist/json/web-types.json +2950 -2950
- package/dist/vuetify-labs.cjs +45 -43
- package/dist/vuetify-labs.css +5095 -5099
- package/dist/vuetify-labs.d.ts +1294 -91
- package/dist/vuetify-labs.esm.js +45 -43
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +45 -43
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +45 -43
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2312 -2316
- package/dist/vuetify.d.ts +1294 -91
- package/dist/vuetify.esm.js +45 -43
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +45 -43
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +38 -38
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBtn/VBtn.sass +3 -1
- package/lib/components/VCarousel/VCarousel.css +0 -1
- package/lib/components/VCarousel/VCarousel.js +1 -0
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.sass +0 -1
- package/lib/components/VDatePicker/VDatePickerControls.css +1 -0
- package/lib/components/VDatePicker/VDatePickerControls.sass +1 -0
- package/lib/components/VDatePicker/VDatePickerMonth.css +3 -8
- package/lib/components/VDatePicker/VDatePickerMonth.js +8 -3
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.sass +3 -8
- package/lib/components/VField/VField.js +2 -10
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VList/VList.js +1 -1
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +4 -10
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VNumberInput/hold.js +4 -0
- package/lib/components/VNumberInput/hold.js.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.css +1 -6
- package/lib/components/VTimePicker/VTimePicker.sass +1 -6
- package/lib/components/VTimePicker/VTimePickerClock.css +5 -4
- package/lib/components/VTimePicker/VTimePickerClock.sass +5 -4
- package/lib/components/VTimePicker/VTimePickerControls.css +2 -1
- package/lib/components/VTimePicker/VTimePickerControls.sass +2 -3
- package/lib/components/VTreeview/VTreeviewChildren.js +9 -5
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewItem.d.ts +1206 -3
- package/lib/components/VTreeview/VTreeviewItem.js +8 -9
- package/lib/components/VTreeview/VTreeviewItem.js.map +1 -1
- package/lib/composables/calendar.d.ts +2 -0
- package/lib/composables/calendar.js +7 -3
- package/lib/composables/calendar.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +62 -62
- package/lib/framework.js +1 -1
- package/lib/labs/VPicker/VPicker.css +4 -0
- package/lib/labs/VPicker/VPicker.sass +4 -0
- package/package.json +1 -1
package/dist/vuetify.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.9.0-beta.0-dev.2025-06-
|
2
|
+
* Vuetify v3.9.0-beta.0-dev.2025-06-24
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -10223,7 +10223,7 @@
|
|
10223
10223
|
function transformItem$2(props, item) {
|
10224
10224
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
10225
10225
|
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
10226
|
-
const value = getPropertyFromItem(item, props.itemValue, undefined);
|
10226
|
+
const value = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemValue, undefined);
|
10227
10227
|
const children = getPropertyFromItem(item, props.itemChildren);
|
10228
10228
|
const itemProps = props.itemProps === true ? omit(item, ['children']) : getPropertyFromItem(item, props.itemProps);
|
10229
10229
|
const _props = {
|
@@ -12375,11 +12375,7 @@
|
|
12375
12375
|
default: slots.loader
|
12376
12376
|
}), hasPrepend && vue.createElementVNode("div", {
|
12377
12377
|
"key": "prepend",
|
12378
|
-
"class": "v-field__prepend-inner"
|
12379
|
-
"onMousedown": e => {
|
12380
|
-
e.preventDefault();
|
12381
|
-
e.stopPropagation();
|
12382
|
-
}
|
12378
|
+
"class": "v-field__prepend-inner"
|
12383
12379
|
}, [props.prependInnerIcon && vue.createVNode(InputIcon, {
|
12384
12380
|
"key": "prepend-icon",
|
12385
12381
|
"name": "prependInner",
|
@@ -12448,11 +12444,7 @@
|
|
12448
12444
|
})]), [[vue.vShow, props.dirty]])]
|
12449
12445
|
}), hasAppend && vue.createElementVNode("div", {
|
12450
12446
|
"key": "append",
|
12451
|
-
"class": "v-field__append-inner"
|
12452
|
-
"onMousedown": e => {
|
12453
|
-
e.preventDefault();
|
12454
|
-
e.stopPropagation();
|
12455
|
-
}
|
12447
|
+
"class": "v-field__append-inner"
|
12456
12448
|
}, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && vue.createVNode(InputIcon, {
|
12457
12449
|
"key": "append-icon",
|
12458
12450
|
"name": "appendInner",
|
@@ -15698,6 +15690,7 @@
|
|
15698
15690
|
}) : vue.createVNode(VBtn, vue.mergeProps(item, props), null);
|
15699
15691
|
})]
|
15700
15692
|
})]), props.progress && vue.createVNode(VProgressLinear, {
|
15693
|
+
"absolute": true,
|
15701
15694
|
"class": "v-carousel__progress",
|
15702
15695
|
"color": typeof props.progress === 'string' ? props.progress : undefined,
|
15703
15696
|
"modelValue": (group.getItemIndex(model.value) + 1) / group.items.value.length * 100
|
@@ -22612,8 +22605,11 @@
|
|
22612
22605
|
}, v => adapter.getMonth(v));
|
22613
22606
|
const weekDays = vue.computed(() => {
|
22614
22607
|
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
22615
|
-
|
22616
|
-
|
22608
|
+
return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
|
22609
|
+
});
|
22610
|
+
const weekdayLabels = vue.computed(() => {
|
22611
|
+
const labels = adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat);
|
22612
|
+
return weekDays.value.map(day => labels[day]);
|
22617
22613
|
});
|
22618
22614
|
const weeksInMonth = vue.computed(() => {
|
22619
22615
|
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
@@ -22694,7 +22690,7 @@
|
|
22694
22690
|
if (typeof props.allowedDates === 'function') {
|
22695
22691
|
return !props.allowedDates(date);
|
22696
22692
|
}
|
22697
|
-
return
|
22693
|
+
return false;
|
22698
22694
|
}
|
22699
22695
|
return {
|
22700
22696
|
displayValue,
|
@@ -22704,6 +22700,7 @@
|
|
22704
22700
|
model,
|
22705
22701
|
weeksInMonth,
|
22706
22702
|
weekDays,
|
22703
|
+
weekdayLabels,
|
22707
22704
|
weekNumbers
|
22708
22705
|
};
|
22709
22706
|
}
|
@@ -22742,7 +22739,9 @@
|
|
22742
22739
|
const {
|
22743
22740
|
daysInMonth,
|
22744
22741
|
model,
|
22745
|
-
weekNumbers
|
22742
|
+
weekNumbers,
|
22743
|
+
weekDays,
|
22744
|
+
weekdayLabels
|
22746
22745
|
} = useCalendar(props);
|
22747
22746
|
const adapter = useDate();
|
22748
22747
|
const rangeStart = vue.shallowRef();
|
@@ -22814,7 +22813,10 @@
|
|
22814
22813
|
}
|
22815
22814
|
}
|
22816
22815
|
useRender(() => vue.createElementVNode("div", {
|
22817
|
-
"class": "v-date-picker-month"
|
22816
|
+
"class": "v-date-picker-month",
|
22817
|
+
"style": {
|
22818
|
+
'--v-date-picker-days-in-week': weekDays.value.length
|
22819
|
+
}
|
22818
22820
|
}, [props.showWeek && vue.createElementVNode("div", {
|
22819
22821
|
"key": "weeks",
|
22820
22822
|
"class": "v-date-picker-month__weeks"
|
@@ -22830,7 +22832,7 @@
|
|
22830
22832
|
"ref": daysRef,
|
22831
22833
|
"key": daysInMonth.value[0].date?.toString(),
|
22832
22834
|
"class": "v-date-picker-month__days"
|
22833
|
-
}, [!props.hideWeekdays &&
|
22835
|
+
}, [!props.hideWeekdays && weekdayLabels.value.map(weekDay => vue.createElementVNode("div", {
|
22834
22836
|
"class": vue.normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__weekday'])
|
22835
22837
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
22836
22838
|
const slotProps = {
|
@@ -25510,6 +25512,8 @@
|
|
25510
25512
|
function holdStart(value) {
|
25511
25513
|
holdStop();
|
25512
25514
|
tick(value);
|
25515
|
+
window.addEventListener('pointerup', holdStop);
|
25516
|
+
document.addEventListener('blur', holdStop);
|
25513
25517
|
timeout = window.setTimeout(() => {
|
25514
25518
|
interval = window.setInterval(() => tick(value), HOLD_REPEAT);
|
25515
25519
|
}, HOLD_DELAY);
|
@@ -25517,6 +25521,8 @@
|
|
25517
25521
|
function holdStop() {
|
25518
25522
|
window.clearTimeout(timeout);
|
25519
25523
|
window.clearInterval(interval);
|
25524
|
+
window.removeEventListener('pointerup', holdStop);
|
25525
|
+
document.removeEventListener('blur', holdStop);
|
25520
25526
|
}
|
25521
25527
|
function tick(value) {
|
25522
25528
|
toggleUpDown(value === 'up');
|
@@ -25652,7 +25658,7 @@
|
|
25652
25658
|
onClick: onControlClick,
|
25653
25659
|
onPointerup: onControlMouseup,
|
25654
25660
|
onPointerdown: onUpControlMousedown,
|
25655
|
-
onPointercancel:
|
25661
|
+
onPointercancel: onControlMouseup
|
25656
25662
|
}
|
25657
25663
|
};
|
25658
25664
|
const decrementSlotProps = {
|
@@ -25660,7 +25666,7 @@
|
|
25660
25666
|
onClick: onControlClick,
|
25661
25667
|
onPointerup: onControlMouseup,
|
25662
25668
|
onPointerdown: onDownControlMousedown,
|
25663
|
-
onPointercancel:
|
25669
|
+
onPointercancel: onControlMouseup
|
25664
25670
|
}
|
25665
25671
|
};
|
25666
25672
|
vue.watch(() => props.precision, () => formatInputValue());
|
@@ -25741,7 +25747,6 @@
|
|
25741
25747
|
const el = e.currentTarget;
|
25742
25748
|
el?.releasePointerCapture(e.pointerId);
|
25743
25749
|
e.preventDefault();
|
25744
|
-
e.stopPropagation();
|
25745
25750
|
holdStop();
|
25746
25751
|
}
|
25747
25752
|
function onUpControlMousedown(e) {
|
@@ -25758,11 +25763,6 @@
|
|
25758
25763
|
e.stopPropagation();
|
25759
25764
|
holdStart('down');
|
25760
25765
|
}
|
25761
|
-
function onControlPointerCancel(e) {
|
25762
|
-
const el = e.currentTarget;
|
25763
|
-
el?.releasePointerCapture(e.pointerId);
|
25764
|
-
holdStop();
|
25765
|
-
}
|
25766
25766
|
function clampModel() {
|
25767
25767
|
if (controlsDisabled.value) return;
|
25768
25768
|
if (!vTextFieldRef.value) return;
|
@@ -25809,7 +25809,7 @@
|
|
25809
25809
|
"onClick": onControlClick,
|
25810
25810
|
"onPointerdown": onUpControlMousedown,
|
25811
25811
|
"onPointerup": onControlMouseup,
|
25812
|
-
"onPointercancel":
|
25812
|
+
"onPointercancel": onControlMouseup,
|
25813
25813
|
"size": controlNodeSize.value,
|
25814
25814
|
"tabindex": "-1"
|
25815
25815
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
@@ -25839,7 +25839,7 @@
|
|
25839
25839
|
"onClick": onControlClick,
|
25840
25840
|
"onPointerdown": onDownControlMousedown,
|
25841
25841
|
"onPointerup": onControlMouseup,
|
25842
|
-
"onPointercancel":
|
25842
|
+
"onPointercancel": onControlMouseup,
|
25843
25843
|
"size": controlNodeSize.value,
|
25844
25844
|
"tabindex": "-1"
|
25845
25845
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
@@ -30060,7 +30060,7 @@
|
|
30060
30060
|
...slots,
|
30061
30061
|
prepend: hasPrepend ? slotProps => {
|
30062
30062
|
return vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VListItemAction, {
|
30063
|
-
"start":
|
30063
|
+
"start": true
|
30064
30064
|
}, {
|
30065
30065
|
default: () => [props.toggleIcon ? vue.createVNode(VBtn, {
|
30066
30066
|
"density": "compact",
|
@@ -30069,13 +30069,11 @@
|
|
30069
30069
|
"variant": "text",
|
30070
30070
|
"onClick": onClickAction
|
30071
30071
|
}, {
|
30072
|
-
loader() {
|
30073
|
-
|
30074
|
-
|
30075
|
-
|
30076
|
-
|
30077
|
-
}, null);
|
30078
|
-
}
|
30072
|
+
loader: () => vue.createVNode(VProgressCircular, {
|
30073
|
+
"indeterminate": "disable-shrink",
|
30074
|
+
"size": "20",
|
30075
|
+
"width": "2"
|
30076
|
+
}, null)
|
30079
30077
|
}) : vue.createElementVNode("div", {
|
30080
30078
|
"class": "v-treeview-item__level"
|
30081
30079
|
}, null)]
|
@@ -30083,7 +30081,7 @@
|
|
30083
30081
|
} : undefined
|
30084
30082
|
});
|
30085
30083
|
});
|
30086
|
-
return {};
|
30084
|
+
return forwardRefs({}, vListItemRef);
|
30087
30085
|
}
|
30088
30086
|
});
|
30089
30087
|
|
@@ -30126,6 +30124,7 @@
|
|
30126
30124
|
slots
|
30127
30125
|
} = _ref;
|
30128
30126
|
const isLoading = vue.reactive(new Set());
|
30127
|
+
const activatorItems = vue.ref([]);
|
30129
30128
|
const isClickOnOpen = vue.computed(() => !props.disabled && (props.openOnClick != null ? props.openOnClick : props.selectable));
|
30130
30129
|
async function checkChildren(item) {
|
30131
30130
|
try {
|
@@ -30140,7 +30139,7 @@
|
|
30140
30139
|
}
|
30141
30140
|
function selectItem(select, isSelected) {
|
30142
30141
|
if (props.selectable) {
|
30143
|
-
select(
|
30142
|
+
select(isSelected);
|
30144
30143
|
}
|
30145
30144
|
}
|
30146
30145
|
return () => slots.default?.() ?? props.items?.map((item, index) => {
|
@@ -30168,7 +30167,8 @@
|
|
30168
30167
|
"indeterminateIcon": props.indeterminateIcon,
|
30169
30168
|
"falseIcon": props.falseIcon,
|
30170
30169
|
"trueIcon": props.trueIcon,
|
30171
|
-
"
|
30170
|
+
"onUpdate:modelValue": v => selectItem(slotProps.select, v),
|
30171
|
+
"onClick": e => e.stopPropagation(),
|
30172
30172
|
"onKeydown": e => {
|
30173
30173
|
if (!['Enter', 'Space'].includes(e.key)) return;
|
30174
30174
|
e.stopPropagation();
|
@@ -30215,9 +30215,11 @@
|
|
30215
30215
|
...activatorProps,
|
30216
30216
|
value: itemProps?.value,
|
30217
30217
|
onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
|
30218
|
-
onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] :
|
30218
|
+
onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
|
30219
30219
|
};
|
30220
|
-
return vue.createVNode(VTreeviewItem, vue.mergeProps(
|
30220
|
+
return vue.createVNode(VTreeviewItem, vue.mergeProps({
|
30221
|
+
"ref": el => activatorItems.value[index] = el
|
30222
|
+
}, listItemProps, {
|
30221
30223
|
"value": props.returnObject ? item.raw : itemProps.value,
|
30222
30224
|
"loading": loading
|
30223
30225
|
}), slotsWithItem);
|
@@ -30894,7 +30896,7 @@
|
|
30894
30896
|
};
|
30895
30897
|
});
|
30896
30898
|
}
|
30897
|
-
const version$1 = "3.9.0-beta.0-dev.2025-06-
|
30899
|
+
const version$1 = "3.9.0-beta.0-dev.2025-06-24";
|
30898
30900
|
createVuetify$1.version = version$1;
|
30899
30901
|
|
30900
30902
|
// Vue's inject() can only be used in setup
|
@@ -30919,7 +30921,7 @@
|
|
30919
30921
|
...options
|
30920
30922
|
});
|
30921
30923
|
};
|
30922
|
-
const version = "3.9.0-beta.0-dev.2025-06-
|
30924
|
+
const version = "3.9.0-beta.0-dev.2025-06-24";
|
30923
30925
|
createVuetify.version = version;
|
30924
30926
|
|
30925
30927
|
exports.blueprints = index;
|