@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-labs.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
|
*/
|
|
@@ -4803,6 +4803,8 @@ const aliases = {
|
|
|
4803
4803
|
calendar: 'mdi-calendar',
|
|
4804
4804
|
treeviewCollapse: 'mdi-menu-down',
|
|
4805
4805
|
treeviewExpand: 'mdi-menu-right',
|
|
4806
|
+
tableGroupCollapse: 'mdi-chevron-down',
|
|
4807
|
+
tableGroupExpand: 'mdi-chevron-right',
|
|
4806
4808
|
eyeDropper: 'mdi-eyedropper',
|
|
4807
4809
|
upload: 'mdi-cloud-upload',
|
|
4808
4810
|
color: 'mdi-palette',
|
|
@@ -20939,6 +20941,8 @@ const VDataTableColumn = defineFunctionalComponent({
|
|
|
20939
20941
|
lastFixed: Boolean,
|
|
20940
20942
|
firstFixedEnd: Boolean,
|
|
20941
20943
|
noPadding: Boolean,
|
|
20944
|
+
indent: [Number, String],
|
|
20945
|
+
empty: Boolean,
|
|
20942
20946
|
tag: String,
|
|
20943
20947
|
width: [Number, String],
|
|
20944
20948
|
maxWidth: [Number, String],
|
|
@@ -20956,14 +20960,16 @@ const VDataTableColumn = defineFunctionalComponent({
|
|
|
20956
20960
|
'v-data-table-column--last-fixed': props.lastFixed,
|
|
20957
20961
|
'v-data-table-column--first-fixed-end': props.firstFixedEnd,
|
|
20958
20962
|
'v-data-table-column--no-padding': props.noPadding,
|
|
20959
|
-
'v-data-table-column--nowrap': props.nowrap
|
|
20963
|
+
'v-data-table-column--nowrap': props.nowrap,
|
|
20964
|
+
'v-data-table-column--empty': props.empty
|
|
20960
20965
|
}, `v-data-table-column--align-${props.align}`]),
|
|
20961
20966
|
"style": {
|
|
20962
20967
|
height: convertToUnit(props.height),
|
|
20963
20968
|
width: convertToUnit(props.width),
|
|
20964
20969
|
maxWidth: convertToUnit(props.maxWidth),
|
|
20965
20970
|
left: fixedSide === 'start' ? convertToUnit(props.fixedOffset || null) : undefined,
|
|
20966
|
-
right: fixedSide === 'end' ? convertToUnit(props.fixedEndOffset || null) : undefined
|
|
20971
|
+
right: fixedSide === 'end' ? convertToUnit(props.fixedEndOffset || null) : undefined,
|
|
20972
|
+
paddingInlineStart: props.indent ? convertToUnit(props.indent) : undefined
|
|
20967
20973
|
}
|
|
20968
20974
|
}, {
|
|
20969
20975
|
default: () => [slots.default?.()]
|
|
@@ -21378,6 +21384,7 @@ const VDataTableHeaders = genericComponent()({
|
|
|
21378
21384
|
y
|
|
21379
21385
|
} = _ref2;
|
|
21380
21386
|
const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand';
|
|
21387
|
+
const isEmpty = column.key === 'data-table-group' && column.width === 0 && !column.title;
|
|
21381
21388
|
const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {});
|
|
21382
21389
|
return createVNode(VDataTableColumn, mergeProps({
|
|
21383
21390
|
"tag": "th",
|
|
@@ -21400,6 +21407,7 @@ const VDataTableHeaders = genericComponent()({
|
|
|
21400
21407
|
"lastFixed": column.lastFixed,
|
|
21401
21408
|
"firstFixedEnd": column.firstFixedEnd,
|
|
21402
21409
|
"noPadding": noPadding,
|
|
21410
|
+
"empty": isEmpty,
|
|
21403
21411
|
"tabindex": column.sortable ? 0 : undefined,
|
|
21404
21412
|
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
|
21405
21413
|
"onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
|
|
@@ -21417,6 +21425,7 @@ const VDataTableHeaders = genericComponent()({
|
|
|
21417
21425
|
getSortIcon
|
|
21418
21426
|
};
|
|
21419
21427
|
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
|
21428
|
+
if (isEmpty) return '';
|
|
21420
21429
|
if (column.key === 'data-table-select') {
|
|
21421
21430
|
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && createVNode(VCheckboxBtn, {
|
|
21422
21431
|
"modelValue": allSelected.value,
|
|
@@ -21511,6 +21520,14 @@ const makeVDataTableGroupHeaderRowProps = propsFactory({
|
|
|
21511
21520
|
item: {
|
|
21512
21521
|
type: Object,
|
|
21513
21522
|
required: true
|
|
21523
|
+
},
|
|
21524
|
+
groupCollapseIcon: {
|
|
21525
|
+
type: IconValue,
|
|
21526
|
+
default: '$tableGroupCollapse'
|
|
21527
|
+
},
|
|
21528
|
+
groupExpandIcon: {
|
|
21529
|
+
type: IconValue,
|
|
21530
|
+
default: '$tableGroupExpand'
|
|
21514
21531
|
}
|
|
21515
21532
|
}, 'VDataTableGroupHeaderRow');
|
|
21516
21533
|
const VDataTableGroupHeaderRow = genericComponent()({
|
|
@@ -21536,6 +21553,7 @@ const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
21536
21553
|
const rows = computed(() => {
|
|
21537
21554
|
return extractRows([props.item]);
|
|
21538
21555
|
});
|
|
21556
|
+
const colspan = toRef(() => columns.value.length - (columns.value.some(c => c.key === 'data-table-select') ? 1 : 0));
|
|
21539
21557
|
return () => createElementVNode("tr", {
|
|
21540
21558
|
"class": "v-data-table-group-header-row",
|
|
21541
21559
|
"style": {
|
|
@@ -21543,7 +21561,7 @@ const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
21543
21561
|
}
|
|
21544
21562
|
}, [columns.value.map(column => {
|
|
21545
21563
|
if (column.key === 'data-table-group') {
|
|
21546
|
-
const icon = isGroupOpen(props.item) ?
|
|
21564
|
+
const icon = isGroupOpen(props.item) ? props.groupCollapseIcon : props.groupExpandIcon;
|
|
21547
21565
|
const onClick = () => toggleGroup(props.item);
|
|
21548
21566
|
return slots['data-table-group']?.({
|
|
21549
21567
|
item: props.item,
|
|
@@ -21553,7 +21571,8 @@ const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
21553
21571
|
onClick
|
|
21554
21572
|
}
|
|
21555
21573
|
}) ?? createVNode(VDataTableColumn, {
|
|
21556
|
-
"class": "v-data-table-group-header-row__column"
|
|
21574
|
+
"class": "v-data-table-group-header-row__column",
|
|
21575
|
+
"colspan": colspan.value
|
|
21557
21576
|
}, {
|
|
21558
21577
|
default: () => [createVNode(VBtn, {
|
|
21559
21578
|
"size": "small",
|
|
@@ -21562,8 +21581,7 @@ const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
21562
21581
|
"onClick": onClick
|
|
21563
21582
|
}, null), createElementVNode("span", null, [props.item.value]), createElementVNode("span", null, [createTextVNode("("), rows.value.length, createTextVNode(")")])]
|
|
21564
21583
|
});
|
|
21565
|
-
}
|
|
21566
|
-
if (column.key === 'data-table-select') {
|
|
21584
|
+
} else if (column.key === 'data-table-select') {
|
|
21567
21585
|
const modelValue = isSelected(rows.value);
|
|
21568
21586
|
const indeterminate = isSomeSelected(rows.value) && !modelValue;
|
|
21569
21587
|
const selectGroup = v => select(rows.value, v);
|
|
@@ -21573,13 +21591,18 @@ const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
21573
21591
|
indeterminate,
|
|
21574
21592
|
'onUpdate:modelValue': selectGroup
|
|
21575
21593
|
}
|
|
21576
|
-
}) ??
|
|
21577
|
-
"
|
|
21578
|
-
"
|
|
21579
|
-
|
|
21580
|
-
|
|
21594
|
+
}) ?? createVNode(VDataTableColumn, {
|
|
21595
|
+
"class": "v-data-table__td--select-row",
|
|
21596
|
+
"noPadding": true
|
|
21597
|
+
}, {
|
|
21598
|
+
default: () => [createVNode(VCheckboxBtn, {
|
|
21599
|
+
"modelValue": modelValue,
|
|
21600
|
+
"indeterminate": indeterminate,
|
|
21601
|
+
"onUpdate:modelValue": selectGroup
|
|
21602
|
+
}, null)]
|
|
21603
|
+
});
|
|
21581
21604
|
}
|
|
21582
|
-
return
|
|
21605
|
+
return '';
|
|
21583
21606
|
})]);
|
|
21584
21607
|
}
|
|
21585
21608
|
});
|
|
@@ -21590,6 +21613,14 @@ const makeVDataTableRowProps = propsFactory({
|
|
|
21590
21613
|
index: Number,
|
|
21591
21614
|
item: Object,
|
|
21592
21615
|
cellProps: [Object, Function],
|
|
21616
|
+
collapseIcon: {
|
|
21617
|
+
type: IconValue,
|
|
21618
|
+
default: '$collapse'
|
|
21619
|
+
},
|
|
21620
|
+
expandIcon: {
|
|
21621
|
+
type: IconValue,
|
|
21622
|
+
default: '$expand'
|
|
21623
|
+
},
|
|
21593
21624
|
onClick: EventProp(),
|
|
21594
21625
|
onContextmenu: EventProp(),
|
|
21595
21626
|
onDblclick: EventProp(),
|
|
@@ -21670,8 +21701,11 @@ const VDataTableRow = genericComponent()({
|
|
|
21670
21701
|
internalItem: slotProps.internalItem,
|
|
21671
21702
|
value: slotProps.value
|
|
21672
21703
|
}) : column.cellProps;
|
|
21704
|
+
const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand';
|
|
21705
|
+
const isEmpty = column.key === 'data-table-group' && column.width === 0 && !column.title;
|
|
21673
21706
|
return createVNode(VDataTableColumn, mergeProps({
|
|
21674
21707
|
"align": column.align,
|
|
21708
|
+
"indent": column.intent,
|
|
21675
21709
|
"class": {
|
|
21676
21710
|
'v-data-table__td--expanded-row': column.key === 'data-table-expand',
|
|
21677
21711
|
'v-data-table__td--select-row': column.key === 'data-table-select'
|
|
@@ -21682,7 +21716,8 @@ const VDataTableRow = genericComponent()({
|
|
|
21682
21716
|
"lastFixed": column.lastFixed,
|
|
21683
21717
|
"firstFixedEnd": column.firstFixedEnd,
|
|
21684
21718
|
"maxWidth": !mobile.value ? column.maxWidth : undefined,
|
|
21685
|
-
"noPadding":
|
|
21719
|
+
"noPadding": noPadding,
|
|
21720
|
+
"empty": isEmpty,
|
|
21686
21721
|
"nowrap": column.nowrap,
|
|
21687
21722
|
"width": !mobile.value ? column.width : undefined
|
|
21688
21723
|
}, cellProps, columnCellProps), {
|
|
@@ -21705,13 +21740,13 @@ const VDataTableRow = genericComponent()({
|
|
|
21705
21740
|
return slots['item.data-table-expand']?.({
|
|
21706
21741
|
...slotProps,
|
|
21707
21742
|
props: {
|
|
21708
|
-
icon: isExpanded(item) ?
|
|
21743
|
+
icon: isExpanded(item) ? props.collapseIcon : props.expandIcon,
|
|
21709
21744
|
size: 'small',
|
|
21710
21745
|
variant: 'text',
|
|
21711
21746
|
onClick: withModifiers(() => toggleExpand(item), ['stop'])
|
|
21712
21747
|
}
|
|
21713
21748
|
}) ?? createVNode(VBtn, {
|
|
21714
|
-
"icon": isExpanded(item) ?
|
|
21749
|
+
"icon": isExpanded(item) ? props.collapseIcon : props.expandIcon,
|
|
21715
21750
|
"size": "small",
|
|
21716
21751
|
"variant": "text",
|
|
21717
21752
|
"onClick": withModifiers(() => toggleExpand(item), ['stop'])
|
|
@@ -21749,6 +21784,8 @@ const makeVDataTableRowsProps = propsFactory({
|
|
|
21749
21784
|
},
|
|
21750
21785
|
rowProps: [Object, Function],
|
|
21751
21786
|
cellProps: [Object, Function],
|
|
21787
|
+
...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon']),
|
|
21788
|
+
...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon']),
|
|
21752
21789
|
...makeDisplayProps()
|
|
21753
21790
|
}, 'VDataTableRows');
|
|
21754
21791
|
const VDataTableRows = genericComponent()({
|
|
@@ -21783,6 +21820,7 @@ const VDataTableRows = genericComponent()({
|
|
|
21783
21820
|
mobile
|
|
21784
21821
|
} = useDisplay(props);
|
|
21785
21822
|
useRender(() => {
|
|
21823
|
+
const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon']);
|
|
21786
21824
|
if (props.loading && (!props.items.length || slots.loading)) {
|
|
21787
21825
|
return createElementVNode("tr", {
|
|
21788
21826
|
"class": "v-data-table-rows-loading",
|
|
@@ -21815,7 +21853,7 @@ const VDataTableRows = genericComponent()({
|
|
|
21815
21853
|
return slots['group-header'] ? slots['group-header'](slotProps) : createVNode(VDataTableGroupHeaderRow, mergeProps({
|
|
21816
21854
|
"key": `group-header_${item.id}`,
|
|
21817
21855
|
"item": item
|
|
21818
|
-
}, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps)), slots);
|
|
21856
|
+
}, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps), groupHeaderRowProps), slots);
|
|
21819
21857
|
}
|
|
21820
21858
|
const slotProps = {
|
|
21821
21859
|
index,
|
|
@@ -21837,6 +21875,8 @@ const VDataTableRows = genericComponent()({
|
|
|
21837
21875
|
index,
|
|
21838
21876
|
item,
|
|
21839
21877
|
cellProps: props.cellProps,
|
|
21878
|
+
collapseIcon: props.collapseIcon,
|
|
21879
|
+
expandIcon: props.expandIcon,
|
|
21840
21880
|
mobile: mobile.value
|
|
21841
21881
|
}, getPrefixedEventHandlers(attrs, ':row', () => slotProps), typeof props.rowProps === 'function' ? props.rowProps({
|
|
21842
21882
|
item: slotProps.item,
|
|
@@ -24494,6 +24534,10 @@ const makeVFileInputProps = propsFactory({
|
|
|
24494
24534
|
return typeof v === 'boolean' || [1000, 1024].includes(Number(v));
|
|
24495
24535
|
}
|
|
24496
24536
|
},
|
|
24537
|
+
truncateLength: {
|
|
24538
|
+
type: [Number, String],
|
|
24539
|
+
default: 22
|
|
24540
|
+
},
|
|
24497
24541
|
...makeVInputProps({
|
|
24498
24542
|
prependIcon: '$file'
|
|
24499
24543
|
}),
|
|
@@ -24551,7 +24595,8 @@ const VFileInput = genericComponent()({
|
|
|
24551
24595
|
name = '',
|
|
24552
24596
|
size = 0
|
|
24553
24597
|
} = file;
|
|
24554
|
-
|
|
24598
|
+
const truncatedText = truncateText(name);
|
|
24599
|
+
return !props.showSize ? truncatedText : `${truncatedText} (${humanReadableFileSize(size, base.value)})`;
|
|
24555
24600
|
}));
|
|
24556
24601
|
const counterValue = computed(() => {
|
|
24557
24602
|
const fileCount = model.value?.length ?? 0;
|
|
@@ -24591,6 +24636,11 @@ const VFileInput = genericComponent()({
|
|
|
24591
24636
|
callEvent(props['onClick:clear'], e);
|
|
24592
24637
|
});
|
|
24593
24638
|
}
|
|
24639
|
+
function truncateText(str) {
|
|
24640
|
+
if (str.length < Number(props.truncateLength)) return str;
|
|
24641
|
+
const charsKeepOneSide = Math.floor((Number(props.truncateLength) - 1) / 2);
|
|
24642
|
+
return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`;
|
|
24643
|
+
}
|
|
24594
24644
|
function onDragover(e) {
|
|
24595
24645
|
e.preventDefault();
|
|
24596
24646
|
e.stopImmediatePropagation();
|
|
@@ -35573,7 +35623,7 @@ function createVuetify$1() {
|
|
|
35573
35623
|
};
|
|
35574
35624
|
});
|
|
35575
35625
|
}
|
|
35576
|
-
const version$1 = "3.9.3-dev.2025-
|
|
35626
|
+
const version$1 = "3.9.3-dev.2025-08-01";
|
|
35577
35627
|
createVuetify$1.version = version$1;
|
|
35578
35628
|
|
|
35579
35629
|
// Vue's inject() can only be used in setup
|
|
@@ -35871,7 +35921,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
35871
35921
|
|
|
35872
35922
|
/* eslint-disable local-rules/sort-imports */
|
|
35873
35923
|
|
|
35874
|
-
const version = "3.9.3-dev.2025-
|
|
35924
|
+
const version = "3.9.3-dev.2025-08-01";
|
|
35875
35925
|
|
|
35876
35926
|
/* eslint-disable local-rules/sort-imports */
|
|
35877
35927
|
|