@vuetify/nightly 3.8.0-master.2025-04-06 → 3.8.1-master.2025-04-07

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/dist/vuetify.d.ts CHANGED
@@ -82944,41 +82944,38 @@ declare module 'vue' {
82944
82944
  }
82945
82945
  export interface GlobalComponents {
82946
82946
  VApp: VApp
82947
- VAlert: VAlert
82948
- VAlertTitle: VAlertTitle
82949
- VAutocomplete: VAutocomplete
82950
82947
  VAppBar: VAppBar
82951
82948
  VAppBarNavIcon: VAppBarNavIcon
82952
82949
  VAppBarTitle: VAppBarTitle
82950
+ VAlert: VAlert
82951
+ VAlertTitle: VAlertTitle
82953
82952
  VBadge: VBadge
82953
+ VAvatar: VAvatar
82954
82954
  VBottomSheet: VBottomSheet
82955
- VBottomNavigation: VBottomNavigation
82956
82955
  VBanner: VBanner
82957
82956
  VBannerActions: VBannerActions
82958
82957
  VBannerText: VBannerText
82959
- VAvatar: VAvatar
82960
- VBtnGroup: VBtnGroup
82961
- VBtnToggle: VBtnToggle
82962
- VBtn: VBtn
82963
82958
  VBreadcrumbs: VBreadcrumbs
82964
82959
  VBreadcrumbsItem: VBreadcrumbsItem
82965
82960
  VBreadcrumbsDivider: VBreadcrumbsDivider
82961
+ VBottomNavigation: VBottomNavigation
82962
+ VBtnToggle: VBtnToggle
82963
+ VBtn: VBtn
82964
+ VAutocomplete: VAutocomplete
82965
+ VCarousel: VCarousel
82966
+ VCarouselItem: VCarouselItem
82967
+ VBtnGroup: VBtnGroup
82968
+ VCheckbox: VCheckbox
82969
+ VCheckboxBtn: VCheckboxBtn
82970
+ VCode: VCode
82971
+ VCombobox: VCombobox
82966
82972
  VCard: VCard
82967
82973
  VCardActions: VCardActions
82968
82974
  VCardItem: VCardItem
82969
82975
  VCardSubtitle: VCardSubtitle
82970
82976
  VCardText: VCardText
82971
82977
  VCardTitle: VCardTitle
82972
- VCheckbox: VCheckbox
82973
- VCheckboxBtn: VCheckboxBtn
82974
- VCarousel: VCarousel
82975
- VCarouselItem: VCarouselItem
82976
- VChip: VChip
82977
- VColorPicker: VColorPicker
82978
82978
  VChipGroup: VChipGroup
82979
- VCode: VCode
82980
- VCombobox: VCombobox
82981
- VCounter: VCounter
82982
82979
  VDataTable: VDataTable
82983
82980
  VDataTableHeaders: VDataTableHeaders
82984
82981
  VDataTableFooter: VDataTableFooter
@@ -82986,35 +82983,37 @@ declare module 'vue' {
82986
82983
  VDataTableRow: VDataTableRow
82987
82984
  VDataTableVirtual: VDataTableVirtual
82988
82985
  VDataTableServer: VDataTableServer
82986
+ VColorPicker: VColorPicker
82987
+ VCounter: VCounter
82988
+ VChip: VChip
82989
+ VDivider: VDivider
82989
82990
  VDatePicker: VDatePicker
82990
82991
  VDatePickerControls: VDatePickerControls
82991
82992
  VDatePickerHeader: VDatePickerHeader
82992
82993
  VDatePickerMonth: VDatePickerMonth
82993
82994
  VDatePickerMonths: VDatePickerMonths
82994
82995
  VDatePickerYears: VDatePickerYears
82995
- VDivider: VDivider
82996
- VDialog: VDialog
82997
82996
  VFab: VFab
82997
+ VDialog: VDialog
82998
+ VEmptyState: VEmptyState
82999
+ VFooter: VFooter
82998
83000
  VField: VField
82999
83001
  VFieldLabel: VFieldLabel
83000
- VFileInput: VFileInput
83001
- VEmptyState: VEmptyState
83002
83002
  VExpansionPanels: VExpansionPanels
83003
83003
  VExpansionPanel: VExpansionPanel
83004
83004
  VExpansionPanelText: VExpansionPanelText
83005
83005
  VExpansionPanelTitle: VExpansionPanelTitle
83006
- VFooter: VFooter
83006
+ VFileInput: VFileInput
83007
83007
  VIcon: VIcon
83008
83008
  VComponentIcon: VComponentIcon
83009
83009
  VSvgIcon: VSvgIcon
83010
83010
  VLigatureIcon: VLigatureIcon
83011
83011
  VClassIcon: VClassIcon
83012
83012
  VImg: VImg
83013
+ VInput: VInput
83013
83014
  VItemGroup: VItemGroup
83014
83015
  VItem: VItem
83015
83016
  VInfiniteScroll: VInfiniteScroll
83016
- VInput: VInput
83017
- VKbd: VKbd
83018
83017
  VLabel: VLabel
83019
83018
  VList: VList
83020
83019
  VListGroup: VListGroup
@@ -83025,73 +83024,75 @@ declare module 'vue' {
83025
83024
  VListItemSubtitle: VListItemSubtitle
83026
83025
  VListItemTitle: VListItemTitle
83027
83026
  VListSubheader: VListSubheader
83027
+ VKbd: VKbd
83028
83028
  VMain: VMain
83029
- VMenu: VMenu
83030
- VNavigationDrawer: VNavigationDrawer
83031
- VOtpInput: VOtpInput
83032
83029
  VMessages: VMessages
83030
+ VNavigationDrawer: VNavigationDrawer
83031
+ VMenu: VMenu
83033
83032
  VNumberInput: VNumberInput
83034
- VProgressCircular: VProgressCircular
83035
- VPagination: VPagination
83033
+ VOtpInput: VOtpInput
83036
83034
  VOverlay: VOverlay
83037
- VRadioGroup: VRadioGroup
83035
+ VPagination: VPagination
83038
83036
  VProgressLinear: VProgressLinear
83039
- VSelectionControl: VSelectionControl
83040
- VSelectionControlGroup: VSelectionControlGroup
83041
83037
  VRating: VRating
83042
- VSlider: VSlider
83043
- VSheet: VSheet
83038
+ VRadioGroup: VRadioGroup
83039
+ VProgressCircular: VProgressCircular
83044
83040
  VSelect: VSelect
83041
+ VSelectionControl: VSelectionControl
83042
+ VSkeletonLoader: VSkeletonLoader
83043
+ VSelectionControlGroup: VSelectionControlGroup
83045
83044
  VSlideGroup: VSlideGroup
83046
83045
  VSlideGroupItem: VSlideGroupItem
83047
- VSkeletonLoader: VSkeletonLoader
83048
- VTextField: VTextField
83049
- VSwitch: VSwitch
83050
- VSnackbar: VSnackbar
83046
+ VSheet: VSheet
83051
83047
  VStepper: VStepper
83052
83048
  VStepperActions: VStepperActions
83053
83049
  VStepperHeader: VStepperHeader
83054
83050
  VStepperItem: VStepperItem
83055
83051
  VStepperWindow: VStepperWindow
83056
83052
  VStepperWindowItem: VStepperWindowItem
83057
- VTable: VTable
83053
+ VSnackbar: VSnackbar
83054
+ VSlider: VSlider
83055
+ VTextarea: VTextarea
83058
83056
  VTab: VTab
83059
83057
  VTabs: VTabs
83060
83058
  VTabsWindow: VTabsWindow
83061
83059
  VTabsWindowItem: VTabsWindowItem
83060
+ VSwitch: VSwitch
83062
83061
  VSystemBar: VSystemBar
83062
+ VTextField: VTextField
83063
+ VTable: VTable
83064
+ VTimeline: VTimeline
83065
+ VTimelineItem: VTimelineItem
83063
83066
  VToolbar: VToolbar
83064
83067
  VToolbarTitle: VToolbarTitle
83065
83068
  VToolbarItems: VToolbarItems
83066
83069
  VTooltip: VTooltip
83067
- VTextarea: VTextarea
83068
- VTimeline: VTimeline
83069
- VTimelineItem: VTimelineItem
83070
83070
  VWindow: VWindow
83071
83071
  VWindowItem: VWindowItem
83072
83072
  VConfirmEdit: VConfirmEdit
83073
83073
  VDataIterator: VDataIterator
83074
83074
  VDefaultsProvider: VDefaultsProvider
83075
83075
  VForm: VForm
83076
- VHover: VHover
83077
83076
  VContainer: VContainer
83078
83077
  VCol: VCol
83079
83078
  VRow: VRow
83080
83079
  VSpacer: VSpacer
83081
- VLazy: VLazy
83080
+ VHover: VHover
83082
83081
  VLayout: VLayout
83083
83082
  VLayoutItem: VLayoutItem
83084
- VNoSsr: VNoSsr
83083
+ VLazy: VLazy
83085
83084
  VLocaleProvider: VLocaleProvider
83085
+ VNoSsr: VNoSsr
83086
83086
  VParallax: VParallax
83087
- VRadio: VRadio
83088
83087
  VRangeSlider: VRangeSlider
83088
+ VRadio: VRadio
83089
83089
  VResponsive: VResponsive
83090
83090
  VSnackbarQueue: VSnackbarQueue
83091
83091
  VSparkline: VSparkline
83092
83092
  VSpeedDial: VSpeedDial
83093
83093
  VThemeProvider: VThemeProvider
83094
83094
  VVirtualScroll: VVirtualScroll
83095
+ VValidation: VValidation
83095
83096
  VFabTransition: VFabTransition
83096
83097
  VDialogBottomTransition: VDialogBottomTransition
83097
83098
  VDialogTopTransition: VDialogTopTransition
@@ -83108,27 +83109,26 @@ declare module 'vue' {
83108
83109
  VExpandTransition: VExpandTransition
83109
83110
  VExpandXTransition: VExpandXTransition
83110
83111
  VDialogTransition: VDialogTransition
83111
- VValidation: VValidation
83112
- VStepperVertical: VStepperVertical
83113
- VStepperVerticalItem: VStepperVerticalItem
83114
- VStepperVerticalActions: VStepperVerticalActions
83112
+ VFileUpload: VFileUpload
83113
+ VFileUploadItem: VFileUploadItem
83115
83114
  VCalendar: VCalendar
83116
83115
  VCalendarDay: VCalendarDay
83117
83116
  VCalendarHeader: VCalendarHeader
83118
83117
  VCalendarInterval: VCalendarInterval
83119
83118
  VCalendarIntervalEvent: VCalendarIntervalEvent
83120
83119
  VCalendarMonthDay: VCalendarMonthDay
83121
- VFileUpload: VFileUpload
83122
- VFileUploadItem: VFileUploadItem
83120
+ VTreeview: VTreeview
83121
+ VTreeviewItem: VTreeviewItem
83122
+ VTreeviewGroup: VTreeviewGroup
83123
+ VPicker: VPicker
83124
+ VPickerTitle: VPickerTitle
83125
+ VStepperVertical: VStepperVertical
83126
+ VStepperVerticalItem: VStepperVerticalItem
83127
+ VStepperVerticalActions: VStepperVerticalActions
83123
83128
  VTimePicker: VTimePicker
83124
83129
  VTimePickerClock: VTimePickerClock
83125
83130
  VTimePickerControls: VTimePickerControls
83126
83131
  VIconBtn: VIconBtn
83127
- VPicker: VPicker
83128
- VPickerTitle: VPickerTitle
83129
- VTreeview: VTreeview
83130
- VTreeviewItem: VTreeviewItem
83131
- VTreeviewGroup: VTreeviewGroup
83132
83132
  VDateInput: VDateInput
83133
83133
  VPullToRefresh: VPullToRefresh
83134
83134
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.0-master.2025-04-06
2
+ * Vuetify v3.8.1-master.2025-04-07
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -2855,93 +2855,144 @@ function parseThemeOptions() {
2855
2855
  themes
2856
2856
  });
2857
2857
  }
2858
+ function createCssClass(lines, selector, content, scope) {
2859
+ lines.push(`${getScopedSelector(selector, scope)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
2860
+ }
2861
+ function genCssVariables(theme) {
2862
+ const lightOverlay = theme.dark ? 2 : 1;
2863
+ const darkOverlay = theme.dark ? 1 : 2;
2864
+ const variables = [];
2865
+ for (const [key, value] of Object.entries(theme.colors)) {
2866
+ const rgb = parseColor(value);
2867
+ variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
2868
+ if (!key.startsWith('on-')) {
2869
+ variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
2870
+ }
2871
+ }
2872
+ for (const [key, value] of Object.entries(theme.variables)) {
2873
+ const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
2874
+ const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
2875
+ variables.push(`--v-${key}: ${rgb ?? value}`);
2876
+ }
2877
+ return variables;
2878
+ }
2879
+ function genVariation(name, color, variations) {
2880
+ const object = {};
2881
+ if (variations) {
2882
+ for (const variation of ['lighten', 'darken']) {
2883
+ const fn = variation === 'lighten' ? lighten : darken;
2884
+ for (const amount of createRange(variations[variation], 1)) {
2885
+ object[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount));
2886
+ }
2887
+ }
2888
+ }
2889
+ return object;
2890
+ }
2891
+ function genVariations(colors, variations) {
2892
+ if (!variations) return {};
2893
+ let variationColors = {};
2894
+ for (const name of variations.colors) {
2895
+ const color = colors[name];
2896
+ if (!color) continue;
2897
+ variationColors = {
2898
+ ...variationColors,
2899
+ ...genVariation(name, color, variations)
2900
+ };
2901
+ }
2902
+ return variationColors;
2903
+ }
2904
+ function genOnColors(colors) {
2905
+ const onColors = {};
2906
+ for (const color of Object.keys(colors)) {
2907
+ if (color.startsWith('on-') || colors[`on-${color}`]) continue;
2908
+ const onColor = `on-${color}`;
2909
+ const colorVal = parseColor(colors[color]);
2910
+ onColors[onColor] = getForeground(colorVal);
2911
+ }
2912
+ return onColors;
2913
+ }
2914
+ function getScopedSelector(selector, scope) {
2915
+ if (!scope) return selector;
2916
+ const scopeSelector = `:where(${scope})`;
2917
+ return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;
2918
+ }
2919
+ function upsertStyles(styleEl, styles) {
2920
+ if (!styleEl) return;
2921
+ styleEl.innerHTML = styles;
2922
+ }
2923
+ function getOrCreateStyleElement(id, cspNonce) {
2924
+ if (!IN_BROWSER) return null;
2925
+ let style = document.getElementById(id);
2926
+ if (!style) {
2927
+ style = document.createElement('style');
2928
+ style.id = id;
2929
+ style.type = 'text/css';
2930
+ if (cspNonce) style.setAttribute('nonce', cspNonce);
2931
+ document.head.appendChild(style);
2932
+ }
2933
+ return style;
2934
+ }
2858
2935
 
2859
2936
  // Composables
2860
2937
  function createTheme(options) {
2861
2938
  const parsedOptions = parseThemeOptions(options);
2862
- const name = ref(parsedOptions.defaultTheme);
2939
+ const name = shallowRef(parsedOptions.defaultTheme);
2863
2940
  const themes = ref(parsedOptions.themes);
2864
2941
  const computedThemes = computed(() => {
2865
2942
  const acc = {};
2866
2943
  for (const [name, original] of Object.entries(themes.value)) {
2867
- const theme = acc[name] = {
2944
+ const colors = {
2945
+ ...original.colors,
2946
+ ...genVariations(original.colors, parsedOptions.variations)
2947
+ };
2948
+ acc[name] = {
2868
2949
  ...original,
2869
2950
  colors: {
2870
- ...original.colors
2951
+ ...colors,
2952
+ ...genOnColors(colors)
2871
2953
  }
2872
2954
  };
2873
- if (parsedOptions.variations) {
2874
- for (const name of parsedOptions.variations.colors) {
2875
- const color = theme.colors[name];
2876
- if (!color) continue;
2877
- for (const variation of ['lighten', 'darken']) {
2878
- const fn = variation === 'lighten' ? lighten : darken;
2879
- for (const amount of createRange(parsedOptions.variations[variation], 1)) {
2880
- theme.colors[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount));
2881
- }
2882
- }
2883
- }
2884
- }
2885
- for (const color of Object.keys(theme.colors)) {
2886
- if (/^on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue;
2887
- const onColor = `on-${color}`;
2888
- const colorVal = parseColor(theme.colors[color]);
2889
- theme.colors[onColor] = getForeground(colorVal);
2890
- }
2891
2955
  }
2892
2956
  return acc;
2893
2957
  });
2894
2958
  const current = computed(() => computedThemes.value[name.value]);
2895
- function createCssClass(lines, selector, content) {
2896
- lines.push(`${getScopedSelector(selector)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
2897
- }
2898
- function getScopedSelector(selector) {
2899
- if (!parsedOptions.scope) {
2900
- return selector;
2901
- }
2902
- const scopeSelector = `:where(${parsedOptions.scope})`;
2903
- if (selector === ':root') {
2904
- return scopeSelector;
2905
- }
2906
- return `${scopeSelector} ${selector}`;
2907
- }
2908
2959
  const styles = computed(() => {
2909
2960
  const lines = [];
2910
2961
  if (current.value?.dark) {
2911
- createCssClass(lines, ':root', ['color-scheme: dark']);
2962
+ createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);
2912
2963
  }
2913
- createCssClass(lines, ':root', genCssVariables(current.value));
2964
+ createCssClass(lines, ':root', genCssVariables(current.value), parsedOptions.scope);
2914
2965
  for (const [themeName, theme] of Object.entries(computedThemes.value)) {
2915
- createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)]);
2966
+ createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)], parsedOptions.scope);
2916
2967
  }
2917
2968
  const bgLines = [];
2918
2969
  const fgLines = [];
2919
2970
  const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
2920
2971
  for (const key of colors) {
2921
- if (/^on-[a-z]/.test(key)) {
2922
- createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
2972
+ if (key.startsWith('on-')) {
2973
+ createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
2923
2974
  } else {
2924
- 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`]);
2925
- createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
2926
- createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
2975
+ 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);
2976
+ createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
2977
+ createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`], parsedOptions.scope);
2927
2978
  }
2928
2979
  }
2929
2980
  lines.push(...bgLines, ...fgLines);
2930
2981
  return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
2931
2982
  });
2932
- function getHead() {
2933
- return {
2934
- style: [{
2935
- textContent: styles.value,
2936
- id: parsedOptions.stylesheetId,
2937
- nonce: parsedOptions.cspNonce || false
2938
- }]
2939
- };
2940
- }
2941
2983
  function install(app) {
2942
2984
  if (parsedOptions.isDisabled) return;
2943
2985
  const head = app._context.provides.usehead;
2944
2986
  if (head) {
2987
+ function getHead() {
2988
+ return {
2989
+ style: [{
2990
+ textContent: styles.value,
2991
+ id: parsedOptions.stylesheetId,
2992
+ nonce: parsedOptions.cspNonce || false
2993
+ }]
2994
+ };
2995
+ }
2945
2996
  if (head.push) {
2946
2997
  const entry = head.push(getHead);
2947
2998
  if (IN_BROWSER) {
@@ -2958,7 +3009,6 @@ function createTheme(options) {
2958
3009
  }
2959
3010
  }
2960
3011
  } else {
2961
- let styleEl = IN_BROWSER ? document.getElementById(parsedOptions.stylesheetId) : null;
2962
3012
  if (IN_BROWSER) {
2963
3013
  watch(styles, updateStyles, {
2964
3014
  immediate: true
@@ -2967,15 +3017,7 @@ function createTheme(options) {
2967
3017
  updateStyles();
2968
3018
  }
2969
3019
  function updateStyles() {
2970
- if (typeof document !== 'undefined' && !styleEl) {
2971
- const el = document.createElement('style');
2972
- el.type = 'text/css';
2973
- el.id = parsedOptions.stylesheetId;
2974
- if (parsedOptions.cspNonce) el.setAttribute('nonce', parsedOptions.cspNonce);
2975
- styleEl = el;
2976
- document.head.appendChild(styleEl);
2977
- }
2978
- if (styleEl) styleEl.innerHTML = styles.value;
3020
+ upsertStyles(getOrCreateStyleElement(parsedOptions.stylesheetId, parsedOptions.cspNonce), styles.value);
2979
3021
  }
2980
3022
  }
2981
3023
  }
@@ -2999,9 +3041,7 @@ function provideTheme(props) {
2999
3041
  getCurrentInstance('provideTheme');
3000
3042
  const theme = inject$1(ThemeSymbol, null);
3001
3043
  if (!theme) throw new Error('Could not find Vuetify theme injection');
3002
- const name = computed(() => {
3003
- return props.theme ?? theme.name.value;
3004
- });
3044
+ const name = computed(() => props.theme ?? theme.name.value);
3005
3045
  const current = computed(() => theme.themes.value[name.value]);
3006
3046
  const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${name.value}`);
3007
3047
  const newTheme = {
@@ -3019,24 +3059,6 @@ function useTheme() {
3019
3059
  if (!theme) throw new Error('Could not find Vuetify theme injection');
3020
3060
  return theme;
3021
3061
  }
3022
- function genCssVariables(theme) {
3023
- const lightOverlay = theme.dark ? 2 : 1;
3024
- const darkOverlay = theme.dark ? 1 : 2;
3025
- const variables = [];
3026
- for (const [key, value] of Object.entries(theme.colors)) {
3027
- const rgb = parseColor(value);
3028
- variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
3029
- if (!key.startsWith('on-')) {
3030
- variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
3031
- }
3032
- }
3033
- for (const [key, value] of Object.entries(theme.variables)) {
3034
- const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
3035
- const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
3036
- variables.push(`--v-${key}: ${rgb ?? value}`);
3037
- }
3038
- return variables;
3039
- }
3040
3062
 
3041
3063
  const makeVAppProps = propsFactory({
3042
3064
  ...makeComponentProps(),
@@ -29214,7 +29236,7 @@ function createVuetify$1() {
29214
29236
  };
29215
29237
  });
29216
29238
  }
29217
- const version$1 = "3.8.0-master.2025-04-06";
29239
+ const version$1 = "3.8.1-master.2025-04-07";
29218
29240
  createVuetify$1.version = version$1;
29219
29241
 
29220
29242
  // Vue's inject() can only be used in setup
@@ -29239,7 +29261,7 @@ const createVuetify = function () {
29239
29261
  ...options
29240
29262
  });
29241
29263
  };
29242
- const version = "3.8.0-master.2025-04-06";
29264
+ const version = "3.8.1-master.2025-04-07";
29243
29265
  createVuetify.version = version;
29244
29266
 
29245
29267
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };