@vuetify/nightly 3.9.2-master.2025-07-28 → 3.9.3-master.2025-07-30
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 +9 -51
- package/dist/json/attributes.json +3076 -3076
- package/dist/json/importMap-labs.json +30 -30
- package/dist/json/importMap.json +154 -154
- package/dist/json/web-types.json +5573 -5573
- package/dist/vuetify-labs.cjs +91 -35
- package/dist/vuetify-labs.css +4963 -4960
- package/dist/vuetify-labs.d.ts +60 -59
- package/dist/vuetify-labs.esm.js +91 -35
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +91 -35
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +59 -20
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4049 -4046
- package/dist/vuetify.d.ts +60 -59
- package/dist/vuetify.esm.js +59 -20
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +59 -20
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +200 -198
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +10 -6
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.js +8 -1
- package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +11 -0
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.js +3 -0
- package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
- package/lib/components/VList/VListChildren.js +3 -4
- package/lib/components/VList/VListChildren.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.css +9 -14
- package/lib/components/VSlider/VSliderThumb.js +13 -7
- package/lib/components/VSlider/VSliderThumb.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.sass +9 -14
- package/lib/components/VSlider/slider.d.ts +1 -0
- package/lib/components/VSlider/slider.js +2 -0
- package/lib/components/VSlider/slider.js.map +1 -1
- package/lib/components/VWindow/VWindow.css +8 -0
- package/lib/components/VWindow/VWindow.sass +9 -0
- package/lib/composables/theme.d.ts +1 -0
- package/lib/composables/theme.js +3 -1
- package/lib/composables/theme.js.map +1 -1
- package/lib/directives/ripple/index.js +2 -2
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +60 -59
- package/lib/framework.js +1 -1
- package/lib/labs/VVideo/VVideo.css +1 -1
- package/lib/labs/VVideo/VVideo.js +2 -2
- package/lib/labs/VVideo/VVideo.js.map +1 -1
- package/lib/labs/VVideo/VVideo.sass +2 -0
- package/lib/labs/VVideo/VVideoControls.js +32 -15
- package/lib/labs/VVideo/VVideoControls.js.map +1 -1
- package/lib/locale/af.d.ts +7 -0
- package/lib/locale/af.js +7 -0
- package/lib/locale/af.js.map +1 -1
- package/lib/locale/ar.d.ts +7 -0
- package/lib/locale/ar.js +13 -6
- package/lib/locale/ar.js.map +1 -1
- package/lib/locale/az.d.ts +7 -0
- package/lib/locale/az.js +7 -0
- package/lib/locale/az.js.map +1 -1
- package/lib/locale/bg.d.ts +7 -0
- package/lib/locale/bg.js +7 -0
- package/lib/locale/bg.js.map +1 -1
- package/lib/locale/ca.d.ts +7 -0
- package/lib/locale/ca.js +7 -0
- package/lib/locale/ca.js.map +1 -1
- package/lib/locale/ckb.d.ts +7 -0
- package/lib/locale/ckb.js +7 -0
- package/lib/locale/ckb.js.map +1 -1
- package/lib/locale/cs.d.ts +7 -0
- package/lib/locale/cs.js +7 -0
- package/lib/locale/cs.js.map +1 -1
- package/lib/locale/da.d.ts +7 -0
- package/lib/locale/da.js +7 -0
- package/lib/locale/da.js.map +1 -1
- package/lib/locale/de.d.ts +7 -0
- package/lib/locale/de.js +7 -0
- package/lib/locale/de.js.map +1 -1
- package/lib/locale/el.d.ts +7 -0
- package/lib/locale/el.js +7 -0
- package/lib/locale/el.js.map +1 -1
- package/lib/locale/en.d.ts +7 -0
- package/lib/locale/en.js +8 -0
- package/lib/locale/en.js.map +1 -1
- package/lib/locale/es.d.ts +7 -0
- package/lib/locale/es.js +7 -0
- package/lib/locale/es.js.map +1 -1
- package/lib/locale/et.d.ts +7 -0
- package/lib/locale/et.js +7 -0
- package/lib/locale/et.js.map +1 -1
- package/lib/locale/fa.d.ts +7 -0
- package/lib/locale/fa.js +7 -0
- package/lib/locale/fa.js.map +1 -1
- package/lib/locale/fi.d.ts +7 -0
- package/lib/locale/fi.js +7 -0
- package/lib/locale/fi.js.map +1 -1
- package/lib/locale/fr.d.ts +7 -0
- package/lib/locale/fr.js +7 -0
- package/lib/locale/fr.js.map +1 -1
- package/lib/locale/he.d.ts +7 -0
- package/lib/locale/he.js +7 -0
- package/lib/locale/he.js.map +1 -1
- package/lib/locale/hr.d.ts +7 -0
- package/lib/locale/hr.js +7 -0
- package/lib/locale/hr.js.map +1 -1
- package/lib/locale/hu.d.ts +7 -0
- package/lib/locale/hu.js +7 -0
- package/lib/locale/hu.js.map +1 -1
- package/lib/locale/id.d.ts +7 -0
- package/lib/locale/id.js +7 -0
- package/lib/locale/id.js.map +1 -1
- package/lib/locale/it.d.ts +7 -0
- package/lib/locale/it.js +7 -0
- package/lib/locale/it.js.map +1 -1
- package/lib/locale/ja.d.ts +7 -0
- package/lib/locale/ja.js +7 -0
- package/lib/locale/ja.js.map +1 -1
- package/lib/locale/km.d.ts +7 -0
- package/lib/locale/km.js +7 -0
- package/lib/locale/km.js.map +1 -1
- package/lib/locale/ko.d.ts +7 -0
- package/lib/locale/ko.js +7 -0
- package/lib/locale/ko.js.map +1 -1
- package/lib/locale/lt.d.ts +7 -0
- package/lib/locale/lt.js +7 -0
- package/lib/locale/lt.js.map +1 -1
- package/lib/locale/lv.d.ts +7 -0
- package/lib/locale/lv.js +7 -0
- package/lib/locale/lv.js.map +1 -1
- package/lib/locale/nl.d.ts +7 -0
- package/lib/locale/nl.js +7 -0
- package/lib/locale/nl.js.map +1 -1
- package/lib/locale/no.d.ts +7 -0
- package/lib/locale/no.js +7 -0
- package/lib/locale/no.js.map +1 -1
- package/lib/locale/pl.d.ts +7 -0
- package/lib/locale/pl.js +7 -0
- package/lib/locale/pl.js.map +1 -1
- package/lib/locale/pt.d.ts +7 -0
- package/lib/locale/pt.js +7 -0
- package/lib/locale/pt.js.map +1 -1
- package/lib/locale/ro.d.ts +7 -0
- package/lib/locale/ro.js +7 -0
- package/lib/locale/ro.js.map +1 -1
- package/lib/locale/ru.d.ts +7 -0
- package/lib/locale/ru.js +7 -0
- package/lib/locale/ru.js.map +1 -1
- package/lib/locale/sk.d.ts +7 -0
- package/lib/locale/sk.js +7 -0
- package/lib/locale/sk.js.map +1 -1
- package/lib/locale/sl.d.ts +7 -0
- package/lib/locale/sl.js +7 -0
- package/lib/locale/sl.js.map +1 -1
- package/lib/locale/sr-Cyrl.d.ts +7 -0
- package/lib/locale/sr-Cyrl.js +7 -0
- package/lib/locale/sr-Cyrl.js.map +1 -1
- package/lib/locale/sr-Latn.d.ts +7 -0
- package/lib/locale/sr-Latn.js +7 -0
- package/lib/locale/sr-Latn.js.map +1 -1
- package/lib/locale/sv.d.ts +7 -0
- package/lib/locale/sv.js +7 -0
- package/lib/locale/sv.js.map +1 -1
- package/lib/locale/th.d.ts +7 -0
- package/lib/locale/th.js +7 -0
- package/lib/locale/th.js.map +1 -1
- package/lib/locale/tr.d.ts +7 -0
- package/lib/locale/tr.js +7 -0
- package/lib/locale/tr.js.map +1 -1
- package/lib/locale/uk.d.ts +7 -0
- package/lib/locale/uk.js +7 -0
- package/lib/locale/uk.js.map +1 -1
- package/lib/locale/vi.d.ts +7 -0
- package/lib/locale/vi.js +7 -0
- package/lib/locale/vi.js.map +1 -1
- package/lib/locale/zh-Hans.d.ts +7 -0
- package/lib/locale/zh-Hans.js +7 -0
- package/lib/locale/zh-Hans.js.map +1 -1
- package/lib/locale/zh-Hant.d.ts +7 -0
- package/lib/locale/zh-Hant.js +7 -0
- package/lib/locale/zh-Hant.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.9.
|
2
|
+
* Vuetify v3.9.3-master.2025-07-30
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -2149,6 +2149,14 @@
|
|
2149
2149
|
header: 'Enter date',
|
2150
2150
|
input: {
|
2151
2151
|
placeholder: 'Enter date'
|
2152
|
+
},
|
2153
|
+
ariaLabel: {
|
2154
|
+
previousMonth: 'Previous month',
|
2155
|
+
nextMonth: 'Next month',
|
2156
|
+
selectYear: 'Select year',
|
2157
|
+
selectDate: '{0}',
|
2158
|
+
// Full date format
|
2159
|
+
currentDate: 'Today, {0}'
|
2152
2160
|
}
|
2153
2161
|
},
|
2154
2162
|
noDataText: 'No data available',
|
@@ -2687,6 +2695,7 @@
|
|
2687
2695
|
return acc;
|
2688
2696
|
});
|
2689
2697
|
const current = vue.toRef(() => computedThemes.value[name.value]);
|
2698
|
+
const isSystem = vue.toRef(() => _name.value === 'system');
|
2690
2699
|
const styles = vue.computed(() => {
|
2691
2700
|
const lines = [];
|
2692
2701
|
const important = parsedOptions.unimportant ? '' : ' !important';
|
@@ -2774,7 +2783,7 @@
|
|
2774
2783
|
}
|
2775
2784
|
}
|
2776
2785
|
function change(themeName) {
|
2777
|
-
if (!themeNames.value.includes(themeName)) {
|
2786
|
+
if (themeName !== 'system' && !themeNames.value.includes(themeName)) {
|
2778
2787
|
consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`);
|
2779
2788
|
return;
|
2780
2789
|
}
|
@@ -2807,6 +2816,7 @@
|
|
2807
2816
|
cycle,
|
2808
2817
|
toggle,
|
2809
2818
|
isDisabled: parsedOptions.isDisabled,
|
2819
|
+
isSystem,
|
2810
2820
|
name,
|
2811
2821
|
themes,
|
2812
2822
|
current,
|
@@ -5687,8 +5697,8 @@
|
|
5687
5697
|
if (!el?._ripple?.enabled) return;
|
5688
5698
|
const ripples = el.getElementsByClassName('v-ripple__animation');
|
5689
5699
|
if (ripples.length === 0) return;
|
5690
|
-
const animation = ripples
|
5691
|
-
if (animation
|
5700
|
+
const animation = Array.from(ripples).findLast(ripple => !ripple.dataset.isHiding);
|
5701
|
+
if (!animation) return;else animation.dataset.isHiding = 'true';
|
5692
5702
|
const diff = performance.now() - Number(animation.dataset.activated);
|
5693
5703
|
const delay = Math.max(250 - diff, 0);
|
5694
5704
|
setTimeout(() => {
|
@@ -9906,11 +9916,9 @@
|
|
9906
9916
|
let {
|
9907
9917
|
props: activatorProps
|
9908
9918
|
} = _ref3;
|
9909
|
-
const listItemProps = {
|
9910
|
-
...itemProps,
|
9911
|
-
...activatorProps,
|
9919
|
+
const listItemProps = vue.mergeProps(itemProps, activatorProps, {
|
9912
9920
|
value: props.returnObject ? item : itemProps.value
|
9913
|
-
};
|
9921
|
+
});
|
9914
9922
|
return slots.header ? slots.header({
|
9915
9923
|
props: listItemProps
|
9916
9924
|
}) : vue.createVNode(VListItem, listItemProps, slotsWithItem);
|
@@ -16314,6 +16322,7 @@
|
|
16314
16322
|
const numTicks = vue.computed(() => (max.value - min.value) / step.value);
|
16315
16323
|
const disabled = vue.toRef(() => props.disabled);
|
16316
16324
|
const thumbColor = vue.computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color);
|
16325
|
+
const thumbLabelColor = vue.computed(() => props.error || props.disabled ? undefined : props.thumbColor);
|
16317
16326
|
const trackColor = vue.computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color);
|
16318
16327
|
const trackFillColor = vue.computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color);
|
16319
16328
|
const mousePressed = vue.shallowRef(false);
|
@@ -16471,6 +16480,7 @@
|
|
16471
16480
|
step,
|
16472
16481
|
thumbSize,
|
16473
16482
|
thumbColor,
|
16483
|
+
thumbLabelColor,
|
16474
16484
|
thumbLabel: vue.toRef(() => props.thumbLabel),
|
16475
16485
|
ticks: vue.toRef(() => props.ticks),
|
16476
16486
|
tickSize,
|
@@ -16536,6 +16546,7 @@
|
|
16536
16546
|
min,
|
16537
16547
|
max,
|
16538
16548
|
thumbColor,
|
16549
|
+
thumbLabelColor,
|
16539
16550
|
step,
|
16540
16551
|
disabled,
|
16541
16552
|
thumbSize,
|
@@ -16557,6 +16568,10 @@
|
|
16557
16568
|
textColorClasses,
|
16558
16569
|
textColorStyles
|
16559
16570
|
} = useTextColor(thumbColor);
|
16571
|
+
const {
|
16572
|
+
backgroundColorClasses,
|
16573
|
+
backgroundColorStyles
|
16574
|
+
} = useBackgroundColor(thumbLabelColor);
|
16560
16575
|
const {
|
16561
16576
|
pageup,
|
16562
16577
|
pagedown,
|
@@ -16622,9 +16637,7 @@
|
|
16622
16637
|
"onKeydown": !readonly.value ? onKeydown : undefined
|
16623
16638
|
}, [vue.createElementVNode("div", {
|
16624
16639
|
"class": vue.normalizeClass(['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value]),
|
16625
|
-
"style":
|
16626
|
-
...textColorStyles.value
|
16627
|
-
}
|
16640
|
+
"style": vue.normalizeStyle(textColorStyles.value)
|
16628
16641
|
}, null), vue.withDirectives(vue.createElementVNode("div", {
|
16629
16642
|
"class": vue.normalizeClass(['v-slider-thumb__ripple', textColorClasses.value]),
|
16630
16643
|
"style": vue.normalizeStyle(textColorStyles.value)
|
@@ -16637,10 +16650,13 @@
|
|
16637
16650
|
default: () => [vue.withDirectives(vue.createElementVNode("div", {
|
16638
16651
|
"class": "v-slider-thumb__label-container"
|
16639
16652
|
}, [vue.createElementVNode("div", {
|
16640
|
-
"class": vue.normalizeClass(['v-slider-thumb__label',
|
16653
|
+
"class": vue.normalizeClass(['v-slider-thumb__label', backgroundColorClasses.value]),
|
16654
|
+
"style": vue.normalizeStyle(backgroundColorStyles.value)
|
16641
16655
|
}, [vue.createElementVNode("div", null, [slots['thumb-label']?.({
|
16642
16656
|
modelValue: props.modelValue
|
16643
|
-
}) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])
|
16657
|
+
}) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)]), vue.createElementVNode("div", {
|
16658
|
+
"class": "v-slider-thumb__label-wedge"
|
16659
|
+
}, null)])]), [[vue.vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
|
16644
16660
|
})]);
|
16645
16661
|
});
|
16646
16662
|
return {};
|
@@ -18787,19 +18803,23 @@
|
|
18787
18803
|
get: () => {
|
18788
18804
|
return _search.value;
|
18789
18805
|
},
|
18790
|
-
set: val => {
|
18806
|
+
set: async val => {
|
18791
18807
|
_search.value = val ?? '';
|
18792
18808
|
if (!props.multiple && !hasSelectionSlot.value) {
|
18793
18809
|
model.value = [transformItem$3(props, val)];
|
18794
18810
|
vue.nextTick(() => vVirtualScrollRef.value?.scrollToIndex(0));
|
18795
18811
|
}
|
18796
18812
|
if (val && props.multiple && props.delimiters?.length) {
|
18797
|
-
const
|
18813
|
+
const signsToMatch = props.delimiters.map(escapeForRegex).join('|');
|
18814
|
+
const values = val.split(new RegExp(`(?:${signsToMatch})+`));
|
18798
18815
|
if (values.length > 1) {
|
18799
|
-
|
18816
|
+
for (let v of values) {
|
18800
18817
|
v = v.trim();
|
18801
|
-
if (v)
|
18802
|
-
|
18818
|
+
if (v) {
|
18819
|
+
select(transformItem$3(props, v));
|
18820
|
+
await vue.nextTick();
|
18821
|
+
}
|
18822
|
+
}
|
18803
18823
|
_search.value = '';
|
18804
18824
|
}
|
18805
18825
|
}
|
@@ -22654,6 +22674,9 @@
|
|
22654
22674
|
let {
|
22655
22675
|
emit
|
22656
22676
|
} = _ref;
|
22677
|
+
const {
|
22678
|
+
t
|
22679
|
+
} = useLocale();
|
22657
22680
|
const disableMonth = vue.computed(() => {
|
22658
22681
|
return Array.isArray(props.disabled) ? props.disabled.includes('text') : !!props.disabled;
|
22659
22682
|
});
|
@@ -22700,6 +22723,7 @@
|
|
22700
22723
|
"density": "comfortable",
|
22701
22724
|
"icon": props.modeIcon,
|
22702
22725
|
"variant": "text",
|
22726
|
+
"aria-label": t('$vuetify.datePicker.ariaLabel.selectYear'),
|
22703
22727
|
"onClick": onClickYear
|
22704
22728
|
}, null), vue.createVNode(VSpacer, null, null), vue.createElementVNode("div", {
|
22705
22729
|
"class": "v-date-picker-controls__month"
|
@@ -22709,6 +22733,7 @@
|
|
22709
22733
|
"density": "comfortable",
|
22710
22734
|
"icon": props.prevIcon,
|
22711
22735
|
"variant": "text",
|
22736
|
+
"aria-label": t('$vuetify.datePicker.ariaLabel.previousMonth'),
|
22712
22737
|
"onClick": onClickPrev
|
22713
22738
|
}, null), vue.createVNode(VBtn, {
|
22714
22739
|
"data-testid": "next-month",
|
@@ -22716,6 +22741,7 @@
|
|
22716
22741
|
"icon": props.nextIcon,
|
22717
22742
|
"density": "comfortable",
|
22718
22743
|
"variant": "text",
|
22744
|
+
"aria-label": t('$vuetify.datePicker.ariaLabel.nextMonth'),
|
22719
22745
|
"onClick": onClickNext
|
22720
22746
|
}, null)])]);
|
22721
22747
|
});
|
@@ -22980,6 +23006,9 @@
|
|
22980
23006
|
slots
|
22981
23007
|
} = _ref;
|
22982
23008
|
const daysRef = vue.ref();
|
23009
|
+
const {
|
23010
|
+
t
|
23011
|
+
} = useLocale();
|
22983
23012
|
const {
|
22984
23013
|
daysInMonth,
|
22985
23014
|
model,
|
@@ -23036,6 +23065,11 @@
|
|
23036
23065
|
model.value = [rangeStart.value];
|
23037
23066
|
}
|
23038
23067
|
}
|
23068
|
+
function getDateAriaLabel(item) {
|
23069
|
+
const fullDate = adapter.format(item.date, 'fullDateWithWeekday');
|
23070
|
+
const localeKey = item.isToday ? 'currentDate' : 'selectDate';
|
23071
|
+
return t(`$vuetify.datePicker.ariaLabel.${localeKey}`, fullDate);
|
23072
|
+
}
|
23039
23073
|
function onMultipleClick(value) {
|
23040
23074
|
const index = model.value.findIndex(selection => adapter.isSameDay(selection, value));
|
23041
23075
|
if (index === -1) {
|
@@ -23087,6 +23121,8 @@
|
|
23087
23121
|
ripple: false,
|
23088
23122
|
text: item.localized,
|
23089
23123
|
variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',
|
23124
|
+
'aria-label': getDateAriaLabel(item),
|
23125
|
+
'aria-current': item.isToday ? 'date' : undefined,
|
23090
23126
|
onClick: () => onClick(item.date)
|
23091
23127
|
},
|
23092
23128
|
item,
|
@@ -23141,11 +23177,13 @@
|
|
23141
23177
|
}
|
23142
23178
|
return createRange(12).map(i => {
|
23143
23179
|
const text = adapter.format(date, 'monthShort');
|
23180
|
+
const label = adapter.format(date, 'month');
|
23144
23181
|
const isDisabled = !!(!isMonthAllowed(i) || props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date) || props.max && adapter.isAfter(date, adapter.startOfMonth(adapter.date(props.max))));
|
23145
23182
|
date = adapter.getNextMonth(date);
|
23146
23183
|
return {
|
23147
23184
|
isDisabled,
|
23148
23185
|
text,
|
23186
|
+
label,
|
23149
23187
|
value: i
|
23150
23188
|
};
|
23151
23189
|
});
|
@@ -23172,6 +23210,7 @@
|
|
23172
23210
|
}, [months.value.map((month, i) => {
|
23173
23211
|
const btnProps = {
|
23174
23212
|
active: model.value === i,
|
23213
|
+
ariaLabel: month.label,
|
23175
23214
|
color: model.value === i ? props.color : undefined,
|
23176
23215
|
disabled: month.isDisabled,
|
23177
23216
|
rounded: true,
|
@@ -34106,7 +34145,8 @@
|
|
34106
34145
|
t
|
34107
34146
|
} = useLocale();
|
34108
34147
|
const {
|
34109
|
-
themeClasses
|
34148
|
+
themeClasses,
|
34149
|
+
current: currentTheme
|
34110
34150
|
} = provideTheme(props);
|
34111
34151
|
const {
|
34112
34152
|
densityClasses
|
@@ -34121,6 +34161,13 @@
|
|
34121
34161
|
const fallbackBackground = props.detached ? 'surface' : undefined;
|
34122
34162
|
return props.backgroundColor ?? fallbackBackground;
|
34123
34163
|
});
|
34164
|
+
const trackColor = vue.toRef(() => {
|
34165
|
+
if (props.trackColor) {
|
34166
|
+
return props.trackColor;
|
34167
|
+
}
|
34168
|
+
const fallback = currentTheme.value.dark || !props.pills ? undefined : 'surface';
|
34169
|
+
return (props.pills ? props.backgroundColor : props.color) ?? fallback;
|
34170
|
+
});
|
34124
34171
|
const playing = useProxiedModel(props, 'playing');
|
34125
34172
|
const progress = useProxiedModel(props, 'progress');
|
34126
34173
|
const volume = useProxiedModel(props, 'volume', 0, v => Number(v ?? 0));
|
@@ -34181,7 +34228,8 @@
|
|
34181
34228
|
};
|
34182
34229
|
const regularBtnSize = innerDefaults.VIconBtn.size;
|
34183
34230
|
const playBtnSize = props.pills ? regularBtnSize + 8 : regularBtnSize;
|
34184
|
-
const pillClasses = ['v-video-control__pill', props.pills ? elevationClasses.value : []];
|
34231
|
+
const pillClasses = ['v-video-control__pill', props.pills ? elevationClasses.value : [], props.pills ? backgroundColorClasses.value : []];
|
34232
|
+
const pillStyles = props.pills ? backgroundColorStyles.value : [];
|
34185
34233
|
const slotProps = {
|
34186
34234
|
play,
|
34187
34235
|
pause,
|
@@ -34204,30 +34252,34 @@
|
|
34204
34252
|
'v-video-controls--floating': props.floating
|
34205
34253
|
}, {
|
34206
34254
|
'v-video-controls--split-time': props.splitTime
|
34207
|
-
}, backgroundColorClasses.value, props.detached && !props.pills ? elevationClasses.value : [], densityClasses.value, themeClasses.value]),
|
34208
|
-
"style": vue.normalizeStyle([backgroundColorStyles.value, {
|
34255
|
+
}, !props.pills ? backgroundColorClasses.value : [], props.detached && !props.pills ? elevationClasses.value : [], densityClasses.value, themeClasses.value]),
|
34256
|
+
"style": vue.normalizeStyle([!props.pills ? backgroundColorStyles.value : [], {
|
34209
34257
|
'--v-video-controls-pill-height': `${regularBtnSize}px`
|
34210
34258
|
}])
|
34211
34259
|
}, [vue.createVNode(VDefaultsProvider, {
|
34212
34260
|
"defaults": innerDefaults
|
34213
34261
|
}, {
|
34214
34262
|
default: () => [slots.default?.(slotProps) ?? vue.createElementVNode(vue.Fragment, null, [props.variant !== 'mini' && vue.createElementVNode(vue.Fragment, null, [!props.hidePlay && vue.createElementVNode("div", {
|
34215
|
-
"class": vue.normalizeClass([pillClasses, 'v-video__action-play'])
|
34263
|
+
"class": vue.normalizeClass([pillClasses, 'v-video__action-play']),
|
34264
|
+
"style": vue.normalizeStyle(pillStyles)
|
34216
34265
|
}, [vue.withDirectives(vue.createVNode(VIconBtn, {
|
34217
34266
|
"icon": playing.value ? '$pause' : '$play',
|
34218
34267
|
"size": playBtnSize,
|
34219
34268
|
"aria-label": labels.value.playAction,
|
34220
34269
|
"onClick": () => playing.value = !playing.value
|
34221
34270
|
}, null), [[Tooltip, labels.value.playAction, 'top']])]), slots.prepend && vue.createElementVNode("div", {
|
34222
|
-
"class": vue.normalizeClass(pillClasses)
|
34271
|
+
"class": vue.normalizeClass(pillClasses),
|
34272
|
+
"style": vue.normalizeStyle(pillStyles)
|
34223
34273
|
}, [slots.prepend(slotProps)]), props.splitTime ? vue.createElementVNode("span", {
|
34224
|
-
"class": vue.normalizeClass([pillClasses, 'v-video__time'])
|
34274
|
+
"class": vue.normalizeClass([pillClasses, 'v-video__time']),
|
34275
|
+
"style": vue.normalizeStyle(pillStyles)
|
34225
34276
|
}, [currentTime.value.elapsed]) : props.variant !== 'default' ? vue.createElementVNode("span", {
|
34226
|
-
"class": vue.normalizeClass([pillClasses, 'v-video__time'])
|
34277
|
+
"class": vue.normalizeClass([pillClasses, 'v-video__time']),
|
34278
|
+
"style": vue.normalizeStyle(pillStyles)
|
34227
34279
|
}, [currentTime.value.elapsed, vue.createTextVNode(" / "), currentTime.value.total]) : '', vue.createVNode(VSlider, {
|
34228
34280
|
"modelValue": props.progress,
|
34229
34281
|
"noKeyboard": true,
|
34230
|
-
"color":
|
34282
|
+
"color": trackColor.value ?? 'surface-variant',
|
34231
34283
|
"trackColor": props.variant === 'tube' ? 'white' : undefined,
|
34232
34284
|
"class": "v-video__track",
|
34233
34285
|
"thumbLabel": "always",
|
@@ -34236,18 +34288,22 @@
|
|
34236
34288
|
}, {
|
34237
34289
|
'thumb-label': () => currentTime.value.elapsed
|
34238
34290
|
}), props.variant === 'tube' && vue.createVNode(VSpacer, null, null), props.splitTime ? vue.createElementVNode("span", {
|
34239
|
-
"class": vue.normalizeClass([pillClasses, 'v-video__time'])
|
34291
|
+
"class": vue.normalizeClass([pillClasses, 'v-video__time']),
|
34292
|
+
"style": vue.normalizeStyle(pillStyles)
|
34240
34293
|
}, [currentTime.value.remaining]) : '']), props.variant === 'mini' && vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VSpacer, null, null), slots.prepend && vue.createElementVNode("div", {
|
34241
|
-
"class": vue.normalizeClass(pillClasses)
|
34294
|
+
"class": vue.normalizeClass(pillClasses),
|
34295
|
+
"style": vue.normalizeStyle(pillStyles)
|
34242
34296
|
}, [slots.prepend(slotProps)]), !props.hidePlay && vue.createElementVNode("div", {
|
34243
|
-
"class": vue.normalizeClass([pillClasses, 'v-video__action-play'])
|
34297
|
+
"class": vue.normalizeClass([pillClasses, 'v-video__action-play']),
|
34298
|
+
"style": vue.normalizeStyle(pillStyles)
|
34244
34299
|
}, [vue.withDirectives(vue.createVNode(VIconBtn, {
|
34245
34300
|
"icon": playing.value ? '$pause' : '$play',
|
34246
34301
|
"size": playBtnSize,
|
34247
34302
|
"aria-label": labels.value.playAction,
|
34248
34303
|
"onClick": () => playing.value = !playing.value
|
34249
34304
|
}, null), [[Tooltip, labels.value.playAction, 'top']])])]), (!props.hideVolume || !props.hideFullscreen || slots.append) && vue.createElementVNode("div", {
|
34250
|
-
"class": vue.normalizeClass(pillClasses)
|
34305
|
+
"class": vue.normalizeClass(pillClasses),
|
34306
|
+
"style": vue.normalizeStyle(pillStyles)
|
34251
34307
|
}, [!props.hideVolume && vue.createVNode(VVideoVolume, vue.mergeProps({
|
34252
34308
|
"key": "volume-control",
|
34253
34309
|
"sliderProps": {
|
@@ -34640,9 +34696,9 @@
|
|
34640
34696
|
}, {
|
34641
34697
|
default: () => [vue.createElementVNode("div", {
|
34642
34698
|
"class": vue.normalizeClass(['v-video__overlay-fill', ...roundedContainerClasses.value])
|
34643
|
-
}, [overlayPlayIcon])]
|
34699
|
+
}, [props.variant === 'player' && overlayPlayIcon])]
|
34644
34700
|
})]
|
34645
|
-
}), vue.createVNode(VOverlay, vue.mergeProps({
|
34701
|
+
}), props.variant === 'player' && vue.createVNode(VOverlay, vue.mergeProps({
|
34646
34702
|
"key": "loading-overlay",
|
34647
34703
|
"modelValue": state.value === 'loading' || waiting.value,
|
34648
34704
|
"opacity": ".1"
|
@@ -35104,7 +35160,7 @@
|
|
35104
35160
|
};
|
35105
35161
|
});
|
35106
35162
|
}
|
35107
|
-
const version$1 = "3.9.
|
35163
|
+
const version$1 = "3.9.3-master.2025-07-30";
|
35108
35164
|
createVuetify$1.version = version$1;
|
35109
35165
|
|
35110
35166
|
// Vue's inject() can only be used in setup
|
@@ -35402,7 +35458,7 @@
|
|
35402
35458
|
|
35403
35459
|
/* eslint-disable local-rules/sort-imports */
|
35404
35460
|
|
35405
|
-
const version = "3.9.
|
35461
|
+
const version = "3.9.3-master.2025-07-30";
|
35406
35462
|
|
35407
35463
|
/* eslint-disable local-rules/sort-imports */
|
35408
35464
|
|