@vuetify/nightly 3.8.2-dev.2025-04-17 → 3.8.2-master.2025-04-19
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 +7 -16
- package/dist/json/attributes.json +3562 -3562
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +164 -164
- package/dist/json/web-types.json +6668 -6669
- package/dist/vuetify-labs.cjs +36 -112
- package/dist/vuetify-labs.css +3302 -3302
- package/dist/vuetify-labs.d.ts +62 -76
- package/dist/vuetify-labs.esm.js +37 -113
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +36 -112
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +29 -103
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +5737 -5737
- package/dist/vuetify.d.ts +57 -62
- package/dist/vuetify.esm.js +30 -104
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +29 -103
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1165 -1171
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/composables/calendar.d.ts +0 -1
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/theme.d.ts +1 -6
- package/lib/composables/theme.js +26 -94
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/virtual.js +1 -6
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +57 -62
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VIconBtn/VIconBtn.d.ts +6 -21
- package/lib/labs/VIconBtn/VIconBtn.js +7 -9
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/util/globals.d.ts +0 -1
- package/lib/util/globals.js +0 -1
- package/lib/util/globals.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.d.ts
CHANGED
@@ -133,12 +133,11 @@ type DeepPartial<T> = T extends object ? {
|
|
133
133
|
} : T;
|
134
134
|
type ThemeOptions = false | {
|
135
135
|
cspNonce?: string;
|
136
|
-
defaultTheme?:
|
136
|
+
defaultTheme?: string;
|
137
137
|
variations?: false | VariationsOptions;
|
138
138
|
themes?: Record<string, ThemeDefinition>;
|
139
139
|
stylesheetId?: string;
|
140
140
|
scope?: string;
|
141
|
-
unimportant?: boolean;
|
142
141
|
};
|
143
142
|
type ThemeDefinition = DeepPartial<InternalThemeDefinition>;
|
144
143
|
interface VariationsOptions {
|
@@ -175,15 +174,11 @@ interface OnColors {
|
|
175
174
|
'on-info': string;
|
176
175
|
}
|
177
176
|
interface ThemeInstance {
|
178
|
-
change: (themeName: string) => void;
|
179
|
-
cycle: (themeArray?: string[]) => void;
|
180
|
-
toggle: (themeArray?: [string, string]) => void;
|
181
177
|
readonly isDisabled: boolean;
|
182
178
|
readonly themes: Ref<Record<string, InternalThemeDefinition>>;
|
183
179
|
readonly name: Readonly<Ref<string>>;
|
184
180
|
readonly current: DeepReadonly<Ref<InternalThemeDefinition>>;
|
185
181
|
readonly computedThemes: DeepReadonly<Ref<Record<string, InternalThemeDefinition>>>;
|
186
|
-
readonly prefix: string;
|
187
182
|
readonly themeClasses: Readonly<Ref<string | undefined>>;
|
188
183
|
readonly styles: Readonly<Ref<string>>;
|
189
184
|
readonly global: {
|
@@ -82963,20 +82958,21 @@ declare module 'vue' {
|
|
82963
82958
|
$children?: VNodeChild
|
82964
82959
|
}
|
82965
82960
|
export interface GlobalComponents {
|
82966
|
-
VApp: VApp
|
82967
82961
|
VAutocomplete: VAutocomplete
|
82962
|
+
VAlert: VAlert
|
82963
|
+
VAlertTitle: VAlertTitle
|
82968
82964
|
VAppBar: VAppBar
|
82969
82965
|
VAppBarNavIcon: VAppBarNavIcon
|
82970
82966
|
VAppBarTitle: VAppBarTitle
|
82971
|
-
VAlert: VAlert
|
82972
|
-
VAlertTitle: VAlertTitle
|
82973
|
-
VAvatar: VAvatar
|
82974
82967
|
VBadge: VBadge
|
82975
82968
|
VBottomNavigation: VBottomNavigation
|
82976
|
-
VBottomSheet: VBottomSheet
|
82977
82969
|
VBanner: VBanner
|
82978
82970
|
VBannerActions: VBannerActions
|
82979
82971
|
VBannerText: VBannerText
|
82972
|
+
VAvatar: VAvatar
|
82973
|
+
VBottomSheet: VBottomSheet
|
82974
|
+
VBtn: VBtn
|
82975
|
+
VBtnGroup: VBtnGroup
|
82980
82976
|
VBreadcrumbs: VBreadcrumbs
|
82981
82977
|
VBreadcrumbsItem: VBreadcrumbsItem
|
82982
82978
|
VBreadcrumbsDivider: VBreadcrumbsDivider
|
@@ -82986,16 +82982,23 @@ declare module 'vue' {
|
|
82986
82982
|
VCardSubtitle: VCardSubtitle
|
82987
82983
|
VCardText: VCardText
|
82988
82984
|
VCardTitle: VCardTitle
|
82985
|
+
VApp: VApp
|
82989
82986
|
VBtnToggle: VBtnToggle
|
82987
|
+
VChip: VChip
|
82990
82988
|
VCarousel: VCarousel
|
82991
82989
|
VCarouselItem: VCarouselItem
|
82992
82990
|
VCheckbox: VCheckbox
|
82993
82991
|
VCheckboxBtn: VCheckboxBtn
|
82994
|
-
VBtn: VBtn
|
82995
|
-
VChip: VChip
|
82996
82992
|
VCode: VCode
|
82997
82993
|
VColorPicker: VColorPicker
|
82994
|
+
VDatePicker: VDatePicker
|
82995
|
+
VDatePickerControls: VDatePickerControls
|
82996
|
+
VDatePickerHeader: VDatePickerHeader
|
82997
|
+
VDatePickerMonth: VDatePickerMonth
|
82998
|
+
VDatePickerMonths: VDatePickerMonths
|
82999
|
+
VDatePickerYears: VDatePickerYears
|
82998
83000
|
VCounter: VCounter
|
83001
|
+
VCombobox: VCombobox
|
82999
83002
|
VDataTable: VDataTable
|
83000
83003
|
VDataTableHeaders: VDataTableHeaders
|
83001
83004
|
VDataTableFooter: VDataTableFooter
|
@@ -83003,36 +83006,29 @@ declare module 'vue' {
|
|
83003
83006
|
VDataTableRow: VDataTableRow
|
83004
83007
|
VDataTableVirtual: VDataTableVirtual
|
83005
83008
|
VDataTableServer: VDataTableServer
|
83006
|
-
|
83007
|
-
|
83008
|
-
VDatePickerHeader: VDatePickerHeader
|
83009
|
-
VDatePickerMonth: VDatePickerMonth
|
83010
|
-
VDatePickerMonths: VDatePickerMonths
|
83011
|
-
VDatePickerYears: VDatePickerYears
|
83012
|
-
VChipGroup: VChipGroup
|
83009
|
+
VDialog: VDialog
|
83010
|
+
VEmptyState: VEmptyState
|
83013
83011
|
VDivider: VDivider
|
83014
83012
|
VExpansionPanels: VExpansionPanels
|
83015
83013
|
VExpansionPanel: VExpansionPanel
|
83016
83014
|
VExpansionPanelText: VExpansionPanelText
|
83017
83015
|
VExpansionPanelTitle: VExpansionPanelTitle
|
83018
|
-
|
83016
|
+
VFab: VFab
|
83017
|
+
VFileInput: VFileInput
|
83018
|
+
VInfiniteScroll: VInfiniteScroll
|
83019
83019
|
VField: VField
|
83020
83020
|
VFieldLabel: VFieldLabel
|
83021
|
-
|
83022
|
-
VFab: VFab
|
83023
|
-
VImg: VImg
|
83024
|
-
VBtnGroup: VBtnGroup
|
83025
|
-
VCombobox: VCombobox
|
83021
|
+
VFooter: VFooter
|
83026
83022
|
VIcon: VIcon
|
83027
83023
|
VComponentIcon: VComponentIcon
|
83028
83024
|
VSvgIcon: VSvgIcon
|
83029
83025
|
VLigatureIcon: VLigatureIcon
|
83030
83026
|
VClassIcon: VClassIcon
|
83031
|
-
VFooter: VFooter
|
83032
|
-
VInfiniteScroll: VInfiniteScroll
|
83033
83027
|
VInput: VInput
|
83028
|
+
VImg: VImg
|
83034
83029
|
VKbd: VKbd
|
83035
|
-
|
83030
|
+
VItemGroup: VItemGroup
|
83031
|
+
VItem: VItem
|
83036
83032
|
VList: VList
|
83037
83033
|
VListGroup: VListGroup
|
83038
83034
|
VListImg: VListImg
|
@@ -83042,30 +83038,27 @@ declare module 'vue' {
|
|
83042
83038
|
VListItemSubtitle: VListItemSubtitle
|
83043
83039
|
VListItemTitle: VListItemTitle
|
83044
83040
|
VListSubheader: VListSubheader
|
83045
|
-
|
83041
|
+
VLabel: VLabel
|
83042
|
+
VMenu: VMenu
|
83046
83043
|
VMessages: VMessages
|
83047
|
-
|
83048
|
-
VItem: VItem
|
83049
|
-
VDialog: VDialog
|
83050
|
-
VNumberInput: VNumberInput
|
83044
|
+
VMain: VMain
|
83051
83045
|
VNavigationDrawer: VNavigationDrawer
|
83052
|
-
VMenu: VMenu
|
83053
|
-
VOverlay: VOverlay
|
83054
83046
|
VOtpInput: VOtpInput
|
83055
|
-
VProgressLinear: VProgressLinear
|
83056
83047
|
VPagination: VPagination
|
83048
|
+
VOverlay: VOverlay
|
83049
|
+
VProgressLinear: VProgressLinear
|
83050
|
+
VNumberInput: VNumberInput
|
83051
|
+
VProgressCircular: VProgressCircular
|
83052
|
+
VSelectionControl: VSelectionControl
|
83057
83053
|
VRadioGroup: VRadioGroup
|
83054
|
+
VSelect: VSelect
|
83058
83055
|
VRating: VRating
|
83059
|
-
VProgressCircular: VProgressCircular
|
83060
83056
|
VSelectionControlGroup: VSelectionControlGroup
|
83061
|
-
VSelect: VSelect
|
83062
83057
|
VSheet: VSheet
|
83063
83058
|
VSnackbar: VSnackbar
|
83064
83059
|
VSkeletonLoader: VSkeletonLoader
|
83065
|
-
VSelectionControl: VSelectionControl
|
83066
83060
|
VSlideGroup: VSlideGroup
|
83067
83061
|
VSlideGroupItem: VSlideGroupItem
|
83068
|
-
VSwitch: VSwitch
|
83069
83062
|
VSlider: VSlider
|
83070
83063
|
VStepper: VStepper
|
83071
83064
|
VStepperActions: VStepperActions
|
@@ -83073,15 +83066,14 @@ declare module 'vue' {
|
|
83073
83066
|
VStepperItem: VStepperItem
|
83074
83067
|
VStepperWindow: VStepperWindow
|
83075
83068
|
VStepperWindowItem: VStepperWindowItem
|
83069
|
+
VSwitch: VSwitch
|
83070
|
+
VSystemBar: VSystemBar
|
83071
|
+
VTextarea: VTextarea
|
83072
|
+
VTextField: VTextField
|
83076
83073
|
VTab: VTab
|
83077
83074
|
VTabs: VTabs
|
83078
83075
|
VTabsWindow: VTabsWindow
|
83079
83076
|
VTabsWindowItem: VTabsWindowItem
|
83080
|
-
VTable: VTable
|
83081
|
-
VTextField: VTextField
|
83082
|
-
VSystemBar: VSystemBar
|
83083
|
-
VTooltip: VTooltip
|
83084
|
-
VTextarea: VTextarea
|
83085
83077
|
VTimeline: VTimeline
|
83086
83078
|
VTimelineItem: VTimelineItem
|
83087
83079
|
VToolbar: VToolbar
|
@@ -83089,6 +83081,9 @@ declare module 'vue' {
|
|
83089
83081
|
VToolbarItems: VToolbarItems
|
83090
83082
|
VWindow: VWindow
|
83091
83083
|
VWindowItem: VWindowItem
|
83084
|
+
VTooltip: VTooltip
|
83085
|
+
VChipGroup: VChipGroup
|
83086
|
+
VConfirmEdit: VConfirmEdit
|
83092
83087
|
VDataIterator: VDataIterator
|
83093
83088
|
VDefaultsProvider: VDefaultsProvider
|
83094
83089
|
VForm: VForm
|
@@ -83097,22 +83092,18 @@ declare module 'vue' {
|
|
83097
83092
|
VRow: VRow
|
83098
83093
|
VSpacer: VSpacer
|
83099
83094
|
VHover: VHover
|
83095
|
+
VLazy: VLazy
|
83100
83096
|
VLayout: VLayout
|
83101
83097
|
VLayoutItem: VLayoutItem
|
83102
83098
|
VLocaleProvider: VLocaleProvider
|
83103
|
-
VLazy: VLazy
|
83104
83099
|
VNoSsr: VNoSsr
|
83105
83100
|
VParallax: VParallax
|
83106
83101
|
VRadio: VRadio
|
83107
83102
|
VRangeSlider: VRangeSlider
|
83108
|
-
VSpeedDial: VSpeedDial
|
83109
|
-
VSnackbarQueue: VSnackbarQueue
|
83110
83103
|
VResponsive: VResponsive
|
83111
83104
|
VSparkline: VSparkline
|
83112
|
-
|
83113
|
-
|
83114
|
-
VThemeProvider: VThemeProvider
|
83115
|
-
VConfirmEdit: VConfirmEdit
|
83105
|
+
VSnackbarQueue: VSnackbarQueue
|
83106
|
+
VSpeedDial: VSpeedDial
|
83116
83107
|
VFabTransition: VFabTransition
|
83117
83108
|
VDialogBottomTransition: VDialogBottomTransition
|
83118
83109
|
VDialogTopTransition: VDialogTopTransition
|
@@ -83129,6 +83120,13 @@ declare module 'vue' {
|
|
83129
83120
|
VExpandTransition: VExpandTransition
|
83130
83121
|
VExpandXTransition: VExpandXTransition
|
83131
83122
|
VDialogTransition: VDialogTransition
|
83123
|
+
VValidation: VValidation
|
83124
|
+
VThemeProvider: VThemeProvider
|
83125
|
+
VVirtualScroll: VVirtualScroll
|
83126
|
+
VTable: VTable
|
83127
|
+
VIconBtn: VIconBtn
|
83128
|
+
VPicker: VPicker
|
83129
|
+
VPickerTitle: VPickerTitle
|
83132
83130
|
VCalendar: VCalendar
|
83133
83131
|
VCalendarDay: VCalendarDay
|
83134
83132
|
VCalendarHeader: VCalendarHeader
|
@@ -83137,18 +83135,15 @@ declare module 'vue' {
|
|
83137
83135
|
VCalendarMonthDay: VCalendarMonthDay
|
83138
83136
|
VFileUpload: VFileUpload
|
83139
83137
|
VFileUploadItem: VFileUploadItem
|
83140
|
-
VPicker: VPicker
|
83141
|
-
VPickerTitle: VPickerTitle
|
83142
|
-
VStepperVertical: VStepperVertical
|
83143
|
-
VStepperVerticalItem: VStepperVerticalItem
|
83144
|
-
VStepperVerticalActions: VStepperVerticalActions
|
83145
|
-
VIconBtn: VIconBtn
|
83146
|
-
VTimePicker: VTimePicker
|
83147
|
-
VTimePickerClock: VTimePickerClock
|
83148
|
-
VTimePickerControls: VTimePickerControls
|
83149
83138
|
VTreeview: VTreeview
|
83150
83139
|
VTreeviewItem: VTreeviewItem
|
83151
83140
|
VTreeviewGroup: VTreeviewGroup
|
83141
|
+
VTimePicker: VTimePicker
|
83142
|
+
VTimePickerClock: VTimePickerClock
|
83143
|
+
VTimePickerControls: VTimePickerControls
|
83144
|
+
VStepperVertical: VStepperVertical
|
83145
|
+
VStepperVerticalItem: VStepperVerticalItem
|
83146
|
+
VStepperVerticalActions: VStepperVerticalActions
|
83152
83147
|
VDateInput: VDateInput
|
83153
83148
|
VPullToRefresh: VPullToRefresh
|
83154
83149
|
}
|
package/dist/vuetify.esm.js
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.2-
|
2
|
+
* Vuetify v3.8.2-master.2025-04-19
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
6
6
|
|
7
|
-
import { shallowRef, reactive, computed, watchEffect, toRefs, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw,
|
7
|
+
import { shallowRef, reactive, computed, watchEffect, toRefs, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, TransitionGroup, Transition, isRef, toRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, toDisplayString, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, vModelText, resolveComponent, render } from 'vue';
|
8
8
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
11
11
|
const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
|
12
12
|
const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;
|
13
|
-
const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function';
|
14
13
|
|
15
14
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
16
15
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -2768,7 +2767,6 @@ const makeThemeProps = propsFactory({
|
|
2768
2767
|
function genDefaults$1() {
|
2769
2768
|
return {
|
2770
2769
|
defaultTheme: 'light',
|
2771
|
-
prefix: 'v-',
|
2772
2770
|
variations: {
|
2773
2771
|
colors: [],
|
2774
2772
|
lighten: 0,
|
@@ -2850,10 +2848,7 @@ function genDefaults$1() {
|
|
2850
2848
|
}
|
2851
2849
|
}
|
2852
2850
|
},
|
2853
|
-
stylesheetId: 'vuetify-theme-stylesheet'
|
2854
|
-
scoped: false,
|
2855
|
-
unimportant: false,
|
2856
|
-
utilities: true
|
2851
|
+
stylesheetId: 'vuetify-theme-stylesheet'
|
2857
2852
|
};
|
2858
2853
|
}
|
2859
2854
|
function parseThemeOptions() {
|
@@ -2876,21 +2871,21 @@ function parseThemeOptions() {
|
|
2876
2871
|
function createCssClass(lines, selector, content, scope) {
|
2877
2872
|
lines.push(`${getScopedSelector(selector, scope)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
|
2878
2873
|
}
|
2879
|
-
function genCssVariables(theme
|
2874
|
+
function genCssVariables(theme) {
|
2880
2875
|
const lightOverlay = theme.dark ? 2 : 1;
|
2881
2876
|
const darkOverlay = theme.dark ? 1 : 2;
|
2882
2877
|
const variables = [];
|
2883
2878
|
for (const [key, value] of Object.entries(theme.colors)) {
|
2884
2879
|
const rgb = parseColor(value);
|
2885
|
-
variables.push(
|
2880
|
+
variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
2886
2881
|
if (!key.startsWith('on-')) {
|
2887
|
-
variables.push(
|
2882
|
+
variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
2888
2883
|
}
|
2889
2884
|
}
|
2890
2885
|
for (const [key, value] of Object.entries(theme.variables)) {
|
2891
2886
|
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
2892
2887
|
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
2893
|
-
variables.push(
|
2888
|
+
variables.push(`--v-${key}: ${rgb ?? value}`);
|
2894
2889
|
}
|
2895
2890
|
return variables;
|
2896
2891
|
}
|
@@ -2934,8 +2929,7 @@ function getScopedSelector(selector, scope) {
|
|
2934
2929
|
const scopeSelector = `:where(${scope})`;
|
2935
2930
|
return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;
|
2936
2931
|
}
|
2937
|
-
function upsertStyles(
|
2938
|
-
const styleEl = getOrCreateStyleElement(id, cspNonce);
|
2932
|
+
function upsertStyles(styleEl, styles) {
|
2939
2933
|
if (!styleEl) return;
|
2940
2934
|
styleEl.innerHTML = styles;
|
2941
2935
|
}
|
@@ -2955,17 +2949,8 @@ function getOrCreateStyleElement(id, cspNonce) {
|
|
2955
2949
|
// Composables
|
2956
2950
|
function createTheme(options) {
|
2957
2951
|
const parsedOptions = parseThemeOptions(options);
|
2958
|
-
const
|
2952
|
+
const name = shallowRef(parsedOptions.defaultTheme);
|
2959
2953
|
const themes = ref(parsedOptions.themes);
|
2960
|
-
const systemName = shallowRef('light');
|
2961
|
-
const name = computed({
|
2962
|
-
get() {
|
2963
|
-
return _name.value === 'system' ? systemName.value : _name.value;
|
2964
|
-
},
|
2965
|
-
set(val) {
|
2966
|
-
_name.value = val;
|
2967
|
-
}
|
2968
|
-
});
|
2969
2954
|
const computedThemes = computed(() => {
|
2970
2955
|
const acc = {};
|
2971
2956
|
for (const [name, original] of Object.entries(themes.value)) {
|
@@ -2986,49 +2971,28 @@ function createTheme(options) {
|
|
2986
2971
|
const current = computed(() => computedThemes.value[name.value]);
|
2987
2972
|
const styles = computed(() => {
|
2988
2973
|
const lines = [];
|
2989
|
-
const important = parsedOptions.unimportant ? '' : ' !important';
|
2990
|
-
const scoped = parsedOptions.scoped ? parsedOptions.prefix : '';
|
2991
2974
|
if (current.value?.dark) {
|
2992
2975
|
createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);
|
2993
2976
|
}
|
2994
|
-
createCssClass(lines, ':root', genCssVariables(current.value
|
2977
|
+
createCssClass(lines, ':root', genCssVariables(current.value), parsedOptions.scope);
|
2995
2978
|
for (const [themeName, theme] of Object.entries(computedThemes.value)) {
|
2996
|
-
createCssClass(lines,
|
2997
|
-
}
|
2998
|
-
|
2999
|
-
|
3000
|
-
|
3001
|
-
|
3002
|
-
|
3003
|
-
|
3004
|
-
|
3005
|
-
}
|
3006
|
-
|
3007
|
-
|
3008
|
-
createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);
|
3009
|
-
}
|
2979
|
+
createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)], parsedOptions.scope);
|
2980
|
+
}
|
2981
|
+
const bgLines = [];
|
2982
|
+
const fgLines = [];
|
2983
|
+
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
2984
|
+
for (const key of colors) {
|
2985
|
+
if (key.startsWith('on-')) {
|
2986
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
|
2987
|
+
} else {
|
2988
|
+
createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`], parsedOptions.scope);
|
2989
|
+
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
|
2990
|
+
createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`], parsedOptions.scope);
|
3010
2991
|
}
|
3011
|
-
lines.push(...bgLines, ...fgLines);
|
3012
2992
|
}
|
2993
|
+
lines.push(...bgLines, ...fgLines);
|
3013
2994
|
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
3014
2995
|
});
|
3015
|
-
const themeClasses = computed(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);
|
3016
|
-
const themeNames = computed(() => Object.keys(computedThemes.value));
|
3017
|
-
if (SUPPORTS_MATCH_MEDIA) {
|
3018
|
-
const media = window.matchMedia('(prefers-color-scheme: dark)');
|
3019
|
-
function updateSystemName() {
|
3020
|
-
systemName.value = media.matches ? 'dark' : 'light';
|
3021
|
-
}
|
3022
|
-
updateSystemName();
|
3023
|
-
media.addEventListener('change', updateSystemName, {
|
3024
|
-
passive: true
|
3025
|
-
});
|
3026
|
-
if (getCurrentScope()) {
|
3027
|
-
onScopeDispose(() => {
|
3028
|
-
media.removeEventListener('change', updateSystemName);
|
3029
|
-
});
|
3030
|
-
}
|
3031
|
-
}
|
3032
2996
|
function install(app) {
|
3033
2997
|
if (parsedOptions.isDisabled) return;
|
3034
2998
|
const head = app._context.provides.usehead;
|
@@ -3066,55 +3030,22 @@ function createTheme(options) {
|
|
3066
3030
|
updateStyles();
|
3067
3031
|
}
|
3068
3032
|
function updateStyles() {
|
3069
|
-
upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value);
|
3033
|
+
upsertStyles(getOrCreateStyleElement(parsedOptions.stylesheetId, parsedOptions.cspNonce), styles.value);
|
3070
3034
|
}
|
3071
3035
|
}
|
3072
3036
|
}
|
3073
|
-
|
3074
|
-
if (!themeNames.value.includes(themeName)) {
|
3075
|
-
consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`);
|
3076
|
-
return;
|
3077
|
-
}
|
3078
|
-
name.value = themeName;
|
3079
|
-
}
|
3080
|
-
function cycle() {
|
3081
|
-
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themeNames.value;
|
3082
|
-
const currentIndex = themeArray.indexOf(name.value);
|
3083
|
-
const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length;
|
3084
|
-
change(themeArray[nextIndex]);
|
3085
|
-
}
|
3086
|
-
function toggle() {
|
3087
|
-
let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['light', 'dark'];
|
3088
|
-
cycle(themeArray);
|
3089
|
-
}
|
3090
|
-
const globalName = new Proxy(name, {
|
3091
|
-
get(target, prop) {
|
3092
|
-
return target[prop];
|
3093
|
-
},
|
3094
|
-
set(target, prop, val) {
|
3095
|
-
if (prop === 'value') {
|
3096
|
-
deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`);
|
3097
|
-
}
|
3098
|
-
// @ts-expect-error
|
3099
|
-
target[prop] = val;
|
3100
|
-
return true;
|
3101
|
-
}
|
3102
|
-
});
|
3037
|
+
const themeClasses = computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${name.value}`);
|
3103
3038
|
return {
|
3104
3039
|
install,
|
3105
|
-
change,
|
3106
|
-
cycle,
|
3107
|
-
toggle,
|
3108
3040
|
isDisabled: parsedOptions.isDisabled,
|
3109
3041
|
name,
|
3110
3042
|
themes,
|
3111
3043
|
current,
|
3112
3044
|
computedThemes,
|
3113
|
-
prefix: parsedOptions.prefix,
|
3114
3045
|
themeClasses,
|
3115
3046
|
styles,
|
3116
3047
|
global: {
|
3117
|
-
name
|
3048
|
+
name,
|
3118
3049
|
current
|
3119
3050
|
}
|
3120
3051
|
};
|
@@ -3125,7 +3056,7 @@ function provideTheme(props) {
|
|
3125
3056
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
3126
3057
|
const name = computed(() => props.theme ?? theme.name.value);
|
3127
3058
|
const current = computed(() => theme.themes.value[name.value]);
|
3128
|
-
const themeClasses = computed(() => theme.isDisabled ? undefined :
|
3059
|
+
const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${name.value}`);
|
3129
3060
|
const newTheme = {
|
3130
3061
|
...theme,
|
3131
3062
|
name,
|
@@ -12655,12 +12586,7 @@ function useVirtual(props, items) {
|
|
12655
12586
|
}
|
12656
12587
|
function calculateOffset(index) {
|
12657
12588
|
index = clamp(index, 0, items.value.length - 1);
|
12658
|
-
|
12659
|
-
const fraction = index % 1;
|
12660
|
-
const next = whole + 1;
|
12661
|
-
const wholeOffset = offsets[whole] || 0;
|
12662
|
-
const nextOffset = offsets[next] || wholeOffset;
|
12663
|
-
return wholeOffset + (nextOffset - wholeOffset) * fraction;
|
12589
|
+
return offsets[index] || 0;
|
12664
12590
|
}
|
12665
12591
|
function calculateIndex(scrollTop) {
|
12666
12592
|
return binaryClosest(offsets, scrollTop);
|
@@ -29248,7 +29174,7 @@ function createVuetify$1() {
|
|
29248
29174
|
};
|
29249
29175
|
});
|
29250
29176
|
}
|
29251
|
-
const version$1 = "3.8.2-
|
29177
|
+
const version$1 = "3.8.2-master.2025-04-19";
|
29252
29178
|
createVuetify$1.version = version$1;
|
29253
29179
|
|
29254
29180
|
// Vue's inject() can only be used in setup
|
@@ -29273,7 +29199,7 @@ const createVuetify = function () {
|
|
29273
29199
|
...options
|
29274
29200
|
});
|
29275
29201
|
};
|
29276
|
-
const version = "3.8.2-
|
29202
|
+
const version = "3.8.2-master.2025-04-19";
|
29277
29203
|
createVuetify.version = version;
|
29278
29204
|
|
29279
29205
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|