@vuetify/nightly 3.8.8-master.2025-06-07 → 3.8.8-master.2025-06-08
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 +8 -3
- package/dist/json/attributes.json +959 -959
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +144 -144
- package/dist/json/web-types.json +1852 -1852
- package/dist/vuetify-labs.cjs +91 -27
- package/dist/vuetify-labs.css +3832 -3832
- package/dist/vuetify-labs.d.ts +56 -60
- package/dist/vuetify-labs.esm.js +91 -27
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +91 -27
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +84 -23
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +5026 -5026
- package/dist/vuetify.d.ts +56 -60
- package/dist/vuetify.esm.js +84 -23
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +84 -23
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +122 -115
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTableColumn.js +1 -0
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +8 -1
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +2 -2
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +8 -3
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.js +1 -1
- package/lib/components/VSlider/VSliderThumb.js.map +1 -1
- package/lib/composables/date/date.d.ts +1 -4
- package/lib/composables/date/date.js +13 -14
- package/lib/composables/date/date.js.map +1 -1
- package/lib/composables/fileDrop.d.ts +4 -0
- package/lib/composables/fileDrop.js +50 -0
- package/lib/composables/fileDrop.js.map +1 -0
- package/lib/entry-bundler.d.ts +0 -3
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +56 -60
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.js +2 -1
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/VFileUpload/VFileUpload.js +7 -3
- package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
- package/lib/labs/entry-bundler.d.ts +0 -3
- package/package.json +1 -1
package/dist/vuetify-labs.cjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.8-master.2025-06-
|
2
|
+
* Vuetify v3.8.8-master.2025-06-08
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -16260,7 +16260,7 @@
|
|
16260
16260
|
default: () => [vue.withDirectives(vue.createElementVNode("div", {
|
16261
16261
|
"class": "v-slider-thumb__label-container"
|
16262
16262
|
}, [vue.createElementVNode("div", {
|
16263
|
-
"class": vue.normalizeClass(['v-slider-thumb__label'])
|
16263
|
+
"class": vue.normalizeClass(['v-slider-thumb__label', textColorClasses.value])
|
16264
16264
|
}, [vue.createElementVNode("div", null, [slots['thumb-label']?.({
|
16265
16265
|
modelValue: props.modelValue
|
16266
16266
|
}) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[vue.vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
|
@@ -17832,6 +17832,18 @@
|
|
17832
17832
|
instance: createInstance(_options, locale)
|
17833
17833
|
};
|
17834
17834
|
}
|
17835
|
+
function createDateRange(adapter, start, stop) {
|
17836
|
+
const diff = adapter.getDiff(stop ?? start, start, 'days');
|
17837
|
+
const datesInRange = [start];
|
17838
|
+
for (let i = 1; i < diff; i++) {
|
17839
|
+
const nextDate = adapter.addDays(start, i);
|
17840
|
+
datesInRange.push(nextDate);
|
17841
|
+
}
|
17842
|
+
if (stop) {
|
17843
|
+
datesInRange.push(adapter.endOfDay(stop));
|
17844
|
+
}
|
17845
|
+
return datesInRange;
|
17846
|
+
}
|
17835
17847
|
function createInstance(options, locale) {
|
17836
17848
|
const instance = vue.reactive(typeof options.adapter === 'function'
|
17837
17849
|
// eslint-disable-next-line new-cap
|
@@ -17842,20 +17854,7 @@
|
|
17842
17854
|
vue.watch(locale.current, value => {
|
17843
17855
|
instance.locale = options.locale[value] ?? value ?? instance.locale;
|
17844
17856
|
});
|
17845
|
-
return
|
17846
|
-
createDateRange(start, stop) {
|
17847
|
-
const diff = instance.getDiff(stop ?? start, start, 'days');
|
17848
|
-
const datesInRange = [start];
|
17849
|
-
for (let i = 1; i < diff; i++) {
|
17850
|
-
const nextDate = instance.addDays(start, i);
|
17851
|
-
datesInRange.push(nextDate);
|
17852
|
-
}
|
17853
|
-
if (stop) {
|
17854
|
-
datesInRange.push(instance.endOfDay(stop));
|
17855
|
-
}
|
17856
|
-
return datesInRange;
|
17857
|
-
}
|
17858
|
-
});
|
17857
|
+
return instance;
|
17859
17858
|
}
|
17860
17859
|
function useDate() {
|
17861
17860
|
const options = vue.inject(DateOptionsSymbol);
|
@@ -19998,6 +19997,7 @@
|
|
19998
19997
|
} = _ref;
|
19999
19998
|
const Tag = props.tag ?? 'td';
|
20000
19999
|
return vue.createVNode(Tag, {
|
20000
|
+
"tabindex": "0",
|
20001
20001
|
"class": vue.normalizeClass(['v-data-table__td', {
|
20002
20002
|
'v-data-table-column--fixed': props.fixed,
|
20003
20003
|
'v-data-table-column--last-fixed': props.lastFixed,
|
@@ -20342,6 +20342,11 @@
|
|
20342
20342
|
top: props.sticky || props.fixedHeader ? `calc(var(--v-table-header-height) * ${y})` : undefined
|
20343
20343
|
};
|
20344
20344
|
}
|
20345
|
+
function handleEnterKeyPress(event, column) {
|
20346
|
+
if (event.key === 'Enter' && !props.disableSort) {
|
20347
|
+
toggleSort(column);
|
20348
|
+
}
|
20349
|
+
}
|
20345
20350
|
function getSortIcon(column) {
|
20346
20351
|
const item = sortBy.value.find(item => item.key === column.key);
|
20347
20352
|
if (!item) return props.sortAscIcon;
|
@@ -20398,7 +20403,9 @@
|
|
20398
20403
|
"nowrap": column.nowrap,
|
20399
20404
|
"lastFixed": column.lastFixed,
|
20400
20405
|
"noPadding": noPadding
|
20401
|
-
}, headerProps
|
20406
|
+
}, headerProps, {
|
20407
|
+
"onKeydown": event => column.sortable && handleEnterKeyPress(event, column)
|
20408
|
+
}), {
|
20402
20409
|
default: () => {
|
20403
20410
|
const columnSlotName = `header.${column.key}`;
|
20404
20411
|
const columnSlotProps = {
|
@@ -22251,7 +22258,7 @@
|
|
22251
22258
|
} else {
|
22252
22259
|
rangeStop.value = adapter.endOfDay(_value);
|
22253
22260
|
}
|
22254
|
-
model.value =
|
22261
|
+
model.value = createDateRange(adapter, rangeStart.value, rangeStop.value);
|
22255
22262
|
} else {
|
22256
22263
|
rangeStart.value = value;
|
22257
22264
|
rangeStop.value = undefined;
|
@@ -23338,6 +23345,56 @@
|
|
23338
23345
|
|
23339
23346
|
// Types
|
23340
23347
|
|
23348
|
+
function useFileDrop() {
|
23349
|
+
function hasFilesOrFolders(e) {
|
23350
|
+
const entries = [...(e.dataTransfer?.items ?? [])].filter(x => x.kind === 'file').map(x => x.webkitGetAsEntry()).filter(Boolean);
|
23351
|
+
return entries.length > 0 || [...(e.dataTransfer?.files ?? [])].length > 0;
|
23352
|
+
}
|
23353
|
+
async function handleDrop(e) {
|
23354
|
+
const result = [];
|
23355
|
+
const entries = [...(e.dataTransfer?.items ?? [])].filter(x => x.kind === 'file').map(x => x.webkitGetAsEntry()).filter(Boolean);
|
23356
|
+
if (entries.length) {
|
23357
|
+
for (const entry of entries) {
|
23358
|
+
const files = await traverseFileTree(entry, appendIfDirectory('.', entry));
|
23359
|
+
result.push(...files.map(x => x.file));
|
23360
|
+
}
|
23361
|
+
} else {
|
23362
|
+
result.push(...[...(e.dataTransfer?.files ?? [])]);
|
23363
|
+
}
|
23364
|
+
return result;
|
23365
|
+
}
|
23366
|
+
return {
|
23367
|
+
handleDrop,
|
23368
|
+
hasFilesOrFolders
|
23369
|
+
};
|
23370
|
+
}
|
23371
|
+
function traverseFileTree(item) {
|
23372
|
+
let path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
23373
|
+
return new Promise((resolve, reject) => {
|
23374
|
+
if (item.isFile) {
|
23375
|
+
const fileEntry = item;
|
23376
|
+
fileEntry.file(file => resolve([{
|
23377
|
+
file,
|
23378
|
+
path
|
23379
|
+
}]), reject);
|
23380
|
+
} else if (item.isDirectory) {
|
23381
|
+
const directoryReader = item.createReader();
|
23382
|
+
directoryReader.readEntries(async entries => {
|
23383
|
+
const files = [];
|
23384
|
+
for (const entry of entries) {
|
23385
|
+
files.push(...(await traverseFileTree(entry, appendIfDirectory(path, entry))));
|
23386
|
+
}
|
23387
|
+
resolve(files);
|
23388
|
+
});
|
23389
|
+
}
|
23390
|
+
});
|
23391
|
+
}
|
23392
|
+
function appendIfDirectory(path, item) {
|
23393
|
+
return item.isDirectory ? `${path}/${item.name}` : path;
|
23394
|
+
}
|
23395
|
+
|
23396
|
+
// Types
|
23397
|
+
|
23341
23398
|
const makeVFileInputProps = propsFactory({
|
23342
23399
|
chips: Boolean,
|
23343
23400
|
counter: Boolean,
|
@@ -23422,6 +23479,10 @@
|
|
23422
23479
|
const isActive = vue.toRef(() => isFocused.value || props.active);
|
23423
23480
|
const isPlainOrUnderlined = vue.computed(() => ['plain', 'underlined'].includes(props.variant));
|
23424
23481
|
const isDragging = vue.shallowRef(false);
|
23482
|
+
const {
|
23483
|
+
handleDrop,
|
23484
|
+
hasFilesOrFolders
|
23485
|
+
} = useFileDrop();
|
23425
23486
|
function onFocus() {
|
23426
23487
|
if (inputRef.value !== document.activeElement) {
|
23427
23488
|
inputRef.value?.focus();
|
@@ -23455,13 +23516,13 @@
|
|
23455
23516
|
e.preventDefault();
|
23456
23517
|
isDragging.value = false;
|
23457
23518
|
}
|
23458
|
-
function onDrop(e) {
|
23519
|
+
async function onDrop(e) {
|
23459
23520
|
e.preventDefault();
|
23460
23521
|
e.stopImmediatePropagation();
|
23461
23522
|
isDragging.value = false;
|
23462
|
-
if (!
|
23523
|
+
if (!inputRef.value || !hasFilesOrFolders(e)) return;
|
23463
23524
|
const dataTransfer = new DataTransfer();
|
23464
|
-
for (const file of e
|
23525
|
+
for (const file of await handleDrop(e)) {
|
23465
23526
|
dataTransfer.items.add(file);
|
23466
23527
|
}
|
23467
23528
|
inputRef.value.files = dataTransfer.files;
|
@@ -29631,7 +29692,7 @@
|
|
29631
29692
|
if (parts.every(isValid)) {
|
29632
29693
|
if (props.multiple === 'range') {
|
29633
29694
|
const [start, stop] = parts.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1);
|
29634
|
-
model.value =
|
29695
|
+
model.value = createDateRange(adapter, start, stop);
|
29635
29696
|
} else {
|
29636
29697
|
model.value = parts.map(parseDate);
|
29637
29698
|
}
|
@@ -29873,6 +29934,9 @@
|
|
29873
29934
|
const isDragging = vue.shallowRef(false);
|
29874
29935
|
const vSheetRef = vue.ref(null);
|
29875
29936
|
const inputRef = vue.ref(null);
|
29937
|
+
const {
|
29938
|
+
handleDrop
|
29939
|
+
} = useFileDrop();
|
29876
29940
|
function onDragover(e) {
|
29877
29941
|
e.preventDefault();
|
29878
29942
|
e.stopImmediatePropagation();
|
@@ -29882,13 +29946,13 @@
|
|
29882
29946
|
e.preventDefault();
|
29883
29947
|
isDragging.value = false;
|
29884
29948
|
}
|
29885
|
-
function onDrop(e) {
|
29949
|
+
async function onDrop(e) {
|
29886
29950
|
e.preventDefault();
|
29887
29951
|
e.stopImmediatePropagation();
|
29888
29952
|
isDragging.value = false;
|
29889
|
-
if (!
|
29953
|
+
if (!inputRef.value) return;
|
29890
29954
|
const dataTransfer = new DataTransfer();
|
29891
|
-
for (const file of e
|
29955
|
+
for (const file of await handleDrop(e)) {
|
29892
29956
|
dataTransfer.items.add(file);
|
29893
29957
|
}
|
29894
29958
|
inputRef.value.files = dataTransfer.files;
|
@@ -32089,7 +32153,7 @@
|
|
32089
32153
|
};
|
32090
32154
|
});
|
32091
32155
|
}
|
32092
|
-
const version$1 = "3.8.8-master.2025-06-
|
32156
|
+
const version$1 = "3.8.8-master.2025-06-08";
|
32093
32157
|
createVuetify$1.version = version$1;
|
32094
32158
|
|
32095
32159
|
// Vue's inject() can only be used in setup
|
@@ -32387,7 +32451,7 @@
|
|
32387
32451
|
|
32388
32452
|
/* eslint-disable local-rules/sort-imports */
|
32389
32453
|
|
32390
|
-
const version = "3.8.8-master.2025-06-
|
32454
|
+
const version = "3.8.8-master.2025-06-08";
|
32391
32455
|
|
32392
32456
|
/* eslint-disable local-rules/sort-imports */
|
32393
32457
|
|