@vuetify/nightly 3.9.3-dev.2025-07-31 → 3.9.3-dev.2025-08-01
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 +7 -3
- package/dist/json/attributes.json +3665 -3589
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +172 -172
- package/dist/json/tags.json +19 -0
- package/dist/json/web-types.json +7396 -7206
- package/dist/vuetify-labs.cjs +70 -20
- package/dist/vuetify-labs.css +5522 -5516
- package/dist/vuetify-labs.d.ts +330 -63
- package/dist/vuetify-labs.esm.js +70 -20
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +70 -20
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +70 -20
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3671 -3665
- package/dist/vuetify.d.ts +330 -63
- package/dist/vuetify.esm.js +70 -20
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +70 -20
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +239 -236
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.css +7 -1
- package/lib/components/VDataTable/VDataTable.d.ts +164 -0
- package/lib/components/VDataTable/VDataTable.sass +4 -1
- package/lib/components/VDataTable/VDataTableColumn.d.ts +4 -1
- package/lib/components/VDataTable/VDataTableColumn.js +6 -2
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.d.ts +57 -3
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +27 -12
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +3 -0
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.d.ts +51 -0
- package/lib/components/VDataTable/VDataTableRow.js +17 -4
- package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.d.ts +100 -0
- package/lib/components/VDataTable/VDataTableRows.js +9 -4
- package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +110 -0
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +110 -0
- package/lib/components/VDataTable/composables/headers.d.ts +14 -0
- package/lib/components/VDataTable/types.d.ts +1 -0
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.d.ts +25 -0
- package/lib/components/VFileInput/VFileInput.js +11 -1
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +64 -63
- package/lib/framework.js +1 -1
- package/lib/iconsets/fa.js +2 -0
- package/lib/iconsets/fa.js.map +1 -1
- package/lib/iconsets/fa4.js +2 -0
- package/lib/iconsets/fa4.js.map +1 -1
- package/lib/iconsets/md.js +2 -0
- package/lib/iconsets/md.js.map +1 -1
- package/lib/iconsets/mdi-svg.js +2 -0
- package/lib/iconsets/mdi-svg.js.map +1 -1
- package/lib/iconsets/mdi.js +2 -0
- package/lib/iconsets/mdi.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.9.3-dev.2025-
|
|
2
|
+
* Vuetify v3.9.3-dev.2025-08-01
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -1873,6 +1873,8 @@
|
|
|
1873
1873
|
calendar: 'mdi-calendar',
|
|
1874
1874
|
treeviewCollapse: 'mdi-menu-down',
|
|
1875
1875
|
treeviewExpand: 'mdi-menu-right',
|
|
1876
|
+
tableGroupCollapse: 'mdi-chevron-down',
|
|
1877
|
+
tableGroupExpand: 'mdi-chevron-right',
|
|
1876
1878
|
eyeDropper: 'mdi-eyedropper',
|
|
1877
1879
|
upload: 'mdi-cloud-upload',
|
|
1878
1880
|
color: 'mdi-palette',
|
|
@@ -21183,6 +21185,8 @@
|
|
|
21183
21185
|
lastFixed: Boolean,
|
|
21184
21186
|
firstFixedEnd: Boolean,
|
|
21185
21187
|
noPadding: Boolean,
|
|
21188
|
+
indent: [Number, String],
|
|
21189
|
+
empty: Boolean,
|
|
21186
21190
|
tag: String,
|
|
21187
21191
|
width: [Number, String],
|
|
21188
21192
|
maxWidth: [Number, String],
|
|
@@ -21200,14 +21204,16 @@
|
|
|
21200
21204
|
'v-data-table-column--last-fixed': props.lastFixed,
|
|
21201
21205
|
'v-data-table-column--first-fixed-end': props.firstFixedEnd,
|
|
21202
21206
|
'v-data-table-column--no-padding': props.noPadding,
|
|
21203
|
-
'v-data-table-column--nowrap': props.nowrap
|
|
21207
|
+
'v-data-table-column--nowrap': props.nowrap,
|
|
21208
|
+
'v-data-table-column--empty': props.empty
|
|
21204
21209
|
}, `v-data-table-column--align-${props.align}`]),
|
|
21205
21210
|
"style": {
|
|
21206
21211
|
height: convertToUnit(props.height),
|
|
21207
21212
|
width: convertToUnit(props.width),
|
|
21208
21213
|
maxWidth: convertToUnit(props.maxWidth),
|
|
21209
21214
|
left: fixedSide === 'start' ? convertToUnit(props.fixedOffset || null) : undefined,
|
|
21210
|
-
right: fixedSide === 'end' ? convertToUnit(props.fixedEndOffset || null) : undefined
|
|
21215
|
+
right: fixedSide === 'end' ? convertToUnit(props.fixedEndOffset || null) : undefined,
|
|
21216
|
+
paddingInlineStart: props.indent ? convertToUnit(props.indent) : undefined
|
|
21211
21217
|
}
|
|
21212
21218
|
}, {
|
|
21213
21219
|
default: () => [slots.default?.()]
|
|
@@ -21622,6 +21628,7 @@
|
|
|
21622
21628
|
y
|
|
21623
21629
|
} = _ref2;
|
|
21624
21630
|
const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand';
|
|
21631
|
+
const isEmpty = column.key === 'data-table-group' && column.width === 0 && !column.title;
|
|
21625
21632
|
const headerProps = vue.mergeProps(props.headerProps ?? {}, column.headerProps ?? {});
|
|
21626
21633
|
return vue.createVNode(VDataTableColumn, vue.mergeProps({
|
|
21627
21634
|
"tag": "th",
|
|
@@ -21644,6 +21651,7 @@
|
|
|
21644
21651
|
"lastFixed": column.lastFixed,
|
|
21645
21652
|
"firstFixedEnd": column.firstFixedEnd,
|
|
21646
21653
|
"noPadding": noPadding,
|
|
21654
|
+
"empty": isEmpty,
|
|
21647
21655
|
"tabindex": column.sortable ? 0 : undefined,
|
|
21648
21656
|
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
|
21649
21657
|
"onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
|
|
@@ -21661,6 +21669,7 @@
|
|
|
21661
21669
|
getSortIcon
|
|
21662
21670
|
};
|
|
21663
21671
|
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
|
21672
|
+
if (isEmpty) return '';
|
|
21664
21673
|
if (column.key === 'data-table-select') {
|
|
21665
21674
|
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && vue.createVNode(VCheckboxBtn, {
|
|
21666
21675
|
"modelValue": allSelected.value,
|
|
@@ -21755,6 +21764,14 @@
|
|
|
21755
21764
|
item: {
|
|
21756
21765
|
type: Object,
|
|
21757
21766
|
required: true
|
|
21767
|
+
},
|
|
21768
|
+
groupCollapseIcon: {
|
|
21769
|
+
type: IconValue,
|
|
21770
|
+
default: '$tableGroupCollapse'
|
|
21771
|
+
},
|
|
21772
|
+
groupExpandIcon: {
|
|
21773
|
+
type: IconValue,
|
|
21774
|
+
default: '$tableGroupExpand'
|
|
21758
21775
|
}
|
|
21759
21776
|
}, 'VDataTableGroupHeaderRow');
|
|
21760
21777
|
const VDataTableGroupHeaderRow = genericComponent()({
|
|
@@ -21780,6 +21797,7 @@
|
|
|
21780
21797
|
const rows = vue.computed(() => {
|
|
21781
21798
|
return extractRows([props.item]);
|
|
21782
21799
|
});
|
|
21800
|
+
const colspan = vue.toRef(() => columns.value.length - (columns.value.some(c => c.key === 'data-table-select') ? 1 : 0));
|
|
21783
21801
|
return () => vue.createElementVNode("tr", {
|
|
21784
21802
|
"class": "v-data-table-group-header-row",
|
|
21785
21803
|
"style": {
|
|
@@ -21787,7 +21805,7 @@
|
|
|
21787
21805
|
}
|
|
21788
21806
|
}, [columns.value.map(column => {
|
|
21789
21807
|
if (column.key === 'data-table-group') {
|
|
21790
|
-
const icon = isGroupOpen(props.item) ?
|
|
21808
|
+
const icon = isGroupOpen(props.item) ? props.groupCollapseIcon : props.groupExpandIcon;
|
|
21791
21809
|
const onClick = () => toggleGroup(props.item);
|
|
21792
21810
|
return slots['data-table-group']?.({
|
|
21793
21811
|
item: props.item,
|
|
@@ -21797,7 +21815,8 @@
|
|
|
21797
21815
|
onClick
|
|
21798
21816
|
}
|
|
21799
21817
|
}) ?? vue.createVNode(VDataTableColumn, {
|
|
21800
|
-
"class": "v-data-table-group-header-row__column"
|
|
21818
|
+
"class": "v-data-table-group-header-row__column",
|
|
21819
|
+
"colspan": colspan.value
|
|
21801
21820
|
}, {
|
|
21802
21821
|
default: () => [vue.createVNode(VBtn, {
|
|
21803
21822
|
"size": "small",
|
|
@@ -21806,8 +21825,7 @@
|
|
|
21806
21825
|
"onClick": onClick
|
|
21807
21826
|
}, null), vue.createElementVNode("span", null, [props.item.value]), vue.createElementVNode("span", null, [vue.createTextVNode("("), rows.value.length, vue.createTextVNode(")")])]
|
|
21808
21827
|
});
|
|
21809
|
-
}
|
|
21810
|
-
if (column.key === 'data-table-select') {
|
|
21828
|
+
} else if (column.key === 'data-table-select') {
|
|
21811
21829
|
const modelValue = isSelected(rows.value);
|
|
21812
21830
|
const indeterminate = isSomeSelected(rows.value) && !modelValue;
|
|
21813
21831
|
const selectGroup = v => select(rows.value, v);
|
|
@@ -21817,13 +21835,18 @@
|
|
|
21817
21835
|
indeterminate,
|
|
21818
21836
|
'onUpdate:modelValue': selectGroup
|
|
21819
21837
|
}
|
|
21820
|
-
}) ?? vue.
|
|
21821
|
-
"
|
|
21822
|
-
"
|
|
21823
|
-
|
|
21824
|
-
|
|
21838
|
+
}) ?? vue.createVNode(VDataTableColumn, {
|
|
21839
|
+
"class": "v-data-table__td--select-row",
|
|
21840
|
+
"noPadding": true
|
|
21841
|
+
}, {
|
|
21842
|
+
default: () => [vue.createVNode(VCheckboxBtn, {
|
|
21843
|
+
"modelValue": modelValue,
|
|
21844
|
+
"indeterminate": indeterminate,
|
|
21845
|
+
"onUpdate:modelValue": selectGroup
|
|
21846
|
+
}, null)]
|
|
21847
|
+
});
|
|
21825
21848
|
}
|
|
21826
|
-
return
|
|
21849
|
+
return '';
|
|
21827
21850
|
})]);
|
|
21828
21851
|
}
|
|
21829
21852
|
});
|
|
@@ -21834,6 +21857,14 @@
|
|
|
21834
21857
|
index: Number,
|
|
21835
21858
|
item: Object,
|
|
21836
21859
|
cellProps: [Object, Function],
|
|
21860
|
+
collapseIcon: {
|
|
21861
|
+
type: IconValue,
|
|
21862
|
+
default: '$collapse'
|
|
21863
|
+
},
|
|
21864
|
+
expandIcon: {
|
|
21865
|
+
type: IconValue,
|
|
21866
|
+
default: '$expand'
|
|
21867
|
+
},
|
|
21837
21868
|
onClick: EventProp(),
|
|
21838
21869
|
onContextmenu: EventProp(),
|
|
21839
21870
|
onDblclick: EventProp(),
|
|
@@ -21914,8 +21945,11 @@
|
|
|
21914
21945
|
internalItem: slotProps.internalItem,
|
|
21915
21946
|
value: slotProps.value
|
|
21916
21947
|
}) : column.cellProps;
|
|
21948
|
+
const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand';
|
|
21949
|
+
const isEmpty = column.key === 'data-table-group' && column.width === 0 && !column.title;
|
|
21917
21950
|
return vue.createVNode(VDataTableColumn, vue.mergeProps({
|
|
21918
21951
|
"align": column.align,
|
|
21952
|
+
"indent": column.intent,
|
|
21919
21953
|
"class": {
|
|
21920
21954
|
'v-data-table__td--expanded-row': column.key === 'data-table-expand',
|
|
21921
21955
|
'v-data-table__td--select-row': column.key === 'data-table-select'
|
|
@@ -21926,7 +21960,8 @@
|
|
|
21926
21960
|
"lastFixed": column.lastFixed,
|
|
21927
21961
|
"firstFixedEnd": column.firstFixedEnd,
|
|
21928
21962
|
"maxWidth": !mobile.value ? column.maxWidth : undefined,
|
|
21929
|
-
"noPadding":
|
|
21963
|
+
"noPadding": noPadding,
|
|
21964
|
+
"empty": isEmpty,
|
|
21930
21965
|
"nowrap": column.nowrap,
|
|
21931
21966
|
"width": !mobile.value ? column.width : undefined
|
|
21932
21967
|
}, cellProps, columnCellProps), {
|
|
@@ -21949,13 +21984,13 @@
|
|
|
21949
21984
|
return slots['item.data-table-expand']?.({
|
|
21950
21985
|
...slotProps,
|
|
21951
21986
|
props: {
|
|
21952
|
-
icon: isExpanded(item) ?
|
|
21987
|
+
icon: isExpanded(item) ? props.collapseIcon : props.expandIcon,
|
|
21953
21988
|
size: 'small',
|
|
21954
21989
|
variant: 'text',
|
|
21955
21990
|
onClick: vue.withModifiers(() => toggleExpand(item), ['stop'])
|
|
21956
21991
|
}
|
|
21957
21992
|
}) ?? vue.createVNode(VBtn, {
|
|
21958
|
-
"icon": isExpanded(item) ?
|
|
21993
|
+
"icon": isExpanded(item) ? props.collapseIcon : props.expandIcon,
|
|
21959
21994
|
"size": "small",
|
|
21960
21995
|
"variant": "text",
|
|
21961
21996
|
"onClick": vue.withModifiers(() => toggleExpand(item), ['stop'])
|
|
@@ -21993,6 +22028,8 @@
|
|
|
21993
22028
|
},
|
|
21994
22029
|
rowProps: [Object, Function],
|
|
21995
22030
|
cellProps: [Object, Function],
|
|
22031
|
+
...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon']),
|
|
22032
|
+
...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon']),
|
|
21996
22033
|
...makeDisplayProps()
|
|
21997
22034
|
}, 'VDataTableRows');
|
|
21998
22035
|
const VDataTableRows = genericComponent()({
|
|
@@ -22027,6 +22064,7 @@
|
|
|
22027
22064
|
mobile
|
|
22028
22065
|
} = useDisplay(props);
|
|
22029
22066
|
useRender(() => {
|
|
22067
|
+
const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon']);
|
|
22030
22068
|
if (props.loading && (!props.items.length || slots.loading)) {
|
|
22031
22069
|
return vue.createElementVNode("tr", {
|
|
22032
22070
|
"class": "v-data-table-rows-loading",
|
|
@@ -22059,7 +22097,7 @@
|
|
|
22059
22097
|
return slots['group-header'] ? slots['group-header'](slotProps) : vue.createVNode(VDataTableGroupHeaderRow, vue.mergeProps({
|
|
22060
22098
|
"key": `group-header_${item.id}`,
|
|
22061
22099
|
"item": item
|
|
22062
|
-
}, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps)), slots);
|
|
22100
|
+
}, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps), groupHeaderRowProps), slots);
|
|
22063
22101
|
}
|
|
22064
22102
|
const slotProps = {
|
|
22065
22103
|
index,
|
|
@@ -22081,6 +22119,8 @@
|
|
|
22081
22119
|
index,
|
|
22082
22120
|
item,
|
|
22083
22121
|
cellProps: props.cellProps,
|
|
22122
|
+
collapseIcon: props.collapseIcon,
|
|
22123
|
+
expandIcon: props.expandIcon,
|
|
22084
22124
|
mobile: mobile.value
|
|
22085
22125
|
}, getPrefixedEventHandlers(attrs, ':row', () => slotProps), typeof props.rowProps === 'function' ? props.rowProps({
|
|
22086
22126
|
item: slotProps.item,
|
|
@@ -24738,6 +24778,10 @@
|
|
|
24738
24778
|
return typeof v === 'boolean' || [1000, 1024].includes(Number(v));
|
|
24739
24779
|
}
|
|
24740
24780
|
},
|
|
24781
|
+
truncateLength: {
|
|
24782
|
+
type: [Number, String],
|
|
24783
|
+
default: 22
|
|
24784
|
+
},
|
|
24741
24785
|
...makeVInputProps({
|
|
24742
24786
|
prependIcon: '$file'
|
|
24743
24787
|
}),
|
|
@@ -24795,7 +24839,8 @@
|
|
|
24795
24839
|
name = '',
|
|
24796
24840
|
size = 0
|
|
24797
24841
|
} = file;
|
|
24798
|
-
|
|
24842
|
+
const truncatedText = truncateText(name);
|
|
24843
|
+
return !props.showSize ? truncatedText : `${truncatedText} (${humanReadableFileSize(size, base.value)})`;
|
|
24799
24844
|
}));
|
|
24800
24845
|
const counterValue = vue.computed(() => {
|
|
24801
24846
|
const fileCount = model.value?.length ?? 0;
|
|
@@ -24835,6 +24880,11 @@
|
|
|
24835
24880
|
callEvent(props['onClick:clear'], e);
|
|
24836
24881
|
});
|
|
24837
24882
|
}
|
|
24883
|
+
function truncateText(str) {
|
|
24884
|
+
if (str.length < Number(props.truncateLength)) return str;
|
|
24885
|
+
const charsKeepOneSide = Math.floor((Number(props.truncateLength) - 1) / 2);
|
|
24886
|
+
return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`;
|
|
24887
|
+
}
|
|
24838
24888
|
function onDragover(e) {
|
|
24839
24889
|
e.preventDefault();
|
|
24840
24890
|
e.stopImmediatePropagation();
|
|
@@ -31848,7 +31898,7 @@
|
|
|
31848
31898
|
};
|
|
31849
31899
|
});
|
|
31850
31900
|
}
|
|
31851
|
-
const version$1 = "3.9.3-dev.2025-
|
|
31901
|
+
const version$1 = "3.9.3-dev.2025-08-01";
|
|
31852
31902
|
createVuetify$1.version = version$1;
|
|
31853
31903
|
|
|
31854
31904
|
// Vue's inject() can only be used in setup
|
|
@@ -31873,7 +31923,7 @@
|
|
|
31873
31923
|
...options
|
|
31874
31924
|
});
|
|
31875
31925
|
};
|
|
31876
|
-
const version = "3.9.3-dev.2025-
|
|
31926
|
+
const version = "3.9.3-dev.2025-08-01";
|
|
31877
31927
|
createVuetify.version = version;
|
|
31878
31928
|
|
|
31879
31929
|
exports.blueprints = index;
|