@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.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
|
*/
|
|
@@ -4807,6 +4807,8 @@
|
|
|
4807
4807
|
calendar: 'mdi-calendar',
|
|
4808
4808
|
treeviewCollapse: 'mdi-menu-down',
|
|
4809
4809
|
treeviewExpand: 'mdi-menu-right',
|
|
4810
|
+
tableGroupCollapse: 'mdi-chevron-down',
|
|
4811
|
+
tableGroupExpand: 'mdi-chevron-right',
|
|
4810
4812
|
eyeDropper: 'mdi-eyedropper',
|
|
4811
4813
|
upload: 'mdi-cloud-upload',
|
|
4812
4814
|
color: 'mdi-palette',
|
|
@@ -20943,6 +20945,8 @@
|
|
|
20943
20945
|
lastFixed: Boolean,
|
|
20944
20946
|
firstFixedEnd: Boolean,
|
|
20945
20947
|
noPadding: Boolean,
|
|
20948
|
+
indent: [Number, String],
|
|
20949
|
+
empty: Boolean,
|
|
20946
20950
|
tag: String,
|
|
20947
20951
|
width: [Number, String],
|
|
20948
20952
|
maxWidth: [Number, String],
|
|
@@ -20960,14 +20964,16 @@
|
|
|
20960
20964
|
'v-data-table-column--last-fixed': props.lastFixed,
|
|
20961
20965
|
'v-data-table-column--first-fixed-end': props.firstFixedEnd,
|
|
20962
20966
|
'v-data-table-column--no-padding': props.noPadding,
|
|
20963
|
-
'v-data-table-column--nowrap': props.nowrap
|
|
20967
|
+
'v-data-table-column--nowrap': props.nowrap,
|
|
20968
|
+
'v-data-table-column--empty': props.empty
|
|
20964
20969
|
}, `v-data-table-column--align-${props.align}`]),
|
|
20965
20970
|
"style": {
|
|
20966
20971
|
height: convertToUnit(props.height),
|
|
20967
20972
|
width: convertToUnit(props.width),
|
|
20968
20973
|
maxWidth: convertToUnit(props.maxWidth),
|
|
20969
20974
|
left: fixedSide === 'start' ? convertToUnit(props.fixedOffset || null) : undefined,
|
|
20970
|
-
right: fixedSide === 'end' ? convertToUnit(props.fixedEndOffset || null) : undefined
|
|
20975
|
+
right: fixedSide === 'end' ? convertToUnit(props.fixedEndOffset || null) : undefined,
|
|
20976
|
+
paddingInlineStart: props.indent ? convertToUnit(props.indent) : undefined
|
|
20971
20977
|
}
|
|
20972
20978
|
}, {
|
|
20973
20979
|
default: () => [slots.default?.()]
|
|
@@ -21382,6 +21388,7 @@
|
|
|
21382
21388
|
y
|
|
21383
21389
|
} = _ref2;
|
|
21384
21390
|
const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand';
|
|
21391
|
+
const isEmpty = column.key === 'data-table-group' && column.width === 0 && !column.title;
|
|
21385
21392
|
const headerProps = vue.mergeProps(props.headerProps ?? {}, column.headerProps ?? {});
|
|
21386
21393
|
return vue.createVNode(VDataTableColumn, vue.mergeProps({
|
|
21387
21394
|
"tag": "th",
|
|
@@ -21404,6 +21411,7 @@
|
|
|
21404
21411
|
"lastFixed": column.lastFixed,
|
|
21405
21412
|
"firstFixedEnd": column.firstFixedEnd,
|
|
21406
21413
|
"noPadding": noPadding,
|
|
21414
|
+
"empty": isEmpty,
|
|
21407
21415
|
"tabindex": column.sortable ? 0 : undefined,
|
|
21408
21416
|
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
|
21409
21417
|
"onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
|
|
@@ -21421,6 +21429,7 @@
|
|
|
21421
21429
|
getSortIcon
|
|
21422
21430
|
};
|
|
21423
21431
|
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
|
21432
|
+
if (isEmpty) return '';
|
|
21424
21433
|
if (column.key === 'data-table-select') {
|
|
21425
21434
|
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && vue.createVNode(VCheckboxBtn, {
|
|
21426
21435
|
"modelValue": allSelected.value,
|
|
@@ -21515,6 +21524,14 @@
|
|
|
21515
21524
|
item: {
|
|
21516
21525
|
type: Object,
|
|
21517
21526
|
required: true
|
|
21527
|
+
},
|
|
21528
|
+
groupCollapseIcon: {
|
|
21529
|
+
type: IconValue,
|
|
21530
|
+
default: '$tableGroupCollapse'
|
|
21531
|
+
},
|
|
21532
|
+
groupExpandIcon: {
|
|
21533
|
+
type: IconValue,
|
|
21534
|
+
default: '$tableGroupExpand'
|
|
21518
21535
|
}
|
|
21519
21536
|
}, 'VDataTableGroupHeaderRow');
|
|
21520
21537
|
const VDataTableGroupHeaderRow = genericComponent()({
|
|
@@ -21540,6 +21557,7 @@
|
|
|
21540
21557
|
const rows = vue.computed(() => {
|
|
21541
21558
|
return extractRows([props.item]);
|
|
21542
21559
|
});
|
|
21560
|
+
const colspan = vue.toRef(() => columns.value.length - (columns.value.some(c => c.key === 'data-table-select') ? 1 : 0));
|
|
21543
21561
|
return () => vue.createElementVNode("tr", {
|
|
21544
21562
|
"class": "v-data-table-group-header-row",
|
|
21545
21563
|
"style": {
|
|
@@ -21547,7 +21565,7 @@
|
|
|
21547
21565
|
}
|
|
21548
21566
|
}, [columns.value.map(column => {
|
|
21549
21567
|
if (column.key === 'data-table-group') {
|
|
21550
|
-
const icon = isGroupOpen(props.item) ?
|
|
21568
|
+
const icon = isGroupOpen(props.item) ? props.groupCollapseIcon : props.groupExpandIcon;
|
|
21551
21569
|
const onClick = () => toggleGroup(props.item);
|
|
21552
21570
|
return slots['data-table-group']?.({
|
|
21553
21571
|
item: props.item,
|
|
@@ -21557,7 +21575,8 @@
|
|
|
21557
21575
|
onClick
|
|
21558
21576
|
}
|
|
21559
21577
|
}) ?? vue.createVNode(VDataTableColumn, {
|
|
21560
|
-
"class": "v-data-table-group-header-row__column"
|
|
21578
|
+
"class": "v-data-table-group-header-row__column",
|
|
21579
|
+
"colspan": colspan.value
|
|
21561
21580
|
}, {
|
|
21562
21581
|
default: () => [vue.createVNode(VBtn, {
|
|
21563
21582
|
"size": "small",
|
|
@@ -21566,8 +21585,7 @@
|
|
|
21566
21585
|
"onClick": onClick
|
|
21567
21586
|
}, null), vue.createElementVNode("span", null, [props.item.value]), vue.createElementVNode("span", null, [vue.createTextVNode("("), rows.value.length, vue.createTextVNode(")")])]
|
|
21568
21587
|
});
|
|
21569
|
-
}
|
|
21570
|
-
if (column.key === 'data-table-select') {
|
|
21588
|
+
} else if (column.key === 'data-table-select') {
|
|
21571
21589
|
const modelValue = isSelected(rows.value);
|
|
21572
21590
|
const indeterminate = isSomeSelected(rows.value) && !modelValue;
|
|
21573
21591
|
const selectGroup = v => select(rows.value, v);
|
|
@@ -21577,13 +21595,18 @@
|
|
|
21577
21595
|
indeterminate,
|
|
21578
21596
|
'onUpdate:modelValue': selectGroup
|
|
21579
21597
|
}
|
|
21580
|
-
}) ?? vue.
|
|
21581
|
-
"
|
|
21582
|
-
"
|
|
21583
|
-
|
|
21584
|
-
|
|
21598
|
+
}) ?? vue.createVNode(VDataTableColumn, {
|
|
21599
|
+
"class": "v-data-table__td--select-row",
|
|
21600
|
+
"noPadding": true
|
|
21601
|
+
}, {
|
|
21602
|
+
default: () => [vue.createVNode(VCheckboxBtn, {
|
|
21603
|
+
"modelValue": modelValue,
|
|
21604
|
+
"indeterminate": indeterminate,
|
|
21605
|
+
"onUpdate:modelValue": selectGroup
|
|
21606
|
+
}, null)]
|
|
21607
|
+
});
|
|
21585
21608
|
}
|
|
21586
|
-
return
|
|
21609
|
+
return '';
|
|
21587
21610
|
})]);
|
|
21588
21611
|
}
|
|
21589
21612
|
});
|
|
@@ -21594,6 +21617,14 @@
|
|
|
21594
21617
|
index: Number,
|
|
21595
21618
|
item: Object,
|
|
21596
21619
|
cellProps: [Object, Function],
|
|
21620
|
+
collapseIcon: {
|
|
21621
|
+
type: IconValue,
|
|
21622
|
+
default: '$collapse'
|
|
21623
|
+
},
|
|
21624
|
+
expandIcon: {
|
|
21625
|
+
type: IconValue,
|
|
21626
|
+
default: '$expand'
|
|
21627
|
+
},
|
|
21597
21628
|
onClick: EventProp(),
|
|
21598
21629
|
onContextmenu: EventProp(),
|
|
21599
21630
|
onDblclick: EventProp(),
|
|
@@ -21674,8 +21705,11 @@
|
|
|
21674
21705
|
internalItem: slotProps.internalItem,
|
|
21675
21706
|
value: slotProps.value
|
|
21676
21707
|
}) : column.cellProps;
|
|
21708
|
+
const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand';
|
|
21709
|
+
const isEmpty = column.key === 'data-table-group' && column.width === 0 && !column.title;
|
|
21677
21710
|
return vue.createVNode(VDataTableColumn, vue.mergeProps({
|
|
21678
21711
|
"align": column.align,
|
|
21712
|
+
"indent": column.intent,
|
|
21679
21713
|
"class": {
|
|
21680
21714
|
'v-data-table__td--expanded-row': column.key === 'data-table-expand',
|
|
21681
21715
|
'v-data-table__td--select-row': column.key === 'data-table-select'
|
|
@@ -21686,7 +21720,8 @@
|
|
|
21686
21720
|
"lastFixed": column.lastFixed,
|
|
21687
21721
|
"firstFixedEnd": column.firstFixedEnd,
|
|
21688
21722
|
"maxWidth": !mobile.value ? column.maxWidth : undefined,
|
|
21689
|
-
"noPadding":
|
|
21723
|
+
"noPadding": noPadding,
|
|
21724
|
+
"empty": isEmpty,
|
|
21690
21725
|
"nowrap": column.nowrap,
|
|
21691
21726
|
"width": !mobile.value ? column.width : undefined
|
|
21692
21727
|
}, cellProps, columnCellProps), {
|
|
@@ -21709,13 +21744,13 @@
|
|
|
21709
21744
|
return slots['item.data-table-expand']?.({
|
|
21710
21745
|
...slotProps,
|
|
21711
21746
|
props: {
|
|
21712
|
-
icon: isExpanded(item) ?
|
|
21747
|
+
icon: isExpanded(item) ? props.collapseIcon : props.expandIcon,
|
|
21713
21748
|
size: 'small',
|
|
21714
21749
|
variant: 'text',
|
|
21715
21750
|
onClick: vue.withModifiers(() => toggleExpand(item), ['stop'])
|
|
21716
21751
|
}
|
|
21717
21752
|
}) ?? vue.createVNode(VBtn, {
|
|
21718
|
-
"icon": isExpanded(item) ?
|
|
21753
|
+
"icon": isExpanded(item) ? props.collapseIcon : props.expandIcon,
|
|
21719
21754
|
"size": "small",
|
|
21720
21755
|
"variant": "text",
|
|
21721
21756
|
"onClick": vue.withModifiers(() => toggleExpand(item), ['stop'])
|
|
@@ -21753,6 +21788,8 @@
|
|
|
21753
21788
|
},
|
|
21754
21789
|
rowProps: [Object, Function],
|
|
21755
21790
|
cellProps: [Object, Function],
|
|
21791
|
+
...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon']),
|
|
21792
|
+
...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon']),
|
|
21756
21793
|
...makeDisplayProps()
|
|
21757
21794
|
}, 'VDataTableRows');
|
|
21758
21795
|
const VDataTableRows = genericComponent()({
|
|
@@ -21787,6 +21824,7 @@
|
|
|
21787
21824
|
mobile
|
|
21788
21825
|
} = useDisplay(props);
|
|
21789
21826
|
useRender(() => {
|
|
21827
|
+
const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon']);
|
|
21790
21828
|
if (props.loading && (!props.items.length || slots.loading)) {
|
|
21791
21829
|
return vue.createElementVNode("tr", {
|
|
21792
21830
|
"class": "v-data-table-rows-loading",
|
|
@@ -21819,7 +21857,7 @@
|
|
|
21819
21857
|
return slots['group-header'] ? slots['group-header'](slotProps) : vue.createVNode(VDataTableGroupHeaderRow, vue.mergeProps({
|
|
21820
21858
|
"key": `group-header_${item.id}`,
|
|
21821
21859
|
"item": item
|
|
21822
|
-
}, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps)), slots);
|
|
21860
|
+
}, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps), groupHeaderRowProps), slots);
|
|
21823
21861
|
}
|
|
21824
21862
|
const slotProps = {
|
|
21825
21863
|
index,
|
|
@@ -21841,6 +21879,8 @@
|
|
|
21841
21879
|
index,
|
|
21842
21880
|
item,
|
|
21843
21881
|
cellProps: props.cellProps,
|
|
21882
|
+
collapseIcon: props.collapseIcon,
|
|
21883
|
+
expandIcon: props.expandIcon,
|
|
21844
21884
|
mobile: mobile.value
|
|
21845
21885
|
}, getPrefixedEventHandlers(attrs, ':row', () => slotProps), typeof props.rowProps === 'function' ? props.rowProps({
|
|
21846
21886
|
item: slotProps.item,
|
|
@@ -24498,6 +24538,10 @@
|
|
|
24498
24538
|
return typeof v === 'boolean' || [1000, 1024].includes(Number(v));
|
|
24499
24539
|
}
|
|
24500
24540
|
},
|
|
24541
|
+
truncateLength: {
|
|
24542
|
+
type: [Number, String],
|
|
24543
|
+
default: 22
|
|
24544
|
+
},
|
|
24501
24545
|
...makeVInputProps({
|
|
24502
24546
|
prependIcon: '$file'
|
|
24503
24547
|
}),
|
|
@@ -24555,7 +24599,8 @@
|
|
|
24555
24599
|
name = '',
|
|
24556
24600
|
size = 0
|
|
24557
24601
|
} = file;
|
|
24558
|
-
|
|
24602
|
+
const truncatedText = truncateText(name);
|
|
24603
|
+
return !props.showSize ? truncatedText : `${truncatedText} (${humanReadableFileSize(size, base.value)})`;
|
|
24559
24604
|
}));
|
|
24560
24605
|
const counterValue = vue.computed(() => {
|
|
24561
24606
|
const fileCount = model.value?.length ?? 0;
|
|
@@ -24595,6 +24640,11 @@
|
|
|
24595
24640
|
callEvent(props['onClick:clear'], e);
|
|
24596
24641
|
});
|
|
24597
24642
|
}
|
|
24643
|
+
function truncateText(str) {
|
|
24644
|
+
if (str.length < Number(props.truncateLength)) return str;
|
|
24645
|
+
const charsKeepOneSide = Math.floor((Number(props.truncateLength) - 1) / 2);
|
|
24646
|
+
return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`;
|
|
24647
|
+
}
|
|
24598
24648
|
function onDragover(e) {
|
|
24599
24649
|
e.preventDefault();
|
|
24600
24650
|
e.stopImmediatePropagation();
|
|
@@ -35577,7 +35627,7 @@
|
|
|
35577
35627
|
};
|
|
35578
35628
|
});
|
|
35579
35629
|
}
|
|
35580
|
-
const version$1 = "3.9.3-dev.2025-
|
|
35630
|
+
const version$1 = "3.9.3-dev.2025-08-01";
|
|
35581
35631
|
createVuetify$1.version = version$1;
|
|
35582
35632
|
|
|
35583
35633
|
// Vue's inject() can only be used in setup
|
|
@@ -35875,7 +35925,7 @@
|
|
|
35875
35925
|
|
|
35876
35926
|
/* eslint-disable local-rules/sort-imports */
|
|
35877
35927
|
|
|
35878
|
-
const version = "3.9.3-dev.2025-
|
|
35928
|
+
const version = "3.9.3-dev.2025-08-01";
|
|
35879
35929
|
|
|
35880
35930
|
/* eslint-disable local-rules/sort-imports */
|
|
35881
35931
|
|