@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.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
|
*/
|
|
@@ -20680,58 +20680,99 @@
|
|
|
20680
20680
|
// Types
|
|
20681
20681
|
|
|
20682
20682
|
const makeDataTableSortProps = propsFactory({
|
|
20683
|
+
initialSortOrder: {
|
|
20684
|
+
type: String,
|
|
20685
|
+
default: 'asc',
|
|
20686
|
+
validator: v => !v || ['asc', 'desc'].includes(v)
|
|
20687
|
+
},
|
|
20683
20688
|
sortBy: {
|
|
20684
20689
|
type: Array,
|
|
20685
20690
|
default: () => []
|
|
20686
20691
|
},
|
|
20687
20692
|
customKeySort: Object,
|
|
20688
|
-
multiSort:
|
|
20693
|
+
multiSort: {
|
|
20694
|
+
type: [Boolean, Object],
|
|
20695
|
+
default: false
|
|
20696
|
+
},
|
|
20689
20697
|
mustSort: Boolean
|
|
20690
20698
|
}, 'DataTable-sort');
|
|
20691
20699
|
const VDataTableSortSymbol = Symbol.for('vuetify:data-table-sort');
|
|
20692
20700
|
function createSort(props) {
|
|
20701
|
+
const initialSortOrder = vue.toRef(() => props.initialSortOrder);
|
|
20693
20702
|
const sortBy = useProxiedModel(props, 'sortBy');
|
|
20694
20703
|
const mustSort = vue.toRef(() => props.mustSort);
|
|
20695
20704
|
const multiSort = vue.toRef(() => props.multiSort);
|
|
20696
20705
|
return {
|
|
20706
|
+
initialSortOrder,
|
|
20697
20707
|
sortBy,
|
|
20698
|
-
|
|
20699
|
-
|
|
20708
|
+
multiSort,
|
|
20709
|
+
mustSort
|
|
20710
|
+
};
|
|
20711
|
+
}
|
|
20712
|
+
function resolveMultiSort(multiSort, event) {
|
|
20713
|
+
if (!isObject(multiSort)) {
|
|
20714
|
+
return {
|
|
20715
|
+
active: !!multiSort
|
|
20716
|
+
};
|
|
20717
|
+
}
|
|
20718
|
+
const {
|
|
20719
|
+
key,
|
|
20720
|
+
mode,
|
|
20721
|
+
modifier
|
|
20722
|
+
} = multiSort;
|
|
20723
|
+
const reverseMode = modifier === 'alt' && event?.altKey || modifier === 'shift' && event?.shiftKey;
|
|
20724
|
+
return {
|
|
20725
|
+
active: !key || event?.ctrlKey || event?.metaKey || false,
|
|
20726
|
+
mode: reverseMode ? mode === 'append' ? 'prepend' : 'append' : mode
|
|
20700
20727
|
};
|
|
20701
20728
|
}
|
|
20702
20729
|
function provideSort(options) {
|
|
20703
20730
|
const {
|
|
20731
|
+
initialSortOrder,
|
|
20704
20732
|
sortBy,
|
|
20705
20733
|
mustSort,
|
|
20706
20734
|
multiSort,
|
|
20707
20735
|
page
|
|
20708
20736
|
} = options;
|
|
20709
|
-
const toggleSort = column => {
|
|
20737
|
+
const toggleSort = (column, event) => {
|
|
20710
20738
|
if (column.key == null) return;
|
|
20711
20739
|
let newSortBy = sortBy.value.map(x => ({
|
|
20712
20740
|
...x
|
|
20713
20741
|
})) ?? [];
|
|
20714
20742
|
const item = newSortBy.find(x => x.key === column.key);
|
|
20743
|
+
const initialOrder = initialSortOrder.value;
|
|
20744
|
+
const secondaryOrder = initialSortOrder.value === 'desc' ? 'asc' : 'desc';
|
|
20715
20745
|
if (!item) {
|
|
20716
|
-
|
|
20717
|
-
|
|
20718
|
-
|
|
20719
|
-
|
|
20720
|
-
|
|
20746
|
+
const {
|
|
20747
|
+
active,
|
|
20748
|
+
mode
|
|
20749
|
+
} = resolveMultiSort(multiSort.value, event);
|
|
20750
|
+
if (active) {
|
|
20751
|
+
if (mode === 'prepend') {
|
|
20752
|
+
newSortBy.unshift({
|
|
20753
|
+
key: column.key,
|
|
20754
|
+
order: initialOrder
|
|
20755
|
+
});
|
|
20756
|
+
} else {
|
|
20757
|
+
newSortBy.push({
|
|
20758
|
+
key: column.key,
|
|
20759
|
+
order: initialOrder
|
|
20760
|
+
});
|
|
20761
|
+
}
|
|
20721
20762
|
} else {
|
|
20722
20763
|
newSortBy = [{
|
|
20723
20764
|
key: column.key,
|
|
20724
|
-
order:
|
|
20765
|
+
order: initialOrder
|
|
20725
20766
|
}];
|
|
20726
20767
|
}
|
|
20727
|
-
} else if (item.order ===
|
|
20768
|
+
} else if (item.order === secondaryOrder) {
|
|
20728
20769
|
if (mustSort.value && newSortBy.length === 1) {
|
|
20729
|
-
item.order =
|
|
20770
|
+
item.order = initialSortOrder.value;
|
|
20730
20771
|
} else {
|
|
20731
20772
|
newSortBy = newSortBy.filter(x => x.key !== column.key);
|
|
20732
20773
|
}
|
|
20733
20774
|
} else {
|
|
20734
|
-
item.order =
|
|
20775
|
+
item.order = secondaryOrder;
|
|
20735
20776
|
}
|
|
20736
20777
|
sortBy.value = newSortBy;
|
|
20737
20778
|
if (page) page.value = 1;
|
|
@@ -20921,6 +20962,7 @@
|
|
|
20921
20962
|
transform: item => item.raw
|
|
20922
20963
|
});
|
|
20923
20964
|
const {
|
|
20965
|
+
initialSortOrder,
|
|
20924
20966
|
sortBy,
|
|
20925
20967
|
multiSort,
|
|
20926
20968
|
mustSort
|
|
@@ -20932,6 +20974,7 @@
|
|
|
20932
20974
|
const {
|
|
20933
20975
|
toggleSort
|
|
20934
20976
|
} = provideSort({
|
|
20977
|
+
initialSortOrder,
|
|
20935
20978
|
sortBy,
|
|
20936
20979
|
multiSort,
|
|
20937
20980
|
mustSort,
|
|
@@ -21934,7 +21977,7 @@
|
|
|
21934
21977
|
}
|
|
21935
21978
|
function handleEnterKeyPress(event, column) {
|
|
21936
21979
|
if (event.key === 'Enter' && !props.disableSort) {
|
|
21937
|
-
toggleSort(column);
|
|
21980
|
+
toggleSort(column, event);
|
|
21938
21981
|
}
|
|
21939
21982
|
}
|
|
21940
21983
|
function getSortIcon(column) {
|
|
@@ -21996,7 +22039,7 @@
|
|
|
21996
22039
|
"noPadding": noPadding,
|
|
21997
22040
|
"empty": isEmpty,
|
|
21998
22041
|
"tabindex": column.sortable ? 0 : undefined,
|
|
21999
|
-
"onClick": column.sortable ?
|
|
22042
|
+
"onClick": column.sortable ? event => toggleSort(column, event) : undefined,
|
|
22000
22043
|
"onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
|
|
22001
22044
|
}, headerProps), {
|
|
22002
22045
|
default: () => {
|
|
@@ -22617,7 +22660,7 @@
|
|
|
22617
22660
|
...makeDataTableItemsProps(),
|
|
22618
22661
|
...makeDataTableSelectProps(),
|
|
22619
22662
|
...makeDataTableSortProps(),
|
|
22620
|
-
...makeVDataTableHeadersProps(),
|
|
22663
|
+
...omit(makeVDataTableHeadersProps(), ['multiSort']),
|
|
22621
22664
|
...makeVTableProps()
|
|
22622
22665
|
}, 'DataTable');
|
|
22623
22666
|
const makeVDataTableProps = propsFactory({
|
|
@@ -22648,6 +22691,7 @@
|
|
|
22648
22691
|
groupBy
|
|
22649
22692
|
} = createGroupBy(props);
|
|
22650
22693
|
const {
|
|
22694
|
+
initialSortOrder,
|
|
22651
22695
|
sortBy,
|
|
22652
22696
|
multiSort,
|
|
22653
22697
|
mustSort
|
|
@@ -22683,6 +22727,7 @@
|
|
|
22683
22727
|
const {
|
|
22684
22728
|
toggleSort
|
|
22685
22729
|
} = provideSort({
|
|
22730
|
+
initialSortOrder,
|
|
22686
22731
|
sortBy,
|
|
22687
22732
|
multiSort,
|
|
22688
22733
|
mustSort,
|
|
@@ -22787,7 +22832,7 @@
|
|
|
22787
22832
|
}));
|
|
22788
22833
|
useRender(() => {
|
|
22789
22834
|
const dataTableFooterProps = VDataTableFooter.filterProps(props);
|
|
22790
|
-
const dataTableHeadersProps = VDataTableHeaders.filterProps(props);
|
|
22835
|
+
const dataTableHeadersProps = VDataTableHeaders.filterProps(omit(props, ['multiSort']));
|
|
22791
22836
|
const dataTableRowsProps = VDataTableRows.filterProps(props);
|
|
22792
22837
|
const tableProps = VTable.filterProps(props);
|
|
22793
22838
|
return vue.createVNode(VTable, vue.mergeProps({
|
|
@@ -22802,7 +22847,9 @@
|
|
|
22802
22847
|
top: () => slots.top?.(slotProps.value),
|
|
22803
22848
|
default: () => slots.default ? slots.default(slotProps.value) : vue.createElementVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createElementVNode("thead", {
|
|
22804
22849
|
"key": "thead"
|
|
22805
|
-
}, [vue.createVNode(VDataTableHeaders,
|
|
22850
|
+
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
22851
|
+
"multiSort": !!props.multiSort
|
|
22852
|
+
}), 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, {
|
|
22806
22853
|
"items": paginatedItems.value
|
|
22807
22854
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
22808
22855
|
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
@@ -22841,6 +22888,7 @@
|
|
|
22841
22888
|
groupBy
|
|
22842
22889
|
} = createGroupBy(props);
|
|
22843
22890
|
const {
|
|
22891
|
+
initialSortOrder,
|
|
22844
22892
|
sortBy,
|
|
22845
22893
|
multiSort,
|
|
22846
22894
|
mustSort
|
|
@@ -22872,6 +22920,7 @@
|
|
|
22872
22920
|
const {
|
|
22873
22921
|
toggleSort
|
|
22874
22922
|
} = provideSort({
|
|
22923
|
+
initialSortOrder,
|
|
22875
22924
|
sortBy,
|
|
22876
22925
|
multiSort,
|
|
22877
22926
|
mustSort
|
|
@@ -22964,7 +23013,7 @@
|
|
|
22964
23013
|
headers: headers.value
|
|
22965
23014
|
}));
|
|
22966
23015
|
useRender(() => {
|
|
22967
|
-
const dataTableHeadersProps = VDataTableHeaders.filterProps(props);
|
|
23016
|
+
const dataTableHeadersProps = VDataTableHeaders.filterProps(omit(props, ['multiSort']));
|
|
22968
23017
|
const dataTableRowsProps = VDataTableRows.filterProps(props);
|
|
22969
23018
|
const tableProps = VTable.filterProps(props);
|
|
22970
23019
|
return vue.createVNode(VTable, vue.mergeProps({
|
|
@@ -22986,7 +23035,9 @@
|
|
|
22986
23035
|
}
|
|
22987
23036
|
}, [vue.createElementVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createElementVNode("thead", {
|
|
22988
23037
|
"key": "thead"
|
|
22989
|
-
}, [vue.createVNode(VDataTableHeaders,
|
|
23038
|
+
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
23039
|
+
"multiSort": !!props.multiSort
|
|
23040
|
+
}), slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createElementVNode("tbody", {
|
|
22990
23041
|
"key": "tbody"
|
|
22991
23042
|
}, [vue.createElementVNode("tr", {
|
|
22992
23043
|
"ref": markerRef,
|
|
@@ -23077,6 +23128,7 @@
|
|
|
23077
23128
|
groupBy
|
|
23078
23129
|
} = createGroupBy(props);
|
|
23079
23130
|
const {
|
|
23131
|
+
initialSortOrder,
|
|
23080
23132
|
sortBy,
|
|
23081
23133
|
multiSort,
|
|
23082
23134
|
mustSort
|
|
@@ -23103,6 +23155,7 @@
|
|
|
23103
23155
|
const {
|
|
23104
23156
|
toggleSort
|
|
23105
23157
|
} = provideSort({
|
|
23158
|
+
initialSortOrder,
|
|
23106
23159
|
sortBy,
|
|
23107
23160
|
multiSort,
|
|
23108
23161
|
mustSort,
|
|
@@ -23189,7 +23242,7 @@
|
|
|
23189
23242
|
}));
|
|
23190
23243
|
useRender(() => {
|
|
23191
23244
|
const dataTableFooterProps = VDataTableFooter.filterProps(props);
|
|
23192
|
-
const dataTableHeadersProps = VDataTableHeaders.filterProps(props);
|
|
23245
|
+
const dataTableHeadersProps = VDataTableHeaders.filterProps(omit(props, ['multiSort']));
|
|
23193
23246
|
const dataTableRowsProps = VDataTableRows.filterProps(props);
|
|
23194
23247
|
const tableProps = VTable.filterProps(props);
|
|
23195
23248
|
return vue.createVNode(VTable, vue.mergeProps({
|
|
@@ -23205,7 +23258,9 @@
|
|
|
23205
23258
|
"key": "thead",
|
|
23206
23259
|
"class": "v-data-table__thead",
|
|
23207
23260
|
"role": "rowgroup"
|
|
23208
|
-
}, [vue.createVNode(VDataTableHeaders,
|
|
23261
|
+
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
23262
|
+
"multiSort": !!props.multiSort
|
|
23263
|
+
}), slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createElementVNode("tbody", {
|
|
23209
23264
|
"class": "v-data-table__tbody",
|
|
23210
23265
|
"role": "rowgroup"
|
|
23211
23266
|
}, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
|
|
@@ -32304,7 +32359,7 @@
|
|
|
32304
32359
|
};
|
|
32305
32360
|
});
|
|
32306
32361
|
}
|
|
32307
|
-
const version$1 = "3.10.4-dev.2025-10-
|
|
32362
|
+
const version$1 = "3.10.4-dev.2025-10-06";
|
|
32308
32363
|
createVuetify$1.version = version$1;
|
|
32309
32364
|
|
|
32310
32365
|
// Vue's inject() can only be used in setup
|
|
@@ -32329,7 +32384,7 @@
|
|
|
32329
32384
|
...options
|
|
32330
32385
|
});
|
|
32331
32386
|
};
|
|
32332
|
-
const version = "3.10.4-dev.2025-10-
|
|
32387
|
+
const version = "3.10.4-dev.2025-10-06";
|
|
32333
32388
|
createVuetify.version = version;
|
|
32334
32389
|
|
|
32335
32390
|
exports.blueprints = index;
|