@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.esm.js
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
|
*/
|
|
@@ -1869,6 +1869,8 @@ const aliases = {
|
|
|
1869
1869
|
calendar: 'mdi-calendar',
|
|
1870
1870
|
treeviewCollapse: 'mdi-menu-down',
|
|
1871
1871
|
treeviewExpand: 'mdi-menu-right',
|
|
1872
|
+
tableGroupCollapse: 'mdi-chevron-down',
|
|
1873
|
+
tableGroupExpand: 'mdi-chevron-right',
|
|
1872
1874
|
eyeDropper: 'mdi-eyedropper',
|
|
1873
1875
|
upload: 'mdi-cloud-upload',
|
|
1874
1876
|
color: 'mdi-palette',
|
|
@@ -21179,6 +21181,8 @@ const VDataTableColumn = defineFunctionalComponent({
|
|
|
21179
21181
|
lastFixed: Boolean,
|
|
21180
21182
|
firstFixedEnd: Boolean,
|
|
21181
21183
|
noPadding: Boolean,
|
|
21184
|
+
indent: [Number, String],
|
|
21185
|
+
empty: Boolean,
|
|
21182
21186
|
tag: String,
|
|
21183
21187
|
width: [Number, String],
|
|
21184
21188
|
maxWidth: [Number, String],
|
|
@@ -21196,14 +21200,16 @@ const VDataTableColumn = defineFunctionalComponent({
|
|
|
21196
21200
|
'v-data-table-column--last-fixed': props.lastFixed,
|
|
21197
21201
|
'v-data-table-column--first-fixed-end': props.firstFixedEnd,
|
|
21198
21202
|
'v-data-table-column--no-padding': props.noPadding,
|
|
21199
|
-
'v-data-table-column--nowrap': props.nowrap
|
|
21203
|
+
'v-data-table-column--nowrap': props.nowrap,
|
|
21204
|
+
'v-data-table-column--empty': props.empty
|
|
21200
21205
|
}, `v-data-table-column--align-${props.align}`]),
|
|
21201
21206
|
"style": {
|
|
21202
21207
|
height: convertToUnit(props.height),
|
|
21203
21208
|
width: convertToUnit(props.width),
|
|
21204
21209
|
maxWidth: convertToUnit(props.maxWidth),
|
|
21205
21210
|
left: fixedSide === 'start' ? convertToUnit(props.fixedOffset || null) : undefined,
|
|
21206
|
-
right: fixedSide === 'end' ? convertToUnit(props.fixedEndOffset || null) : undefined
|
|
21211
|
+
right: fixedSide === 'end' ? convertToUnit(props.fixedEndOffset || null) : undefined,
|
|
21212
|
+
paddingInlineStart: props.indent ? convertToUnit(props.indent) : undefined
|
|
21207
21213
|
}
|
|
21208
21214
|
}, {
|
|
21209
21215
|
default: () => [slots.default?.()]
|
|
@@ -21618,6 +21624,7 @@ const VDataTableHeaders = genericComponent()({
|
|
|
21618
21624
|
y
|
|
21619
21625
|
} = _ref2;
|
|
21620
21626
|
const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand';
|
|
21627
|
+
const isEmpty = column.key === 'data-table-group' && column.width === 0 && !column.title;
|
|
21621
21628
|
const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {});
|
|
21622
21629
|
return createVNode(VDataTableColumn, mergeProps({
|
|
21623
21630
|
"tag": "th",
|
|
@@ -21640,6 +21647,7 @@ const VDataTableHeaders = genericComponent()({
|
|
|
21640
21647
|
"lastFixed": column.lastFixed,
|
|
21641
21648
|
"firstFixedEnd": column.firstFixedEnd,
|
|
21642
21649
|
"noPadding": noPadding,
|
|
21650
|
+
"empty": isEmpty,
|
|
21643
21651
|
"tabindex": column.sortable ? 0 : undefined,
|
|
21644
21652
|
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
|
21645
21653
|
"onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
|
|
@@ -21657,6 +21665,7 @@ const VDataTableHeaders = genericComponent()({
|
|
|
21657
21665
|
getSortIcon
|
|
21658
21666
|
};
|
|
21659
21667
|
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
|
21668
|
+
if (isEmpty) return '';
|
|
21660
21669
|
if (column.key === 'data-table-select') {
|
|
21661
21670
|
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && createVNode(VCheckboxBtn, {
|
|
21662
21671
|
"modelValue": allSelected.value,
|
|
@@ -21751,6 +21760,14 @@ const makeVDataTableGroupHeaderRowProps = propsFactory({
|
|
|
21751
21760
|
item: {
|
|
21752
21761
|
type: Object,
|
|
21753
21762
|
required: true
|
|
21763
|
+
},
|
|
21764
|
+
groupCollapseIcon: {
|
|
21765
|
+
type: IconValue,
|
|
21766
|
+
default: '$tableGroupCollapse'
|
|
21767
|
+
},
|
|
21768
|
+
groupExpandIcon: {
|
|
21769
|
+
type: IconValue,
|
|
21770
|
+
default: '$tableGroupExpand'
|
|
21754
21771
|
}
|
|
21755
21772
|
}, 'VDataTableGroupHeaderRow');
|
|
21756
21773
|
const VDataTableGroupHeaderRow = genericComponent()({
|
|
@@ -21776,6 +21793,7 @@ const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
21776
21793
|
const rows = computed(() => {
|
|
21777
21794
|
return extractRows([props.item]);
|
|
21778
21795
|
});
|
|
21796
|
+
const colspan = toRef(() => columns.value.length - (columns.value.some(c => c.key === 'data-table-select') ? 1 : 0));
|
|
21779
21797
|
return () => createElementVNode("tr", {
|
|
21780
21798
|
"class": "v-data-table-group-header-row",
|
|
21781
21799
|
"style": {
|
|
@@ -21783,7 +21801,7 @@ const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
21783
21801
|
}
|
|
21784
21802
|
}, [columns.value.map(column => {
|
|
21785
21803
|
if (column.key === 'data-table-group') {
|
|
21786
|
-
const icon = isGroupOpen(props.item) ?
|
|
21804
|
+
const icon = isGroupOpen(props.item) ? props.groupCollapseIcon : props.groupExpandIcon;
|
|
21787
21805
|
const onClick = () => toggleGroup(props.item);
|
|
21788
21806
|
return slots['data-table-group']?.({
|
|
21789
21807
|
item: props.item,
|
|
@@ -21793,7 +21811,8 @@ const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
21793
21811
|
onClick
|
|
21794
21812
|
}
|
|
21795
21813
|
}) ?? createVNode(VDataTableColumn, {
|
|
21796
|
-
"class": "v-data-table-group-header-row__column"
|
|
21814
|
+
"class": "v-data-table-group-header-row__column",
|
|
21815
|
+
"colspan": colspan.value
|
|
21797
21816
|
}, {
|
|
21798
21817
|
default: () => [createVNode(VBtn, {
|
|
21799
21818
|
"size": "small",
|
|
@@ -21802,8 +21821,7 @@ const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
21802
21821
|
"onClick": onClick
|
|
21803
21822
|
}, null), createElementVNode("span", null, [props.item.value]), createElementVNode("span", null, [createTextVNode("("), rows.value.length, createTextVNode(")")])]
|
|
21804
21823
|
});
|
|
21805
|
-
}
|
|
21806
|
-
if (column.key === 'data-table-select') {
|
|
21824
|
+
} else if (column.key === 'data-table-select') {
|
|
21807
21825
|
const modelValue = isSelected(rows.value);
|
|
21808
21826
|
const indeterminate = isSomeSelected(rows.value) && !modelValue;
|
|
21809
21827
|
const selectGroup = v => select(rows.value, v);
|
|
@@ -21813,13 +21831,18 @@ const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
21813
21831
|
indeterminate,
|
|
21814
21832
|
'onUpdate:modelValue': selectGroup
|
|
21815
21833
|
}
|
|
21816
|
-
}) ??
|
|
21817
|
-
"
|
|
21818
|
-
"
|
|
21819
|
-
|
|
21820
|
-
|
|
21834
|
+
}) ?? createVNode(VDataTableColumn, {
|
|
21835
|
+
"class": "v-data-table__td--select-row",
|
|
21836
|
+
"noPadding": true
|
|
21837
|
+
}, {
|
|
21838
|
+
default: () => [createVNode(VCheckboxBtn, {
|
|
21839
|
+
"modelValue": modelValue,
|
|
21840
|
+
"indeterminate": indeterminate,
|
|
21841
|
+
"onUpdate:modelValue": selectGroup
|
|
21842
|
+
}, null)]
|
|
21843
|
+
});
|
|
21821
21844
|
}
|
|
21822
|
-
return
|
|
21845
|
+
return '';
|
|
21823
21846
|
})]);
|
|
21824
21847
|
}
|
|
21825
21848
|
});
|
|
@@ -21830,6 +21853,14 @@ const makeVDataTableRowProps = propsFactory({
|
|
|
21830
21853
|
index: Number,
|
|
21831
21854
|
item: Object,
|
|
21832
21855
|
cellProps: [Object, Function],
|
|
21856
|
+
collapseIcon: {
|
|
21857
|
+
type: IconValue,
|
|
21858
|
+
default: '$collapse'
|
|
21859
|
+
},
|
|
21860
|
+
expandIcon: {
|
|
21861
|
+
type: IconValue,
|
|
21862
|
+
default: '$expand'
|
|
21863
|
+
},
|
|
21833
21864
|
onClick: EventProp(),
|
|
21834
21865
|
onContextmenu: EventProp(),
|
|
21835
21866
|
onDblclick: EventProp(),
|
|
@@ -21910,8 +21941,11 @@ const VDataTableRow = genericComponent()({
|
|
|
21910
21941
|
internalItem: slotProps.internalItem,
|
|
21911
21942
|
value: slotProps.value
|
|
21912
21943
|
}) : column.cellProps;
|
|
21944
|
+
const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand';
|
|
21945
|
+
const isEmpty = column.key === 'data-table-group' && column.width === 0 && !column.title;
|
|
21913
21946
|
return createVNode(VDataTableColumn, mergeProps({
|
|
21914
21947
|
"align": column.align,
|
|
21948
|
+
"indent": column.intent,
|
|
21915
21949
|
"class": {
|
|
21916
21950
|
'v-data-table__td--expanded-row': column.key === 'data-table-expand',
|
|
21917
21951
|
'v-data-table__td--select-row': column.key === 'data-table-select'
|
|
@@ -21922,7 +21956,8 @@ const VDataTableRow = genericComponent()({
|
|
|
21922
21956
|
"lastFixed": column.lastFixed,
|
|
21923
21957
|
"firstFixedEnd": column.firstFixedEnd,
|
|
21924
21958
|
"maxWidth": !mobile.value ? column.maxWidth : undefined,
|
|
21925
|
-
"noPadding":
|
|
21959
|
+
"noPadding": noPadding,
|
|
21960
|
+
"empty": isEmpty,
|
|
21926
21961
|
"nowrap": column.nowrap,
|
|
21927
21962
|
"width": !mobile.value ? column.width : undefined
|
|
21928
21963
|
}, cellProps, columnCellProps), {
|
|
@@ -21945,13 +21980,13 @@ const VDataTableRow = genericComponent()({
|
|
|
21945
21980
|
return slots['item.data-table-expand']?.({
|
|
21946
21981
|
...slotProps,
|
|
21947
21982
|
props: {
|
|
21948
|
-
icon: isExpanded(item) ?
|
|
21983
|
+
icon: isExpanded(item) ? props.collapseIcon : props.expandIcon,
|
|
21949
21984
|
size: 'small',
|
|
21950
21985
|
variant: 'text',
|
|
21951
21986
|
onClick: withModifiers(() => toggleExpand(item), ['stop'])
|
|
21952
21987
|
}
|
|
21953
21988
|
}) ?? createVNode(VBtn, {
|
|
21954
|
-
"icon": isExpanded(item) ?
|
|
21989
|
+
"icon": isExpanded(item) ? props.collapseIcon : props.expandIcon,
|
|
21955
21990
|
"size": "small",
|
|
21956
21991
|
"variant": "text",
|
|
21957
21992
|
"onClick": withModifiers(() => toggleExpand(item), ['stop'])
|
|
@@ -21989,6 +22024,8 @@ const makeVDataTableRowsProps = propsFactory({
|
|
|
21989
22024
|
},
|
|
21990
22025
|
rowProps: [Object, Function],
|
|
21991
22026
|
cellProps: [Object, Function],
|
|
22027
|
+
...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon']),
|
|
22028
|
+
...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon']),
|
|
21992
22029
|
...makeDisplayProps()
|
|
21993
22030
|
}, 'VDataTableRows');
|
|
21994
22031
|
const VDataTableRows = genericComponent()({
|
|
@@ -22023,6 +22060,7 @@ const VDataTableRows = genericComponent()({
|
|
|
22023
22060
|
mobile
|
|
22024
22061
|
} = useDisplay(props);
|
|
22025
22062
|
useRender(() => {
|
|
22063
|
+
const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon']);
|
|
22026
22064
|
if (props.loading && (!props.items.length || slots.loading)) {
|
|
22027
22065
|
return createElementVNode("tr", {
|
|
22028
22066
|
"class": "v-data-table-rows-loading",
|
|
@@ -22055,7 +22093,7 @@ const VDataTableRows = genericComponent()({
|
|
|
22055
22093
|
return slots['group-header'] ? slots['group-header'](slotProps) : createVNode(VDataTableGroupHeaderRow, mergeProps({
|
|
22056
22094
|
"key": `group-header_${item.id}`,
|
|
22057
22095
|
"item": item
|
|
22058
|
-
}, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps)), slots);
|
|
22096
|
+
}, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps), groupHeaderRowProps), slots);
|
|
22059
22097
|
}
|
|
22060
22098
|
const slotProps = {
|
|
22061
22099
|
index,
|
|
@@ -22077,6 +22115,8 @@ const VDataTableRows = genericComponent()({
|
|
|
22077
22115
|
index,
|
|
22078
22116
|
item,
|
|
22079
22117
|
cellProps: props.cellProps,
|
|
22118
|
+
collapseIcon: props.collapseIcon,
|
|
22119
|
+
expandIcon: props.expandIcon,
|
|
22080
22120
|
mobile: mobile.value
|
|
22081
22121
|
}, getPrefixedEventHandlers(attrs, ':row', () => slotProps), typeof props.rowProps === 'function' ? props.rowProps({
|
|
22082
22122
|
item: slotProps.item,
|
|
@@ -24734,6 +24774,10 @@ const makeVFileInputProps = propsFactory({
|
|
|
24734
24774
|
return typeof v === 'boolean' || [1000, 1024].includes(Number(v));
|
|
24735
24775
|
}
|
|
24736
24776
|
},
|
|
24777
|
+
truncateLength: {
|
|
24778
|
+
type: [Number, String],
|
|
24779
|
+
default: 22
|
|
24780
|
+
},
|
|
24737
24781
|
...makeVInputProps({
|
|
24738
24782
|
prependIcon: '$file'
|
|
24739
24783
|
}),
|
|
@@ -24791,7 +24835,8 @@ const VFileInput = genericComponent()({
|
|
|
24791
24835
|
name = '',
|
|
24792
24836
|
size = 0
|
|
24793
24837
|
} = file;
|
|
24794
|
-
|
|
24838
|
+
const truncatedText = truncateText(name);
|
|
24839
|
+
return !props.showSize ? truncatedText : `${truncatedText} (${humanReadableFileSize(size, base.value)})`;
|
|
24795
24840
|
}));
|
|
24796
24841
|
const counterValue = computed(() => {
|
|
24797
24842
|
const fileCount = model.value?.length ?? 0;
|
|
@@ -24831,6 +24876,11 @@ const VFileInput = genericComponent()({
|
|
|
24831
24876
|
callEvent(props['onClick:clear'], e);
|
|
24832
24877
|
});
|
|
24833
24878
|
}
|
|
24879
|
+
function truncateText(str) {
|
|
24880
|
+
if (str.length < Number(props.truncateLength)) return str;
|
|
24881
|
+
const charsKeepOneSide = Math.floor((Number(props.truncateLength) - 1) / 2);
|
|
24882
|
+
return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`;
|
|
24883
|
+
}
|
|
24834
24884
|
function onDragover(e) {
|
|
24835
24885
|
e.preventDefault();
|
|
24836
24886
|
e.stopImmediatePropagation();
|
|
@@ -31844,7 +31894,7 @@ function createVuetify$1() {
|
|
|
31844
31894
|
};
|
|
31845
31895
|
});
|
|
31846
31896
|
}
|
|
31847
|
-
const version$1 = "3.9.3-dev.2025-
|
|
31897
|
+
const version$1 = "3.9.3-dev.2025-08-01";
|
|
31848
31898
|
createVuetify$1.version = version$1;
|
|
31849
31899
|
|
|
31850
31900
|
// Vue's inject() can only be used in setup
|
|
@@ -31869,7 +31919,7 @@ const createVuetify = function () {
|
|
|
31869
31919
|
...options
|
|
31870
31920
|
});
|
|
31871
31921
|
};
|
|
31872
|
-
const version = "3.9.3-dev.2025-
|
|
31922
|
+
const version = "3.9.3-dev.2025-08-01";
|
|
31873
31923
|
createVuetify.version = version;
|
|
31874
31924
|
|
|
31875
31925
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useHotkey, useLayout, useLocale, useRtl, useTheme, version };
|