@vuetify/nightly 3.8.8-master.2025-06-07 → 3.8.8-master.2025-06-10
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 +11 -3
- package/dist/json/attributes.json +2832 -2832
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +162 -162
- package/dist/json/web-types.json +5438 -5438
- package/dist/vuetify-labs.cjs +98 -34
- package/dist/vuetify-labs.css +4072 -4072
- package/dist/vuetify-labs.d.ts +58 -62
- package/dist/vuetify-labs.esm.js +99 -35
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +98 -34
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +91 -30
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4746 -4746
- package/dist/vuetify.d.ts +58 -62
- package/dist/vuetify.esm.js +92 -31
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +91 -30
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +964 -958
- 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/VSelect/VSelect.js +6 -5
- package/lib/components/VSelect/VSelect.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/adapters/vuetify.js +1 -1
- package/lib/composables/date/adapters/vuetify.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/composables/list-items.js +2 -2
- package/lib/composables/list-items.js.map +1 -1
- package/lib/entry-bundler.d.ts +0 -3
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +58 -62
- 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/lib/util/helpers.d.ts +1 -1
- package/lib/util/helpers.js +0 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.cjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.8-master.2025-06-
|
2
|
+
* Vuetify v3.8.8-master.2025-06-10
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -530,7 +530,6 @@
|
|
530
530
|
return cleanText;
|
531
531
|
}
|
532
532
|
function camelizeProps(props) {
|
533
|
-
if (!props) return;
|
534
533
|
const out = {};
|
535
534
|
for (const prop in props) {
|
536
535
|
out[vue.camelize(prop)] = props[prop];
|
@@ -9868,7 +9867,7 @@
|
|
9868
9867
|
const _props = {
|
9869
9868
|
title,
|
9870
9869
|
value,
|
9871
|
-
...
|
9870
|
+
...itemProps
|
9872
9871
|
};
|
9873
9872
|
return {
|
9874
9873
|
title: String(_props.title ?? ''),
|
@@ -13335,6 +13334,7 @@
|
|
13335
13334
|
index,
|
13336
13335
|
itemRef
|
13337
13336
|
} = _ref2;
|
13337
|
+
const camelizedProps = camelizeProps(item.props);
|
13338
13338
|
const itemProps = vue.mergeProps(item.props, {
|
13339
13339
|
ref: itemRef,
|
13340
13340
|
key: item.value,
|
@@ -13356,10 +13356,10 @@
|
|
13356
13356
|
"modelValue": isSelected,
|
13357
13357
|
"ripple": false,
|
13358
13358
|
"tabindex": "-1"
|
13359
|
-
}, null) : undefined,
|
13360
|
-
"image":
|
13361
|
-
}, null),
|
13362
|
-
"icon":
|
13359
|
+
}, null) : undefined, camelizedProps.prependAvatar && vue.createVNode(VAvatar, {
|
13360
|
+
"image": camelizedProps.prependAvatar
|
13361
|
+
}, null), camelizedProps.prependIcon && vue.createVNode(VIcon, {
|
13362
|
+
"icon": camelizedProps.prependIcon
|
13363
13363
|
}, null)]);
|
13364
13364
|
}
|
13365
13365
|
});
|
@@ -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']])]
|
@@ -17807,7 +17807,7 @@
|
|
17807
17807
|
const yearStart = new Date(year, 0, 1);
|
17808
17808
|
const size = firstWeekSize(year);
|
17809
17809
|
const d1w1 = size >= minWeekSize ? addDays(yearStart, size - 7) : addDays(yearStart, size);
|
17810
|
-
return 1 + getDiff(date, d1w1, 'weeks');
|
17810
|
+
return 1 + getDiff(endOfDay(date), startOfDay(d1w1), 'weeks');
|
17811
17811
|
}
|
17812
17812
|
function getDate(date) {
|
17813
17813
|
return date.getDate();
|
@@ -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(adapter.endOfDay(stop ?? start), adapter.startOfDay(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-10";
|
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-10";
|
29436
29497
|
createVuetify.version = version;
|
29437
29498
|
|
29438
29499
|
exports.blueprints = index;
|