@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/CHANGELOG.md +3 -18
- package/dist/json/attributes.json +375 -375
- package/dist/json/importMap-labs.json +30 -30
- package/dist/json/importMap.json +152 -152
- package/dist/json/web-types.json +820 -820
- package/dist/vuetify-labs.cjs +107 -85
- package/dist/vuetify-labs.css +5452 -5452
- package/dist/vuetify-labs.d.ts +57 -57
- package/dist/vuetify-labs.esm.js +107 -85
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +107 -85
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +107 -85
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3868 -3868
- package/dist/vuetify.d.ts +57 -57
- package/dist/vuetify.esm.js +107 -85
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +107 -85
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +791 -790
- package/dist/vuetify.min.js.map +1 -1
- package/lib/composables/theme.js +105 -83
- package/lib/composables/theme.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +57 -57
- package/lib/framework.js +1 -1
- package/package.json +2 -2
package/dist/vuetify-labs.d.ts
CHANGED
@@ -96781,41 +96781,38 @@ declare module 'vue' {
|
|
96781
96781
|
}
|
96782
96782
|
export interface GlobalComponents {
|
96783
96783
|
VApp: VApp
|
96784
|
-
VAlert: VAlert
|
96785
|
-
VAlertTitle: VAlertTitle
|
96786
|
-
VAutocomplete: VAutocomplete
|
96787
96784
|
VAppBar: VAppBar
|
96788
96785
|
VAppBarNavIcon: VAppBarNavIcon
|
96789
96786
|
VAppBarTitle: VAppBarTitle
|
96787
|
+
VAlert: VAlert
|
96788
|
+
VAlertTitle: VAlertTitle
|
96790
96789
|
VBadge: VBadge
|
96790
|
+
VAvatar: VAvatar
|
96791
96791
|
VBottomSheet: VBottomSheet
|
96792
|
-
VBottomNavigation: VBottomNavigation
|
96793
96792
|
VBanner: VBanner
|
96794
96793
|
VBannerActions: VBannerActions
|
96795
96794
|
VBannerText: VBannerText
|
96796
|
-
VAvatar: VAvatar
|
96797
|
-
VBtnGroup: VBtnGroup
|
96798
|
-
VBtnToggle: VBtnToggle
|
96799
|
-
VBtn: VBtn
|
96800
96795
|
VBreadcrumbs: VBreadcrumbs
|
96801
96796
|
VBreadcrumbsItem: VBreadcrumbsItem
|
96802
96797
|
VBreadcrumbsDivider: VBreadcrumbsDivider
|
96798
|
+
VBottomNavigation: VBottomNavigation
|
96799
|
+
VBtnToggle: VBtnToggle
|
96800
|
+
VBtn: VBtn
|
96801
|
+
VAutocomplete: VAutocomplete
|
96802
|
+
VCarousel: VCarousel
|
96803
|
+
VCarouselItem: VCarouselItem
|
96804
|
+
VBtnGroup: VBtnGroup
|
96805
|
+
VCheckbox: VCheckbox
|
96806
|
+
VCheckboxBtn: VCheckboxBtn
|
96807
|
+
VCode: VCode
|
96808
|
+
VCombobox: VCombobox
|
96803
96809
|
VCard: VCard
|
96804
96810
|
VCardActions: VCardActions
|
96805
96811
|
VCardItem: VCardItem
|
96806
96812
|
VCardSubtitle: VCardSubtitle
|
96807
96813
|
VCardText: VCardText
|
96808
96814
|
VCardTitle: VCardTitle
|
96809
|
-
VCheckbox: VCheckbox
|
96810
|
-
VCheckboxBtn: VCheckboxBtn
|
96811
|
-
VCarousel: VCarousel
|
96812
|
-
VCarouselItem: VCarouselItem
|
96813
|
-
VChip: VChip
|
96814
|
-
VColorPicker: VColorPicker
|
96815
96815
|
VChipGroup: VChipGroup
|
96816
|
-
VCode: VCode
|
96817
|
-
VCombobox: VCombobox
|
96818
|
-
VCounter: VCounter
|
96819
96816
|
VDataTable: VDataTable
|
96820
96817
|
VDataTableHeaders: VDataTableHeaders
|
96821
96818
|
VDataTableFooter: VDataTableFooter
|
@@ -96823,35 +96820,37 @@ declare module 'vue' {
|
|
96823
96820
|
VDataTableRow: VDataTableRow
|
96824
96821
|
VDataTableVirtual: VDataTableVirtual
|
96825
96822
|
VDataTableServer: VDataTableServer
|
96823
|
+
VColorPicker: VColorPicker
|
96824
|
+
VCounter: VCounter
|
96825
|
+
VChip: VChip
|
96826
|
+
VDivider: VDivider
|
96826
96827
|
VDatePicker: VDatePicker
|
96827
96828
|
VDatePickerControls: VDatePickerControls
|
96828
96829
|
VDatePickerHeader: VDatePickerHeader
|
96829
96830
|
VDatePickerMonth: VDatePickerMonth
|
96830
96831
|
VDatePickerMonths: VDatePickerMonths
|
96831
96832
|
VDatePickerYears: VDatePickerYears
|
96832
|
-
VDivider: VDivider
|
96833
|
-
VDialog: VDialog
|
96834
96833
|
VFab: VFab
|
96834
|
+
VDialog: VDialog
|
96835
|
+
VEmptyState: VEmptyState
|
96836
|
+
VFooter: VFooter
|
96835
96837
|
VField: VField
|
96836
96838
|
VFieldLabel: VFieldLabel
|
96837
|
-
VFileInput: VFileInput
|
96838
|
-
VEmptyState: VEmptyState
|
96839
96839
|
VExpansionPanels: VExpansionPanels
|
96840
96840
|
VExpansionPanel: VExpansionPanel
|
96841
96841
|
VExpansionPanelText: VExpansionPanelText
|
96842
96842
|
VExpansionPanelTitle: VExpansionPanelTitle
|
96843
|
-
|
96843
|
+
VFileInput: VFileInput
|
96844
96844
|
VIcon: VIcon
|
96845
96845
|
VComponentIcon: VComponentIcon
|
96846
96846
|
VSvgIcon: VSvgIcon
|
96847
96847
|
VLigatureIcon: VLigatureIcon
|
96848
96848
|
VClassIcon: VClassIcon
|
96849
96849
|
VImg: VImg
|
96850
|
+
VInput: VInput
|
96850
96851
|
VItemGroup: VItemGroup
|
96851
96852
|
VItem: VItem
|
96852
96853
|
VInfiniteScroll: VInfiniteScroll
|
96853
|
-
VInput: VInput
|
96854
|
-
VKbd: VKbd
|
96855
96854
|
VLabel: VLabel
|
96856
96855
|
VList: VList
|
96857
96856
|
VListGroup: VListGroup
|
@@ -96862,73 +96861,75 @@ declare module 'vue' {
|
|
96862
96861
|
VListItemSubtitle: VListItemSubtitle
|
96863
96862
|
VListItemTitle: VListItemTitle
|
96864
96863
|
VListSubheader: VListSubheader
|
96864
|
+
VKbd: VKbd
|
96865
96865
|
VMain: VMain
|
96866
|
-
VMenu: VMenu
|
96867
|
-
VNavigationDrawer: VNavigationDrawer
|
96868
|
-
VOtpInput: VOtpInput
|
96869
96866
|
VMessages: VMessages
|
96867
|
+
VNavigationDrawer: VNavigationDrawer
|
96868
|
+
VMenu: VMenu
|
96870
96869
|
VNumberInput: VNumberInput
|
96871
|
-
|
96872
|
-
VPagination: VPagination
|
96870
|
+
VOtpInput: VOtpInput
|
96873
96871
|
VOverlay: VOverlay
|
96874
|
-
|
96872
|
+
VPagination: VPagination
|
96875
96873
|
VProgressLinear: VProgressLinear
|
96876
|
-
VSelectionControl: VSelectionControl
|
96877
|
-
VSelectionControlGroup: VSelectionControlGroup
|
96878
96874
|
VRating: VRating
|
96879
|
-
|
96880
|
-
|
96875
|
+
VRadioGroup: VRadioGroup
|
96876
|
+
VProgressCircular: VProgressCircular
|
96881
96877
|
VSelect: VSelect
|
96878
|
+
VSelectionControl: VSelectionControl
|
96879
|
+
VSkeletonLoader: VSkeletonLoader
|
96880
|
+
VSelectionControlGroup: VSelectionControlGroup
|
96882
96881
|
VSlideGroup: VSlideGroup
|
96883
96882
|
VSlideGroupItem: VSlideGroupItem
|
96884
|
-
|
96885
|
-
VTextField: VTextField
|
96886
|
-
VSwitch: VSwitch
|
96887
|
-
VSnackbar: VSnackbar
|
96883
|
+
VSheet: VSheet
|
96888
96884
|
VStepper: VStepper
|
96889
96885
|
VStepperActions: VStepperActions
|
96890
96886
|
VStepperHeader: VStepperHeader
|
96891
96887
|
VStepperItem: VStepperItem
|
96892
96888
|
VStepperWindow: VStepperWindow
|
96893
96889
|
VStepperWindowItem: VStepperWindowItem
|
96894
|
-
|
96890
|
+
VSnackbar: VSnackbar
|
96891
|
+
VSlider: VSlider
|
96892
|
+
VTextarea: VTextarea
|
96895
96893
|
VTab: VTab
|
96896
96894
|
VTabs: VTabs
|
96897
96895
|
VTabsWindow: VTabsWindow
|
96898
96896
|
VTabsWindowItem: VTabsWindowItem
|
96897
|
+
VSwitch: VSwitch
|
96899
96898
|
VSystemBar: VSystemBar
|
96899
|
+
VTextField: VTextField
|
96900
|
+
VTable: VTable
|
96901
|
+
VTimeline: VTimeline
|
96902
|
+
VTimelineItem: VTimelineItem
|
96900
96903
|
VToolbar: VToolbar
|
96901
96904
|
VToolbarTitle: VToolbarTitle
|
96902
96905
|
VToolbarItems: VToolbarItems
|
96903
96906
|
VTooltip: VTooltip
|
96904
|
-
VTextarea: VTextarea
|
96905
|
-
VTimeline: VTimeline
|
96906
|
-
VTimelineItem: VTimelineItem
|
96907
96907
|
VWindow: VWindow
|
96908
96908
|
VWindowItem: VWindowItem
|
96909
96909
|
VConfirmEdit: VConfirmEdit
|
96910
96910
|
VDataIterator: VDataIterator
|
96911
96911
|
VDefaultsProvider: VDefaultsProvider
|
96912
96912
|
VForm: VForm
|
96913
|
-
VHover: VHover
|
96914
96913
|
VContainer: VContainer
|
96915
96914
|
VCol: VCol
|
96916
96915
|
VRow: VRow
|
96917
96916
|
VSpacer: VSpacer
|
96918
|
-
|
96917
|
+
VHover: VHover
|
96919
96918
|
VLayout: VLayout
|
96920
96919
|
VLayoutItem: VLayoutItem
|
96921
|
-
|
96920
|
+
VLazy: VLazy
|
96922
96921
|
VLocaleProvider: VLocaleProvider
|
96922
|
+
VNoSsr: VNoSsr
|
96923
96923
|
VParallax: VParallax
|
96924
|
-
VRadio: VRadio
|
96925
96924
|
VRangeSlider: VRangeSlider
|
96925
|
+
VRadio: VRadio
|
96926
96926
|
VResponsive: VResponsive
|
96927
96927
|
VSnackbarQueue: VSnackbarQueue
|
96928
96928
|
VSparkline: VSparkline
|
96929
96929
|
VSpeedDial: VSpeedDial
|
96930
96930
|
VThemeProvider: VThemeProvider
|
96931
96931
|
VVirtualScroll: VVirtualScroll
|
96932
|
+
VValidation: VValidation
|
96932
96933
|
VFabTransition: VFabTransition
|
96933
96934
|
VDialogBottomTransition: VDialogBottomTransition
|
96934
96935
|
VDialogTopTransition: VDialogTopTransition
|
@@ -96945,27 +96946,26 @@ declare module 'vue' {
|
|
96945
96946
|
VExpandTransition: VExpandTransition
|
96946
96947
|
VExpandXTransition: VExpandXTransition
|
96947
96948
|
VDialogTransition: VDialogTransition
|
96948
|
-
|
96949
|
-
|
96950
|
-
VStepperVerticalItem: VStepperVerticalItem
|
96951
|
-
VStepperVerticalActions: VStepperVerticalActions
|
96949
|
+
VFileUpload: VFileUpload
|
96950
|
+
VFileUploadItem: VFileUploadItem
|
96952
96951
|
VCalendar: VCalendar
|
96953
96952
|
VCalendarDay: VCalendarDay
|
96954
96953
|
VCalendarHeader: VCalendarHeader
|
96955
96954
|
VCalendarInterval: VCalendarInterval
|
96956
96955
|
VCalendarIntervalEvent: VCalendarIntervalEvent
|
96957
96956
|
VCalendarMonthDay: VCalendarMonthDay
|
96958
|
-
|
96959
|
-
|
96957
|
+
VTreeview: VTreeview
|
96958
|
+
VTreeviewItem: VTreeviewItem
|
96959
|
+
VTreeviewGroup: VTreeviewGroup
|
96960
|
+
VPicker: VPicker
|
96961
|
+
VPickerTitle: VPickerTitle
|
96962
|
+
VStepperVertical: VStepperVertical
|
96963
|
+
VStepperVerticalItem: VStepperVerticalItem
|
96964
|
+
VStepperVerticalActions: VStepperVerticalActions
|
96960
96965
|
VTimePicker: VTimePicker
|
96961
96966
|
VTimePickerClock: VTimePickerClock
|
96962
96967
|
VTimePickerControls: VTimePickerControls
|
96963
96968
|
VIconBtn: VIconBtn
|
96964
|
-
VPicker: VPicker
|
96965
|
-
VPickerTitle: VPickerTitle
|
96966
|
-
VTreeview: VTreeview
|
96967
|
-
VTreeviewItem: VTreeviewItem
|
96968
|
-
VTreeviewGroup: VTreeviewGroup
|
96969
96969
|
VDateInput: VDateInput
|
96970
96970
|
VPullToRefresh: VPullToRefresh
|
96971
96971
|
}
|
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.
|
2
|
+
* Vuetify v3.8.1-master.2025-04-07
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -2382,93 +2382,144 @@ function parseThemeOptions() {
|
|
2382
2382
|
themes
|
2383
2383
|
});
|
2384
2384
|
}
|
2385
|
+
function createCssClass(lines, selector, content, scope) {
|
2386
|
+
lines.push(`${getScopedSelector(selector, scope)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
|
2387
|
+
}
|
2388
|
+
function genCssVariables(theme) {
|
2389
|
+
const lightOverlay = theme.dark ? 2 : 1;
|
2390
|
+
const darkOverlay = theme.dark ? 1 : 2;
|
2391
|
+
const variables = [];
|
2392
|
+
for (const [key, value] of Object.entries(theme.colors)) {
|
2393
|
+
const rgb = parseColor(value);
|
2394
|
+
variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
2395
|
+
if (!key.startsWith('on-')) {
|
2396
|
+
variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
2397
|
+
}
|
2398
|
+
}
|
2399
|
+
for (const [key, value] of Object.entries(theme.variables)) {
|
2400
|
+
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
2401
|
+
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
2402
|
+
variables.push(`--v-${key}: ${rgb ?? value}`);
|
2403
|
+
}
|
2404
|
+
return variables;
|
2405
|
+
}
|
2406
|
+
function genVariation(name, color, variations) {
|
2407
|
+
const object = {};
|
2408
|
+
if (variations) {
|
2409
|
+
for (const variation of ['lighten', 'darken']) {
|
2410
|
+
const fn = variation === 'lighten' ? lighten : darken;
|
2411
|
+
for (const amount of createRange(variations[variation], 1)) {
|
2412
|
+
object[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount));
|
2413
|
+
}
|
2414
|
+
}
|
2415
|
+
}
|
2416
|
+
return object;
|
2417
|
+
}
|
2418
|
+
function genVariations(colors, variations) {
|
2419
|
+
if (!variations) return {};
|
2420
|
+
let variationColors = {};
|
2421
|
+
for (const name of variations.colors) {
|
2422
|
+
const color = colors[name];
|
2423
|
+
if (!color) continue;
|
2424
|
+
variationColors = {
|
2425
|
+
...variationColors,
|
2426
|
+
...genVariation(name, color, variations)
|
2427
|
+
};
|
2428
|
+
}
|
2429
|
+
return variationColors;
|
2430
|
+
}
|
2431
|
+
function genOnColors(colors) {
|
2432
|
+
const onColors = {};
|
2433
|
+
for (const color of Object.keys(colors)) {
|
2434
|
+
if (color.startsWith('on-') || colors[`on-${color}`]) continue;
|
2435
|
+
const onColor = `on-${color}`;
|
2436
|
+
const colorVal = parseColor(colors[color]);
|
2437
|
+
onColors[onColor] = getForeground(colorVal);
|
2438
|
+
}
|
2439
|
+
return onColors;
|
2440
|
+
}
|
2441
|
+
function getScopedSelector(selector, scope) {
|
2442
|
+
if (!scope) return selector;
|
2443
|
+
const scopeSelector = `:where(${scope})`;
|
2444
|
+
return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;
|
2445
|
+
}
|
2446
|
+
function upsertStyles(styleEl, styles) {
|
2447
|
+
if (!styleEl) return;
|
2448
|
+
styleEl.innerHTML = styles;
|
2449
|
+
}
|
2450
|
+
function getOrCreateStyleElement(id, cspNonce) {
|
2451
|
+
if (!IN_BROWSER) return null;
|
2452
|
+
let style = document.getElementById(id);
|
2453
|
+
if (!style) {
|
2454
|
+
style = document.createElement('style');
|
2455
|
+
style.id = id;
|
2456
|
+
style.type = 'text/css';
|
2457
|
+
if (cspNonce) style.setAttribute('nonce', cspNonce);
|
2458
|
+
document.head.appendChild(style);
|
2459
|
+
}
|
2460
|
+
return style;
|
2461
|
+
}
|
2385
2462
|
|
2386
2463
|
// Composables
|
2387
2464
|
function createTheme(options) {
|
2388
2465
|
const parsedOptions = parseThemeOptions(options);
|
2389
|
-
const name =
|
2466
|
+
const name = shallowRef(parsedOptions.defaultTheme);
|
2390
2467
|
const themes = ref(parsedOptions.themes);
|
2391
2468
|
const computedThemes = computed(() => {
|
2392
2469
|
const acc = {};
|
2393
2470
|
for (const [name, original] of Object.entries(themes.value)) {
|
2394
|
-
const
|
2471
|
+
const colors = {
|
2472
|
+
...original.colors,
|
2473
|
+
...genVariations(original.colors, parsedOptions.variations)
|
2474
|
+
};
|
2475
|
+
acc[name] = {
|
2395
2476
|
...original,
|
2396
2477
|
colors: {
|
2397
|
-
...
|
2478
|
+
...colors,
|
2479
|
+
...genOnColors(colors)
|
2398
2480
|
}
|
2399
2481
|
};
|
2400
|
-
if (parsedOptions.variations) {
|
2401
|
-
for (const name of parsedOptions.variations.colors) {
|
2402
|
-
const color = theme.colors[name];
|
2403
|
-
if (!color) continue;
|
2404
|
-
for (const variation of ['lighten', 'darken']) {
|
2405
|
-
const fn = variation === 'lighten' ? lighten : darken;
|
2406
|
-
for (const amount of createRange(parsedOptions.variations[variation], 1)) {
|
2407
|
-
theme.colors[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount));
|
2408
|
-
}
|
2409
|
-
}
|
2410
|
-
}
|
2411
|
-
}
|
2412
|
-
for (const color of Object.keys(theme.colors)) {
|
2413
|
-
if (/^on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue;
|
2414
|
-
const onColor = `on-${color}`;
|
2415
|
-
const colorVal = parseColor(theme.colors[color]);
|
2416
|
-
theme.colors[onColor] = getForeground(colorVal);
|
2417
|
-
}
|
2418
2482
|
}
|
2419
2483
|
return acc;
|
2420
2484
|
});
|
2421
2485
|
const current = computed(() => computedThemes.value[name.value]);
|
2422
|
-
function createCssClass(lines, selector, content) {
|
2423
|
-
lines.push(`${getScopedSelector(selector)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
|
2424
|
-
}
|
2425
|
-
function getScopedSelector(selector) {
|
2426
|
-
if (!parsedOptions.scope) {
|
2427
|
-
return selector;
|
2428
|
-
}
|
2429
|
-
const scopeSelector = `:where(${parsedOptions.scope})`;
|
2430
|
-
if (selector === ':root') {
|
2431
|
-
return scopeSelector;
|
2432
|
-
}
|
2433
|
-
return `${scopeSelector} ${selector}`;
|
2434
|
-
}
|
2435
2486
|
const styles = computed(() => {
|
2436
2487
|
const lines = [];
|
2437
2488
|
if (current.value?.dark) {
|
2438
|
-
createCssClass(lines, ':root', ['color-scheme: dark']);
|
2489
|
+
createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);
|
2439
2490
|
}
|
2440
|
-
createCssClass(lines, ':root', genCssVariables(current.value));
|
2491
|
+
createCssClass(lines, ':root', genCssVariables(current.value), parsedOptions.scope);
|
2441
2492
|
for (const [themeName, theme] of Object.entries(computedThemes.value)) {
|
2442
|
-
createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)]);
|
2493
|
+
createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)], parsedOptions.scope);
|
2443
2494
|
}
|
2444
2495
|
const bgLines = [];
|
2445
2496
|
const fgLines = [];
|
2446
2497
|
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
2447
2498
|
for (const key of colors) {
|
2448
|
-
if (
|
2449
|
-
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
|
2499
|
+
if (key.startsWith('on-')) {
|
2500
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
|
2450
2501
|
} else {
|
2451
|
-
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`]);
|
2452
|
-
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
|
2453
|
-
createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
|
2502
|
+
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);
|
2503
|
+
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
|
2504
|
+
createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`], parsedOptions.scope);
|
2454
2505
|
}
|
2455
2506
|
}
|
2456
2507
|
lines.push(...bgLines, ...fgLines);
|
2457
2508
|
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
2458
2509
|
});
|
2459
|
-
function getHead() {
|
2460
|
-
return {
|
2461
|
-
style: [{
|
2462
|
-
textContent: styles.value,
|
2463
|
-
id: parsedOptions.stylesheetId,
|
2464
|
-
nonce: parsedOptions.cspNonce || false
|
2465
|
-
}]
|
2466
|
-
};
|
2467
|
-
}
|
2468
2510
|
function install(app) {
|
2469
2511
|
if (parsedOptions.isDisabled) return;
|
2470
2512
|
const head = app._context.provides.usehead;
|
2471
2513
|
if (head) {
|
2514
|
+
function getHead() {
|
2515
|
+
return {
|
2516
|
+
style: [{
|
2517
|
+
textContent: styles.value,
|
2518
|
+
id: parsedOptions.stylesheetId,
|
2519
|
+
nonce: parsedOptions.cspNonce || false
|
2520
|
+
}]
|
2521
|
+
};
|
2522
|
+
}
|
2472
2523
|
if (head.push) {
|
2473
2524
|
const entry = head.push(getHead);
|
2474
2525
|
if (IN_BROWSER) {
|
@@ -2485,7 +2536,6 @@ function createTheme(options) {
|
|
2485
2536
|
}
|
2486
2537
|
}
|
2487
2538
|
} else {
|
2488
|
-
let styleEl = IN_BROWSER ? document.getElementById(parsedOptions.stylesheetId) : null;
|
2489
2539
|
if (IN_BROWSER) {
|
2490
2540
|
watch(styles, updateStyles, {
|
2491
2541
|
immediate: true
|
@@ -2494,15 +2544,7 @@ function createTheme(options) {
|
|
2494
2544
|
updateStyles();
|
2495
2545
|
}
|
2496
2546
|
function updateStyles() {
|
2497
|
-
|
2498
|
-
const el = document.createElement('style');
|
2499
|
-
el.type = 'text/css';
|
2500
|
-
el.id = parsedOptions.stylesheetId;
|
2501
|
-
if (parsedOptions.cspNonce) el.setAttribute('nonce', parsedOptions.cspNonce);
|
2502
|
-
styleEl = el;
|
2503
|
-
document.head.appendChild(styleEl);
|
2504
|
-
}
|
2505
|
-
if (styleEl) styleEl.innerHTML = styles.value;
|
2547
|
+
upsertStyles(getOrCreateStyleElement(parsedOptions.stylesheetId, parsedOptions.cspNonce), styles.value);
|
2506
2548
|
}
|
2507
2549
|
}
|
2508
2550
|
}
|
@@ -2526,9 +2568,7 @@ function provideTheme(props) {
|
|
2526
2568
|
getCurrentInstance('provideTheme');
|
2527
2569
|
const theme = inject$1(ThemeSymbol, null);
|
2528
2570
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
2529
|
-
const name = computed(() =>
|
2530
|
-
return props.theme ?? theme.name.value;
|
2531
|
-
});
|
2571
|
+
const name = computed(() => props.theme ?? theme.name.value);
|
2532
2572
|
const current = computed(() => theme.themes.value[name.value]);
|
2533
2573
|
const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${name.value}`);
|
2534
2574
|
const newTheme = {
|
@@ -2546,24 +2586,6 @@ function useTheme() {
|
|
2546
2586
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
2547
2587
|
return theme;
|
2548
2588
|
}
|
2549
|
-
function genCssVariables(theme) {
|
2550
|
-
const lightOverlay = theme.dark ? 2 : 1;
|
2551
|
-
const darkOverlay = theme.dark ? 1 : 2;
|
2552
|
-
const variables = [];
|
2553
|
-
for (const [key, value] of Object.entries(theme.colors)) {
|
2554
|
-
const rgb = parseColor(value);
|
2555
|
-
variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
2556
|
-
if (!key.startsWith('on-')) {
|
2557
|
-
variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
2558
|
-
}
|
2559
|
-
}
|
2560
|
-
for (const [key, value] of Object.entries(theme.variables)) {
|
2561
|
-
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
2562
|
-
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
2563
|
-
variables.push(`--v-${key}: ${rgb ?? value}`);
|
2564
|
-
}
|
2565
|
-
return variables;
|
2566
|
-
}
|
2567
2589
|
|
2568
2590
|
const makeVAppProps = propsFactory({
|
2569
2591
|
...makeComponentProps(),
|
@@ -31538,7 +31560,7 @@ function createVuetify$1() {
|
|
31538
31560
|
};
|
31539
31561
|
});
|
31540
31562
|
}
|
31541
|
-
const version$1 = "3.8.
|
31563
|
+
const version$1 = "3.8.1-master.2025-04-07";
|
31542
31564
|
createVuetify$1.version = version$1;
|
31543
31565
|
|
31544
31566
|
// Vue's inject() can only be used in setup
|
@@ -31823,7 +31845,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
31823
31845
|
|
31824
31846
|
/* eslint-disable local-rules/sort-imports */
|
31825
31847
|
|
31826
|
-
const version = "3.8.
|
31848
|
+
const version = "3.8.1-master.2025-04-07";
|
31827
31849
|
|
31828
31850
|
/* eslint-disable local-rules/sort-imports */
|
31829
31851
|
|