@vuetify/nightly 3.8.0-beta.0-dev.2025-03-24 → 3.8.0-beta.0-dev.2025-03-25
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 +39 -3
- package/dist/json/attributes.json +3258 -3254
- package/dist/json/importMap-labs.json +8 -8
- package/dist/json/importMap.json +162 -162
- package/dist/json/tags.json +1 -0
- package/dist/json/web-types.json +6130 -6099
- package/dist/vuetify-labs.cjs +63 -25
- package/dist/vuetify-labs.css +3530 -3530
- package/dist/vuetify-labs.d.ts +112 -88
- package/dist/vuetify-labs.esm.js +63 -25
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +63 -25
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +25 -10
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +6104 -6104
- package/dist/vuetify.d.ts +89 -86
- package/dist/vuetify.esm.js +25 -10
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +25 -10
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +10 -10
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.d.ts +4 -4
- package/lib/components/VDataTable/VDataTableRow.d.ts +9 -6
- package/lib/components/VDataTable/VDataTableRow.js +18 -3
- package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.d.ts +4 -4
- package/lib/components/VDataTable/VDataTableServer.d.ts +4 -4
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +4 -4
- package/lib/components/VDatePicker/VDatePicker.js +1 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VIcon/VIcon.js +2 -2
- package/lib/components/VIcon/VIcon.js.map +1 -1
- package/lib/composables/calendar.js +1 -1
- package/lib/composables/calendar.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +54 -54
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +35 -3
- package/lib/labs/VDateInput/VDateInput.js +38 -15
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/util/helpers.js +1 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.cjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.0-beta.0-dev.2025-03-
|
2
|
+
* Vuetify v3.8.0-beta.0-dev.2025-03-25
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -233,7 +233,7 @@
|
|
233
233
|
function pick(obj, paths) {
|
234
234
|
const found = {};
|
235
235
|
for (const key of paths) {
|
236
|
-
if (Object.
|
236
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
237
237
|
found[key] = obj[key];
|
238
238
|
}
|
239
239
|
}
|
@@ -4686,7 +4686,7 @@
|
|
4686
4686
|
const slotIcon = vue.ref();
|
4687
4687
|
const {
|
4688
4688
|
themeClasses
|
4689
|
-
} =
|
4689
|
+
} = useTheme();
|
4690
4690
|
const {
|
4691
4691
|
iconData
|
4692
4692
|
} = useIcon(vue.computed(() => slotIcon.value || props.icon));
|
@@ -20571,22 +20571,37 @@
|
|
20571
20571
|
"width": !mobile.value ? column.width : undefined
|
20572
20572
|
}, cellProps, columnCellProps), {
|
20573
20573
|
default: () => {
|
20574
|
-
if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps);
|
20575
20574
|
if (column.key === 'data-table-select') {
|
20576
|
-
return slots['item.data-table-select']?.(
|
20575
|
+
return slots['item.data-table-select']?.({
|
20576
|
+
...slotProps,
|
20577
|
+
props: {
|
20578
|
+
disabled: !item.selectable,
|
20579
|
+
modelValue: isSelected([item]),
|
20580
|
+
onClick: vue.withModifiers(() => toggleSelect(item), ['stop'])
|
20581
|
+
}
|
20582
|
+
}) ?? vue.createVNode(VCheckboxBtn, {
|
20577
20583
|
"disabled": !item.selectable,
|
20578
20584
|
"modelValue": isSelected([item]),
|
20579
20585
|
"onClick": vue.withModifiers(event => toggleSelect(item, props.index, event), ['stop'])
|
20580
20586
|
}, null);
|
20581
20587
|
}
|
20582
20588
|
if (column.key === 'data-table-expand') {
|
20583
|
-
return slots['item.data-table-expand']?.(
|
20589
|
+
return slots['item.data-table-expand']?.({
|
20590
|
+
...slotProps,
|
20591
|
+
props: {
|
20592
|
+
icon: isExpanded(item) ? '$collapse' : '$expand',
|
20593
|
+
size: 'small',
|
20594
|
+
variant: 'text',
|
20595
|
+
onClick: vue.withModifiers(() => toggleExpand(item), ['stop'])
|
20596
|
+
}
|
20597
|
+
}) ?? vue.createVNode(VBtn, {
|
20584
20598
|
"icon": isExpanded(item) ? '$collapse' : '$expand',
|
20585
20599
|
"size": "small",
|
20586
20600
|
"variant": "text",
|
20587
20601
|
"onClick": vue.withModifiers(() => toggleExpand(item), ['stop'])
|
20588
20602
|
}, null);
|
20589
20603
|
}
|
20604
|
+
if (slots[slotName] && !mobile.value) return slots[slotName](slotProps);
|
20590
20605
|
const displayValue = vue.toDisplayString(slotProps.value);
|
20591
20606
|
return !mobile.value ? displayValue : vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
|
20592
20607
|
"class": "v-data-table__td-title"
|
@@ -21929,7 +21944,7 @@
|
|
21929
21944
|
}, 'calendar');
|
21930
21945
|
function useCalendar(props) {
|
21931
21946
|
const adapter = useDate();
|
21932
|
-
const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v));
|
21947
|
+
const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v).map(i => adapter.date(i)));
|
21933
21948
|
const displayValue = vue.computed(() => {
|
21934
21949
|
if (props.displayValue) return adapter.date(props.displayValue);
|
21935
21950
|
if (model.value.length > 0) return adapter.date(model.value[0]);
|
@@ -22442,7 +22457,7 @@
|
|
22442
22457
|
const {
|
22443
22458
|
rtlClasses
|
22444
22459
|
} = useRtl();
|
22445
|
-
const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
|
22460
|
+
const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v).map(i => adapter.date(i)), v => props.multiple ? v : v[0]);
|
22446
22461
|
const viewMode = useProxiedModel(props, 'viewMode');
|
22447
22462
|
// const inputMode = useProxiedModel(props, 'inputMode')
|
22448
22463
|
|
@@ -28920,12 +28935,15 @@
|
|
28920
28935
|
// Types
|
28921
28936
|
|
28922
28937
|
const makeVDateInputProps = propsFactory({
|
28938
|
+
displayFormat: [Function, String],
|
28923
28939
|
location: {
|
28924
28940
|
type: String,
|
28925
28941
|
default: 'bottom start'
|
28926
28942
|
},
|
28927
28943
|
...makeFocusProps(),
|
28928
|
-
...makeVConfirmEditProps(
|
28944
|
+
...makeVConfirmEditProps({
|
28945
|
+
hideActions: true
|
28946
|
+
}),
|
28929
28947
|
...makeVTextFieldProps({
|
28930
28948
|
placeholder: 'mm/dd/yyyy',
|
28931
28949
|
prependIcon: '$calendar'
|
@@ -28939,10 +28957,13 @@
|
|
28939
28957
|
name: 'VDateInput',
|
28940
28958
|
props: makeVDateInputProps(),
|
28941
28959
|
emits: {
|
28960
|
+
save: value => true,
|
28961
|
+
cancel: () => true,
|
28942
28962
|
'update:modelValue': val => true
|
28943
28963
|
},
|
28944
28964
|
setup(props, _ref) {
|
28945
28965
|
let {
|
28966
|
+
emit,
|
28946
28967
|
slots
|
28947
28968
|
} = _ref;
|
28948
28969
|
const {
|
@@ -28957,6 +28978,12 @@
|
|
28957
28978
|
const model = useProxiedModel(props, 'modelValue', props.multiple ? [] : null, val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val);
|
28958
28979
|
const menu = vue.shallowRef(false);
|
28959
28980
|
const vDateInputRef = vue.ref();
|
28981
|
+
function format(date) {
|
28982
|
+
if (typeof props.displayFormat === 'function') {
|
28983
|
+
return props.displayFormat(date);
|
28984
|
+
}
|
28985
|
+
return adapter.format(date, props.displayFormat ?? 'keyboardDate');
|
28986
|
+
}
|
28960
28987
|
const display = vue.computed(() => {
|
28961
28988
|
const value = wrapInArray(model.value);
|
28962
28989
|
if (!value.length) return null;
|
@@ -28966,9 +28993,10 @@
|
|
28966
28993
|
if (props.multiple === 'range') {
|
28967
28994
|
const start = value[0];
|
28968
28995
|
const end = value[value.length - 1];
|
28969
|
-
|
28996
|
+
if (!adapter.isValid(start) || !adapter.isValid(end)) return '';
|
28997
|
+
return `${format(adapter.date(start))} - ${format(adapter.date(end))}`;
|
28970
28998
|
}
|
28971
|
-
return adapter.isValid(model.value) ?
|
28999
|
+
return adapter.isValid(model.value) ? format(adapter.date(model.value)) : '';
|
28972
29000
|
});
|
28973
29001
|
const isInteractive = vue.computed(() => !props.disabled && !props.readonly);
|
28974
29002
|
function onKeydown(e) {
|
@@ -28985,10 +29013,15 @@
|
|
28985
29013
|
e.stopPropagation();
|
28986
29014
|
menu.value = true;
|
28987
29015
|
}
|
28988
|
-
function
|
29016
|
+
function onCancel() {
|
29017
|
+
emit('cancel');
|
28989
29018
|
menu.value = false;
|
28990
29019
|
}
|
28991
|
-
function
|
29020
|
+
function onSave(value) {
|
29021
|
+
emit('save', value);
|
29022
|
+
menu.value = false;
|
29023
|
+
}
|
29024
|
+
function onUpdateDisplayModel(value) {
|
28992
29025
|
if (value != null) return;
|
28993
29026
|
model.value = null;
|
28994
29027
|
}
|
@@ -29008,7 +29041,7 @@
|
|
29008
29041
|
"onBlur": blur,
|
29009
29042
|
"onClick:control": isInteractive.value ? onClick : undefined,
|
29010
29043
|
"onClick:prepend": isInteractive.value ? onClick : undefined,
|
29011
|
-
"onUpdate:modelValue":
|
29044
|
+
"onUpdate:modelValue": onUpdateDisplayModel
|
29012
29045
|
}), {
|
29013
29046
|
...slots,
|
29014
29047
|
default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, {
|
@@ -29025,7 +29058,7 @@
|
|
29025
29058
|
"modelValue": model.value,
|
29026
29059
|
"onUpdate:modelValue": $event => model.value = $event,
|
29027
29060
|
"onSave": onSave,
|
29028
|
-
"onCancel":
|
29061
|
+
"onCancel": onCancel
|
29029
29062
|
}), {
|
29030
29063
|
default: _ref2 => {
|
29031
29064
|
let {
|
@@ -29035,16 +29068,21 @@
|
|
29035
29068
|
cancel,
|
29036
29069
|
isPristine
|
29037
29070
|
} = _ref2;
|
29071
|
+
function onUpdateModel(value) {
|
29072
|
+
if (!props.hideActions) {
|
29073
|
+
proxyModel.value = value;
|
29074
|
+
} else {
|
29075
|
+
model.value = value;
|
29076
|
+
if (!props.multiple) {
|
29077
|
+
menu.value = false;
|
29078
|
+
}
|
29079
|
+
}
|
29080
|
+
emit('save', value);
|
29081
|
+
vDateInputRef.value?.blur();
|
29082
|
+
}
|
29038
29083
|
return vue.createVNode(VDatePicker, vue.mergeProps(datePickerProps, {
|
29039
29084
|
"modelValue": props.hideActions ? model.value : proxyModel.value,
|
29040
|
-
"onUpdate:modelValue":
|
29041
|
-
if (!props.hideActions) {
|
29042
|
-
proxyModel.value = val;
|
29043
|
-
} else {
|
29044
|
-
model.value = val;
|
29045
|
-
if (!props.multiple) menu.value = false;
|
29046
|
-
}
|
29047
|
-
},
|
29085
|
+
"onUpdate:modelValue": value => onUpdateModel(value),
|
29048
29086
|
"onMousedown": e => e.preventDefault()
|
29049
29087
|
}), {
|
29050
29088
|
actions: !props.hideActions ? () => slots.actions?.({
|
@@ -31276,7 +31314,7 @@
|
|
31276
31314
|
};
|
31277
31315
|
});
|
31278
31316
|
}
|
31279
|
-
const version$1 = "3.8.0-beta.0-dev.2025-03-
|
31317
|
+
const version$1 = "3.8.0-beta.0-dev.2025-03-25";
|
31280
31318
|
createVuetify$1.version = version$1;
|
31281
31319
|
|
31282
31320
|
// Vue's inject() can only be used in setup
|
@@ -31561,7 +31599,7 @@
|
|
31561
31599
|
|
31562
31600
|
/* eslint-disable local-rules/sort-imports */
|
31563
31601
|
|
31564
|
-
const version = "3.8.0-beta.0-dev.2025-03-
|
31602
|
+
const version = "3.8.0-beta.0-dev.2025-03-25";
|
31565
31603
|
|
31566
31604
|
/* eslint-disable local-rules/sort-imports */
|
31567
31605
|
|