@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.js
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
|
*/
|
@@ -16538,7 +16538,7 @@
|
|
16538
16538
|
default: () => [vue.withDirectives(vue.createElementVNode("div", {
|
16539
16539
|
"class": "v-slider-thumb__label-container"
|
16540
16540
|
}, [vue.createElementVNode("div", {
|
16541
|
-
"class": vue.normalizeClass(['v-slider-thumb__label'])
|
16541
|
+
"class": vue.normalizeClass(['v-slider-thumb__label', textColorClasses.value])
|
16542
16542
|
}, [vue.createElementVNode("div", null, [slots['thumb-label']?.({
|
16543
16543
|
modelValue: props.modelValue
|
16544
16544
|
}) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[vue.vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
|
@@ -18110,6 +18110,18 @@
|
|
18110
18110
|
instance: createInstance(_options, locale)
|
18111
18111
|
};
|
18112
18112
|
}
|
18113
|
+
function createDateRange(adapter, start, stop) {
|
18114
|
+
const diff = adapter.getDiff(stop ?? start, start, 'days');
|
18115
|
+
const datesInRange = [start];
|
18116
|
+
for (let i = 1; i < diff; i++) {
|
18117
|
+
const nextDate = adapter.addDays(start, i);
|
18118
|
+
datesInRange.push(nextDate);
|
18119
|
+
}
|
18120
|
+
if (stop) {
|
18121
|
+
datesInRange.push(adapter.endOfDay(stop));
|
18122
|
+
}
|
18123
|
+
return datesInRange;
|
18124
|
+
}
|
18113
18125
|
function createInstance(options, locale) {
|
18114
18126
|
const instance = vue.reactive(typeof options.adapter === 'function'
|
18115
18127
|
// eslint-disable-next-line new-cap
|
@@ -18120,20 +18132,7 @@
|
|
18120
18132
|
vue.watch(locale.current, value => {
|
18121
18133
|
instance.locale = options.locale[value] ?? value ?? instance.locale;
|
18122
18134
|
});
|
18123
|
-
return
|
18124
|
-
createDateRange(start, stop) {
|
18125
|
-
const diff = instance.getDiff(stop ?? start, start, 'days');
|
18126
|
-
const datesInRange = [start];
|
18127
|
-
for (let i = 1; i < diff; i++) {
|
18128
|
-
const nextDate = instance.addDays(start, i);
|
18129
|
-
datesInRange.push(nextDate);
|
18130
|
-
}
|
18131
|
-
if (stop) {
|
18132
|
-
datesInRange.push(instance.endOfDay(stop));
|
18133
|
-
}
|
18134
|
-
return datesInRange;
|
18135
|
-
}
|
18136
|
-
});
|
18135
|
+
return instance;
|
18137
18136
|
}
|
18138
18137
|
function useDate() {
|
18139
18138
|
const options = vue.inject(DateOptionsSymbol);
|
@@ -20276,6 +20275,7 @@
|
|
20276
20275
|
} = _ref;
|
20277
20276
|
const Tag = props.tag ?? 'td';
|
20278
20277
|
return vue.createVNode(Tag, {
|
20278
|
+
"tabindex": "0",
|
20279
20279
|
"class": vue.normalizeClass(['v-data-table__td', {
|
20280
20280
|
'v-data-table-column--fixed': props.fixed,
|
20281
20281
|
'v-data-table-column--last-fixed': props.lastFixed,
|
@@ -20620,6 +20620,11 @@
|
|
20620
20620
|
top: props.sticky || props.fixedHeader ? `calc(var(--v-table-header-height) * ${y})` : undefined
|
20621
20621
|
};
|
20622
20622
|
}
|
20623
|
+
function handleEnterKeyPress(event, column) {
|
20624
|
+
if (event.key === 'Enter' && !props.disableSort) {
|
20625
|
+
toggleSort(column);
|
20626
|
+
}
|
20627
|
+
}
|
20623
20628
|
function getSortIcon(column) {
|
20624
20629
|
const item = sortBy.value.find(item => item.key === column.key);
|
20625
20630
|
if (!item) return props.sortAscIcon;
|
@@ -20676,7 +20681,9 @@
|
|
20676
20681
|
"nowrap": column.nowrap,
|
20677
20682
|
"lastFixed": column.lastFixed,
|
20678
20683
|
"noPadding": noPadding
|
20679
|
-
}, headerProps
|
20684
|
+
}, headerProps, {
|
20685
|
+
"onKeydown": event => column.sortable && handleEnterKeyPress(event, column)
|
20686
|
+
}), {
|
20680
20687
|
default: () => {
|
20681
20688
|
const columnSlotName = `header.${column.key}`;
|
20682
20689
|
const columnSlotProps = {
|
@@ -22529,7 +22536,7 @@
|
|
22529
22536
|
} else {
|
22530
22537
|
rangeStop.value = adapter.endOfDay(_value);
|
22531
22538
|
}
|
22532
|
-
model.value =
|
22539
|
+
model.value = createDateRange(adapter, rangeStart.value, rangeStop.value);
|
22533
22540
|
} else {
|
22534
22541
|
rangeStart.value = value;
|
22535
22542
|
rangeStop.value = undefined;
|
@@ -23616,6 +23623,56 @@
|
|
23616
23623
|
|
23617
23624
|
// Types
|
23618
23625
|
|
23626
|
+
function useFileDrop() {
|
23627
|
+
function hasFilesOrFolders(e) {
|
23628
|
+
const entries = [...(e.dataTransfer?.items ?? [])].filter(x => x.kind === 'file').map(x => x.webkitGetAsEntry()).filter(Boolean);
|
23629
|
+
return entries.length > 0 || [...(e.dataTransfer?.files ?? [])].length > 0;
|
23630
|
+
}
|
23631
|
+
async function handleDrop(e) {
|
23632
|
+
const result = [];
|
23633
|
+
const entries = [...(e.dataTransfer?.items ?? [])].filter(x => x.kind === 'file').map(x => x.webkitGetAsEntry()).filter(Boolean);
|
23634
|
+
if (entries.length) {
|
23635
|
+
for (const entry of entries) {
|
23636
|
+
const files = await traverseFileTree(entry, appendIfDirectory('.', entry));
|
23637
|
+
result.push(...files.map(x => x.file));
|
23638
|
+
}
|
23639
|
+
} else {
|
23640
|
+
result.push(...[...(e.dataTransfer?.files ?? [])]);
|
23641
|
+
}
|
23642
|
+
return result;
|
23643
|
+
}
|
23644
|
+
return {
|
23645
|
+
handleDrop,
|
23646
|
+
hasFilesOrFolders
|
23647
|
+
};
|
23648
|
+
}
|
23649
|
+
function traverseFileTree(item) {
|
23650
|
+
let path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
23651
|
+
return new Promise((resolve, reject) => {
|
23652
|
+
if (item.isFile) {
|
23653
|
+
const fileEntry = item;
|
23654
|
+
fileEntry.file(file => resolve([{
|
23655
|
+
file,
|
23656
|
+
path
|
23657
|
+
}]), reject);
|
23658
|
+
} else if (item.isDirectory) {
|
23659
|
+
const directoryReader = item.createReader();
|
23660
|
+
directoryReader.readEntries(async entries => {
|
23661
|
+
const files = [];
|
23662
|
+
for (const entry of entries) {
|
23663
|
+
files.push(...(await traverseFileTree(entry, appendIfDirectory(path, entry))));
|
23664
|
+
}
|
23665
|
+
resolve(files);
|
23666
|
+
});
|
23667
|
+
}
|
23668
|
+
});
|
23669
|
+
}
|
23670
|
+
function appendIfDirectory(path, item) {
|
23671
|
+
return item.isDirectory ? `${path}/${item.name}` : path;
|
23672
|
+
}
|
23673
|
+
|
23674
|
+
// Types
|
23675
|
+
|
23619
23676
|
const makeVFileInputProps = propsFactory({
|
23620
23677
|
chips: Boolean,
|
23621
23678
|
counter: Boolean,
|
@@ -23700,6 +23757,10 @@
|
|
23700
23757
|
const isActive = vue.toRef(() => isFocused.value || props.active);
|
23701
23758
|
const isPlainOrUnderlined = vue.computed(() => ['plain', 'underlined'].includes(props.variant));
|
23702
23759
|
const isDragging = vue.shallowRef(false);
|
23760
|
+
const {
|
23761
|
+
handleDrop,
|
23762
|
+
hasFilesOrFolders
|
23763
|
+
} = useFileDrop();
|
23703
23764
|
function onFocus() {
|
23704
23765
|
if (inputRef.value !== document.activeElement) {
|
23705
23766
|
inputRef.value?.focus();
|
@@ -23733,13 +23794,13 @@
|
|
23733
23794
|
e.preventDefault();
|
23734
23795
|
isDragging.value = false;
|
23735
23796
|
}
|
23736
|
-
function onDrop(e) {
|
23797
|
+
async function onDrop(e) {
|
23737
23798
|
e.preventDefault();
|
23738
23799
|
e.stopImmediatePropagation();
|
23739
23800
|
isDragging.value = false;
|
23740
|
-
if (!
|
23801
|
+
if (!inputRef.value || !hasFilesOrFolders(e)) return;
|
23741
23802
|
const dataTransfer = new DataTransfer();
|
23742
|
-
for (const file of e
|
23803
|
+
for (const file of await handleDrop(e)) {
|
23743
23804
|
dataTransfer.items.add(file);
|
23744
23805
|
}
|
23745
23806
|
inputRef.value.files = dataTransfer.files;
|
@@ -29407,7 +29468,7 @@
|
|
29407
29468
|
};
|
29408
29469
|
});
|
29409
29470
|
}
|
29410
|
-
const version$1 = "3.8.8-master.2025-06-
|
29471
|
+
const version$1 = "3.8.8-master.2025-06-08";
|
29411
29472
|
createVuetify$1.version = version$1;
|
29412
29473
|
|
29413
29474
|
// Vue's inject() can only be used in setup
|
@@ -29432,7 +29493,7 @@
|
|
29432
29493
|
...options
|
29433
29494
|
});
|
29434
29495
|
};
|
29435
|
-
const version = "3.8.8-master.2025-06-
|
29496
|
+
const version = "3.8.8-master.2025-06-08";
|
29436
29497
|
createVuetify.version = version;
|
29437
29498
|
|
29438
29499
|
exports.blueprints = index;
|