@vuetify/nightly 3.10.4-dev.2025-10-02 → 3.10.4-dev.2025-10-06
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 +5 -3
- package/dist/json/attributes.json +3641 -3625
- package/dist/json/importMap-labs.json +30 -30
- package/dist/json/importMap.json +178 -178
- package/dist/json/tags.json +4 -0
- package/dist/json/web-types.json +6554 -6514
- package/dist/vuetify-labs.cjs +80 -25
- package/dist/vuetify-labs.css +4520 -4520
- package/dist/vuetify-labs.d.ts +194 -99
- package/dist/vuetify-labs.esm.js +80 -25
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +80 -25
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +80 -25
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +6205 -6205
- package/dist/vuetify.d.ts +194 -99
- package/dist/vuetify.esm.js +80 -25
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +80 -25
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +37 -32
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.d.ts +52 -11
- package/lib/components/VDataIterator/VDataIterator.js +2 -0
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.d.ts +78 -18
- package/lib/components/VDataTable/VDataTable.js +9 -5
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +2 -2
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +54 -13
- package/lib/components/VDataTable/VDataTableServer.js +8 -4
- package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +54 -13
- package/lib/components/VDataTable/VDataTableVirtual.js +7 -3
- package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.d.ts +36 -8
- package/lib/components/VDataTable/composables/sort.js +55 -14
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +65 -65
- package/lib/framework.js +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.10.4-dev.2025-10-
|
|
2
|
+
* Vuetify v3.10.4-dev.2025-10-06
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -20443,58 +20443,99 @@
|
|
|
20443
20443
|
// Types
|
|
20444
20444
|
|
|
20445
20445
|
const makeDataTableSortProps = propsFactory({
|
|
20446
|
+
initialSortOrder: {
|
|
20447
|
+
type: String,
|
|
20448
|
+
default: 'asc',
|
|
20449
|
+
validator: v => !v || ['asc', 'desc'].includes(v)
|
|
20450
|
+
},
|
|
20446
20451
|
sortBy: {
|
|
20447
20452
|
type: Array,
|
|
20448
20453
|
default: () => []
|
|
20449
20454
|
},
|
|
20450
20455
|
customKeySort: Object,
|
|
20451
|
-
multiSort:
|
|
20456
|
+
multiSort: {
|
|
20457
|
+
type: [Boolean, Object],
|
|
20458
|
+
default: false
|
|
20459
|
+
},
|
|
20452
20460
|
mustSort: Boolean
|
|
20453
20461
|
}, 'DataTable-sort');
|
|
20454
20462
|
const VDataTableSortSymbol = Symbol.for('vuetify:data-table-sort');
|
|
20455
20463
|
function createSort(props) {
|
|
20464
|
+
const initialSortOrder = vue.toRef(() => props.initialSortOrder);
|
|
20456
20465
|
const sortBy = useProxiedModel(props, 'sortBy');
|
|
20457
20466
|
const mustSort = vue.toRef(() => props.mustSort);
|
|
20458
20467
|
const multiSort = vue.toRef(() => props.multiSort);
|
|
20459
20468
|
return {
|
|
20469
|
+
initialSortOrder,
|
|
20460
20470
|
sortBy,
|
|
20461
|
-
|
|
20462
|
-
|
|
20471
|
+
multiSort,
|
|
20472
|
+
mustSort
|
|
20473
|
+
};
|
|
20474
|
+
}
|
|
20475
|
+
function resolveMultiSort(multiSort, event) {
|
|
20476
|
+
if (!isObject(multiSort)) {
|
|
20477
|
+
return {
|
|
20478
|
+
active: !!multiSort
|
|
20479
|
+
};
|
|
20480
|
+
}
|
|
20481
|
+
const {
|
|
20482
|
+
key,
|
|
20483
|
+
mode,
|
|
20484
|
+
modifier
|
|
20485
|
+
} = multiSort;
|
|
20486
|
+
const reverseMode = modifier === 'alt' && event?.altKey || modifier === 'shift' && event?.shiftKey;
|
|
20487
|
+
return {
|
|
20488
|
+
active: !key || event?.ctrlKey || event?.metaKey || false,
|
|
20489
|
+
mode: reverseMode ? mode === 'append' ? 'prepend' : 'append' : mode
|
|
20463
20490
|
};
|
|
20464
20491
|
}
|
|
20465
20492
|
function provideSort(options) {
|
|
20466
20493
|
const {
|
|
20494
|
+
initialSortOrder,
|
|
20467
20495
|
sortBy,
|
|
20468
20496
|
mustSort,
|
|
20469
20497
|
multiSort,
|
|
20470
20498
|
page
|
|
20471
20499
|
} = options;
|
|
20472
|
-
const toggleSort = column => {
|
|
20500
|
+
const toggleSort = (column, event) => {
|
|
20473
20501
|
if (column.key == null) return;
|
|
20474
20502
|
let newSortBy = sortBy.value.map(x => ({
|
|
20475
20503
|
...x
|
|
20476
20504
|
})) ?? [];
|
|
20477
20505
|
const item = newSortBy.find(x => x.key === column.key);
|
|
20506
|
+
const initialOrder = initialSortOrder.value;
|
|
20507
|
+
const secondaryOrder = initialSortOrder.value === 'desc' ? 'asc' : 'desc';
|
|
20478
20508
|
if (!item) {
|
|
20479
|
-
|
|
20480
|
-
|
|
20481
|
-
|
|
20482
|
-
|
|
20483
|
-
|
|
20509
|
+
const {
|
|
20510
|
+
active,
|
|
20511
|
+
mode
|
|
20512
|
+
} = resolveMultiSort(multiSort.value, event);
|
|
20513
|
+
if (active) {
|
|
20514
|
+
if (mode === 'prepend') {
|
|
20515
|
+
newSortBy.unshift({
|
|
20516
|
+
key: column.key,
|
|
20517
|
+
order: initialOrder
|
|
20518
|
+
});
|
|
20519
|
+
} else {
|
|
20520
|
+
newSortBy.push({
|
|
20521
|
+
key: column.key,
|
|
20522
|
+
order: initialOrder
|
|
20523
|
+
});
|
|
20524
|
+
}
|
|
20484
20525
|
} else {
|
|
20485
20526
|
newSortBy = [{
|
|
20486
20527
|
key: column.key,
|
|
20487
|
-
order:
|
|
20528
|
+
order: initialOrder
|
|
20488
20529
|
}];
|
|
20489
20530
|
}
|
|
20490
|
-
} else if (item.order ===
|
|
20531
|
+
} else if (item.order === secondaryOrder) {
|
|
20491
20532
|
if (mustSort.value && newSortBy.length === 1) {
|
|
20492
|
-
item.order =
|
|
20533
|
+
item.order = initialSortOrder.value;
|
|
20493
20534
|
} else {
|
|
20494
20535
|
newSortBy = newSortBy.filter(x => x.key !== column.key);
|
|
20495
20536
|
}
|
|
20496
20537
|
} else {
|
|
20497
|
-
item.order =
|
|
20538
|
+
item.order = secondaryOrder;
|
|
20498
20539
|
}
|
|
20499
20540
|
sortBy.value = newSortBy;
|
|
20500
20541
|
if (page) page.value = 1;
|
|
@@ -20684,6 +20725,7 @@
|
|
|
20684
20725
|
transform: item => item.raw
|
|
20685
20726
|
});
|
|
20686
20727
|
const {
|
|
20728
|
+
initialSortOrder,
|
|
20687
20729
|
sortBy,
|
|
20688
20730
|
multiSort,
|
|
20689
20731
|
mustSort
|
|
@@ -20695,6 +20737,7 @@
|
|
|
20695
20737
|
const {
|
|
20696
20738
|
toggleSort
|
|
20697
20739
|
} = provideSort({
|
|
20740
|
+
initialSortOrder,
|
|
20698
20741
|
sortBy,
|
|
20699
20742
|
multiSort,
|
|
20700
20743
|
mustSort,
|
|
@@ -21697,7 +21740,7 @@
|
|
|
21697
21740
|
}
|
|
21698
21741
|
function handleEnterKeyPress(event, column) {
|
|
21699
21742
|
if (event.key === 'Enter' && !props.disableSort) {
|
|
21700
|
-
toggleSort(column);
|
|
21743
|
+
toggleSort(column, event);
|
|
21701
21744
|
}
|
|
21702
21745
|
}
|
|
21703
21746
|
function getSortIcon(column) {
|
|
@@ -21759,7 +21802,7 @@
|
|
|
21759
21802
|
"noPadding": noPadding,
|
|
21760
21803
|
"empty": isEmpty,
|
|
21761
21804
|
"tabindex": column.sortable ? 0 : undefined,
|
|
21762
|
-
"onClick": column.sortable ?
|
|
21805
|
+
"onClick": column.sortable ? event => toggleSort(column, event) : undefined,
|
|
21763
21806
|
"onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
|
|
21764
21807
|
}, headerProps), {
|
|
21765
21808
|
default: () => {
|
|
@@ -22380,7 +22423,7 @@
|
|
|
22380
22423
|
...makeDataTableItemsProps(),
|
|
22381
22424
|
...makeDataTableSelectProps(),
|
|
22382
22425
|
...makeDataTableSortProps(),
|
|
22383
|
-
...makeVDataTableHeadersProps(),
|
|
22426
|
+
...omit(makeVDataTableHeadersProps(), ['multiSort']),
|
|
22384
22427
|
...makeVTableProps()
|
|
22385
22428
|
}, 'DataTable');
|
|
22386
22429
|
const makeVDataTableProps = propsFactory({
|
|
@@ -22411,6 +22454,7 @@
|
|
|
22411
22454
|
groupBy
|
|
22412
22455
|
} = createGroupBy(props);
|
|
22413
22456
|
const {
|
|
22457
|
+
initialSortOrder,
|
|
22414
22458
|
sortBy,
|
|
22415
22459
|
multiSort,
|
|
22416
22460
|
mustSort
|
|
@@ -22446,6 +22490,7 @@
|
|
|
22446
22490
|
const {
|
|
22447
22491
|
toggleSort
|
|
22448
22492
|
} = provideSort({
|
|
22493
|
+
initialSortOrder,
|
|
22449
22494
|
sortBy,
|
|
22450
22495
|
multiSort,
|
|
22451
22496
|
mustSort,
|
|
@@ -22550,7 +22595,7 @@
|
|
|
22550
22595
|
}));
|
|
22551
22596
|
useRender(() => {
|
|
22552
22597
|
const dataTableFooterProps = VDataTableFooter.filterProps(props);
|
|
22553
|
-
const dataTableHeadersProps = VDataTableHeaders.filterProps(props);
|
|
22598
|
+
const dataTableHeadersProps = VDataTableHeaders.filterProps(omit(props, ['multiSort']));
|
|
22554
22599
|
const dataTableRowsProps = VDataTableRows.filterProps(props);
|
|
22555
22600
|
const tableProps = VTable.filterProps(props);
|
|
22556
22601
|
return vue.createVNode(VTable, vue.mergeProps({
|
|
@@ -22565,7 +22610,9 @@
|
|
|
22565
22610
|
top: () => slots.top?.(slotProps.value),
|
|
22566
22611
|
default: () => slots.default ? slots.default(slotProps.value) : vue.createElementVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createElementVNode("thead", {
|
|
22567
22612
|
"key": "thead"
|
|
22568
|
-
}, [vue.createVNode(VDataTableHeaders,
|
|
22613
|
+
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
22614
|
+
"multiSort": !!props.multiSort
|
|
22615
|
+
}), slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createElementVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
|
|
22569
22616
|
"items": paginatedItems.value
|
|
22570
22617
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
22571
22618
|
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
@@ -22604,6 +22651,7 @@
|
|
|
22604
22651
|
groupBy
|
|
22605
22652
|
} = createGroupBy(props);
|
|
22606
22653
|
const {
|
|
22654
|
+
initialSortOrder,
|
|
22607
22655
|
sortBy,
|
|
22608
22656
|
multiSort,
|
|
22609
22657
|
mustSort
|
|
@@ -22635,6 +22683,7 @@
|
|
|
22635
22683
|
const {
|
|
22636
22684
|
toggleSort
|
|
22637
22685
|
} = provideSort({
|
|
22686
|
+
initialSortOrder,
|
|
22638
22687
|
sortBy,
|
|
22639
22688
|
multiSort,
|
|
22640
22689
|
mustSort
|
|
@@ -22727,7 +22776,7 @@
|
|
|
22727
22776
|
headers: headers.value
|
|
22728
22777
|
}));
|
|
22729
22778
|
useRender(() => {
|
|
22730
|
-
const dataTableHeadersProps = VDataTableHeaders.filterProps(props);
|
|
22779
|
+
const dataTableHeadersProps = VDataTableHeaders.filterProps(omit(props, ['multiSort']));
|
|
22731
22780
|
const dataTableRowsProps = VDataTableRows.filterProps(props);
|
|
22732
22781
|
const tableProps = VTable.filterProps(props);
|
|
22733
22782
|
return vue.createVNode(VTable, vue.mergeProps({
|
|
@@ -22749,7 +22798,9 @@
|
|
|
22749
22798
|
}
|
|
22750
22799
|
}, [vue.createElementVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createElementVNode("thead", {
|
|
22751
22800
|
"key": "thead"
|
|
22752
|
-
}, [vue.createVNode(VDataTableHeaders,
|
|
22801
|
+
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
22802
|
+
"multiSort": !!props.multiSort
|
|
22803
|
+
}), slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createElementVNode("tbody", {
|
|
22753
22804
|
"key": "tbody"
|
|
22754
22805
|
}, [vue.createElementVNode("tr", {
|
|
22755
22806
|
"ref": markerRef,
|
|
@@ -22840,6 +22891,7 @@
|
|
|
22840
22891
|
groupBy
|
|
22841
22892
|
} = createGroupBy(props);
|
|
22842
22893
|
const {
|
|
22894
|
+
initialSortOrder,
|
|
22843
22895
|
sortBy,
|
|
22844
22896
|
multiSort,
|
|
22845
22897
|
mustSort
|
|
@@ -22866,6 +22918,7 @@
|
|
|
22866
22918
|
const {
|
|
22867
22919
|
toggleSort
|
|
22868
22920
|
} = provideSort({
|
|
22921
|
+
initialSortOrder,
|
|
22869
22922
|
sortBy,
|
|
22870
22923
|
multiSort,
|
|
22871
22924
|
mustSort,
|
|
@@ -22952,7 +23005,7 @@
|
|
|
22952
23005
|
}));
|
|
22953
23006
|
useRender(() => {
|
|
22954
23007
|
const dataTableFooterProps = VDataTableFooter.filterProps(props);
|
|
22955
|
-
const dataTableHeadersProps = VDataTableHeaders.filterProps(props);
|
|
23008
|
+
const dataTableHeadersProps = VDataTableHeaders.filterProps(omit(props, ['multiSort']));
|
|
22956
23009
|
const dataTableRowsProps = VDataTableRows.filterProps(props);
|
|
22957
23010
|
const tableProps = VTable.filterProps(props);
|
|
22958
23011
|
return vue.createVNode(VTable, vue.mergeProps({
|
|
@@ -22968,7 +23021,9 @@
|
|
|
22968
23021
|
"key": "thead",
|
|
22969
23022
|
"class": "v-data-table__thead",
|
|
22970
23023
|
"role": "rowgroup"
|
|
22971
|
-
}, [vue.createVNode(VDataTableHeaders,
|
|
23024
|
+
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
23025
|
+
"multiSort": !!props.multiSort
|
|
23026
|
+
}), slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createElementVNode("tbody", {
|
|
22972
23027
|
"class": "v-data-table__tbody",
|
|
22973
23028
|
"role": "rowgroup"
|
|
22974
23029
|
}, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
|
|
@@ -37930,7 +37985,7 @@
|
|
|
37930
37985
|
};
|
|
37931
37986
|
});
|
|
37932
37987
|
}
|
|
37933
|
-
const version$1 = "3.10.4-dev.2025-10-
|
|
37988
|
+
const version$1 = "3.10.4-dev.2025-10-06";
|
|
37934
37989
|
createVuetify$1.version = version$1;
|
|
37935
37990
|
|
|
37936
37991
|
// Vue's inject() can only be used in setup
|
|
@@ -38228,7 +38283,7 @@
|
|
|
38228
38283
|
|
|
38229
38284
|
/* eslint-disable local-rules/sort-imports */
|
|
38230
38285
|
|
|
38231
|
-
const version = "3.10.4-dev.2025-10-
|
|
38286
|
+
const version = "3.10.4-dev.2025-10-06";
|
|
38232
38287
|
|
|
38233
38288
|
/* eslint-disable local-rules/sort-imports */
|
|
38234
38289
|
|