@vuetify/nightly 3.8.0-master.2025-04-04 → 3.8.1-dev.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 +5 -14
- package/dist/json/attributes.json +2907 -2907
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +148 -148
- package/dist/json/web-types.json +5685 -5685
- package/dist/vuetify-labs.cjs +113 -86
- package/dist/vuetify-labs.css +5929 -5929
- package/dist/vuetify-labs.d.ts +53 -53
- package/dist/vuetify-labs.esm.js +113 -86
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +113 -86
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +113 -86
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +5668 -5668
- package/dist/vuetify.d.ts +53 -53
- package/dist/vuetify.esm.js +113 -86
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +113 -86
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +794 -791
- 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/composables/virtual.js +6 -1
- 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 +53 -53
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/package.json +2 -2
package/dist/vuetify-labs.d.ts
CHANGED
@@ -96780,45 +96780,40 @@ declare module 'vue' {
|
|
96780
96780
|
$children?: VNodeChild
|
96781
96781
|
}
|
96782
96782
|
export interface GlobalComponents {
|
96783
|
-
|
96783
|
+
VApp: VApp
|
96784
96784
|
VAppBar: VAppBar
|
96785
96785
|
VAppBarNavIcon: VAppBarNavIcon
|
96786
96786
|
VAppBarTitle: VAppBarTitle
|
96787
96787
|
VAvatar: VAvatar
|
96788
|
-
|
96788
|
+
VAlert: VAlert
|
96789
|
+
VAlertTitle: VAlertTitle
|
96790
|
+
VAutocomplete: VAutocomplete
|
96789
96791
|
VBadge: VBadge
|
96790
96792
|
VBanner: VBanner
|
96791
96793
|
VBannerActions: VBannerActions
|
96792
96794
|
VBannerText: VBannerText
|
96793
|
-
VAlert: VAlert
|
96794
|
-
VAlertTitle: VAlertTitle
|
96795
|
-
VBtn: VBtn
|
96796
96795
|
VBreadcrumbs: VBreadcrumbs
|
96797
96796
|
VBreadcrumbsItem: VBreadcrumbsItem
|
96798
96797
|
VBreadcrumbsDivider: VBreadcrumbsDivider
|
96798
|
+
VBottomSheet: VBottomSheet
|
96799
|
+
VBottomNavigation: VBottomNavigation
|
96800
|
+
VBtnGroup: VBtnGroup
|
96801
|
+
VBtn: VBtn
|
96802
|
+
VCheckbox: VCheckbox
|
96803
|
+
VCheckboxBtn: VCheckboxBtn
|
96799
96804
|
VCard: VCard
|
96800
96805
|
VCardActions: VCardActions
|
96801
96806
|
VCardItem: VCardItem
|
96802
96807
|
VCardSubtitle: VCardSubtitle
|
96803
96808
|
VCardText: VCardText
|
96804
96809
|
VCardTitle: VCardTitle
|
96805
|
-
VCheckbox: VCheckbox
|
96806
|
-
VCheckboxBtn: VCheckboxBtn
|
96807
|
-
VBottomNavigation: VBottomNavigation
|
96808
96810
|
VBtnToggle: VBtnToggle
|
96811
|
+
VChipGroup: VChipGroup
|
96809
96812
|
VCarousel: VCarousel
|
96810
96813
|
VCarouselItem: VCarouselItem
|
96811
|
-
VBottomSheet: VBottomSheet
|
96812
|
-
VChip: VChip
|
96813
|
-
VBtnGroup: VBtnGroup
|
96814
|
-
VChipGroup: VChipGroup
|
96815
96814
|
VColorPicker: VColorPicker
|
96816
|
-
|
96817
|
-
|
96818
|
-
VDatePickerHeader: VDatePickerHeader
|
96819
|
-
VDatePickerMonth: VDatePickerMonth
|
96820
|
-
VDatePickerMonths: VDatePickerMonths
|
96821
|
-
VDatePickerYears: VDatePickerYears
|
96815
|
+
VCode: VCode
|
96816
|
+
VCombobox: VCombobox
|
96822
96817
|
VDataTable: VDataTable
|
96823
96818
|
VDataTableHeaders: VDataTableHeaders
|
96824
96819
|
VDataTableFooter: VDataTableFooter
|
@@ -96826,31 +96821,38 @@ declare module 'vue' {
|
|
96826
96821
|
VDataTableRow: VDataTableRow
|
96827
96822
|
VDataTableVirtual: VDataTableVirtual
|
96828
96823
|
VDataTableServer: VDataTableServer
|
96829
|
-
|
96824
|
+
VDatePicker: VDatePicker
|
96825
|
+
VDatePickerControls: VDatePickerControls
|
96826
|
+
VDatePickerHeader: VDatePickerHeader
|
96827
|
+
VDatePickerMonth: VDatePickerMonth
|
96828
|
+
VDatePickerMonths: VDatePickerMonths
|
96829
|
+
VDatePickerYears: VDatePickerYears
|
96830
96830
|
VCounter: VCounter
|
96831
|
-
|
96832
|
-
VCombobox: VCombobox
|
96833
|
-
VDivider: VDivider
|
96834
|
-
VFileInput: VFileInput
|
96835
|
-
VFab: VFab
|
96831
|
+
VChip: VChip
|
96836
96832
|
VEmptyState: VEmptyState
|
96833
|
+
VDivider: VDivider
|
96837
96834
|
VExpansionPanels: VExpansionPanels
|
96838
96835
|
VExpansionPanel: VExpansionPanel
|
96839
96836
|
VExpansionPanelText: VExpansionPanelText
|
96840
96837
|
VExpansionPanelTitle: VExpansionPanelTitle
|
96838
|
+
VDialog: VDialog
|
96839
|
+
VFab: VFab
|
96841
96840
|
VField: VField
|
96842
96841
|
VFieldLabel: VFieldLabel
|
96843
96842
|
VFooter: VFooter
|
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
|
+
VInput: VInput
|
96850
|
+
VLabel: VLabel
|
96851
|
+
VInfiniteScroll: VInfiniteScroll
|
96850
96852
|
VItemGroup: VItemGroup
|
96851
96853
|
VItem: VItem
|
96852
|
-
VInput: VInput
|
96853
96854
|
VKbd: VKbd
|
96855
|
+
VImg: VImg
|
96854
96856
|
VList: VList
|
96855
96857
|
VListGroup: VListGroup
|
96856
96858
|
VListImg: VListImg
|
@@ -96860,35 +96862,33 @@ declare module 'vue' {
|
|
96860
96862
|
VListItemSubtitle: VListItemSubtitle
|
96861
96863
|
VListItemTitle: VListItemTitle
|
96862
96864
|
VListSubheader: VListSubheader
|
96863
|
-
VInfiniteScroll: VInfiniteScroll
|
96864
|
-
VLabel: VLabel
|
96865
|
-
VMenu: VMenu
|
96866
|
-
VNumberInput: VNumberInput
|
96867
96865
|
VMain: VMain
|
96868
96866
|
VNavigationDrawer: VNavigationDrawer
|
96869
|
-
|
96867
|
+
VMenu: VMenu
|
96870
96868
|
VOtpInput: VOtpInput
|
96871
96869
|
VOverlay: VOverlay
|
96872
|
-
VProgressCircular: VProgressCircular
|
96873
|
-
VProgressLinear: VProgressLinear
|
96874
96870
|
VMessages: VMessages
|
96871
|
+
VNumberInput: VNumberInput
|
96872
|
+
VPagination: VPagination
|
96873
|
+
VProgressLinear: VProgressLinear
|
96875
96874
|
VRadioGroup: VRadioGroup
|
96875
|
+
VProgressCircular: VProgressCircular
|
96876
|
+
VSelect: VSelect
|
96876
96877
|
VRating: VRating
|
96877
96878
|
VSelectionControl: VSelectionControl
|
96878
96879
|
VSelectionControlGroup: VSelectionControlGroup
|
96879
|
-
VSkeletonLoader: VSkeletonLoader
|
96880
|
-
VSelect: VSelect
|
96881
96880
|
VSlideGroup: VSlideGroup
|
96882
96881
|
VSlideGroupItem: VSlideGroupItem
|
96882
|
+
VSnackbar: VSnackbar
|
96883
96883
|
VSheet: VSheet
|
96884
|
+
VSkeletonLoader: VSkeletonLoader
|
96884
96885
|
VSlider: VSlider
|
96885
|
-
VSnackbar: VSnackbar
|
96886
96886
|
VSwitch: VSwitch
|
96887
|
-
VSystemBar: VSystemBar
|
96888
96887
|
VTab: VTab
|
96889
96888
|
VTabs: VTabs
|
96890
96889
|
VTabsWindow: VTabsWindow
|
96891
96890
|
VTabsWindowItem: VTabsWindowItem
|
96891
|
+
VSystemBar: VSystemBar
|
96892
96892
|
VStepper: VStepper
|
96893
96893
|
VStepperActions: VStepperActions
|
96894
96894
|
VStepperHeader: VStepperHeader
|
@@ -96896,34 +96896,34 @@ declare module 'vue' {
|
|
96896
96896
|
VStepperWindow: VStepperWindow
|
96897
96897
|
VStepperWindowItem: VStepperWindowItem
|
96898
96898
|
VTextarea: VTextarea
|
96899
|
+
VTable: VTable
|
96899
96900
|
VToolbar: VToolbar
|
96900
96901
|
VToolbarTitle: VToolbarTitle
|
96901
96902
|
VToolbarItems: VToolbarItems
|
96902
|
-
|
96903
|
+
VTextField: VTextField
|
96903
96904
|
VTimeline: VTimeline
|
96904
96905
|
VTimelineItem: VTimelineItem
|
96905
|
-
VTooltip: VTooltip
|
96906
96906
|
VWindow: VWindow
|
96907
96907
|
VWindowItem: VWindowItem
|
96908
|
-
|
96908
|
+
VTooltip: VTooltip
|
96909
96909
|
VConfirmEdit: VConfirmEdit
|
96910
96910
|
VDataIterator: VDataIterator
|
96911
|
-
VHover: VHover
|
96912
96911
|
VDefaultsProvider: VDefaultsProvider
|
96912
|
+
VForm: VForm
|
96913
|
+
VHover: VHover
|
96913
96914
|
VContainer: VContainer
|
96914
96915
|
VCol: VCol
|
96915
96916
|
VRow: VRow
|
96916
96917
|
VSpacer: VSpacer
|
96917
|
-
VForm: VForm
|
96918
|
-
VLazy: VLazy
|
96919
96918
|
VLayout: VLayout
|
96920
96919
|
VLayoutItem: VLayoutItem
|
96920
|
+
VLazy: VLazy
|
96921
96921
|
VLocaleProvider: VLocaleProvider
|
96922
96922
|
VNoSsr: VNoSsr
|
96923
96923
|
VParallax: VParallax
|
96924
96924
|
VRadio: VRadio
|
96925
|
-
VResponsive: VResponsive
|
96926
96925
|
VRangeSlider: VRangeSlider
|
96926
|
+
VResponsive: VResponsive
|
96927
96927
|
VSnackbarQueue: VSnackbarQueue
|
96928
96928
|
VSparkline: VSparkline
|
96929
96929
|
VSpeedDial: VSpeedDial
|
@@ -96948,6 +96948,9 @@ declare module 'vue' {
|
|
96948
96948
|
VDialogTransition: VDialogTransition
|
96949
96949
|
VFileUpload: VFileUpload
|
96950
96950
|
VFileUploadItem: VFileUploadItem
|
96951
|
+
VStepperVertical: VStepperVertical
|
96952
|
+
VStepperVerticalItem: VStepperVerticalItem
|
96953
|
+
VStepperVerticalActions: VStepperVerticalActions
|
96951
96954
|
VCalendar: VCalendar
|
96952
96955
|
VCalendarDay: VCalendarDay
|
96953
96956
|
VCalendarHeader: VCalendarHeader
|
@@ -96955,18 +96958,15 @@ declare module 'vue' {
|
|
96955
96958
|
VCalendarIntervalEvent: VCalendarIntervalEvent
|
96956
96959
|
VCalendarMonthDay: VCalendarMonthDay
|
96957
96960
|
VIconBtn: VIconBtn
|
96958
|
-
|
96959
|
-
|
96960
|
-
VTreeviewGroup: VTreeviewGroup
|
96961
|
+
VPicker: VPicker
|
96962
|
+
VPickerTitle: VPickerTitle
|
96961
96963
|
VTimePicker: VTimePicker
|
96962
96964
|
VTimePickerClock: VTimePickerClock
|
96963
96965
|
VTimePickerControls: VTimePickerControls
|
96964
|
-
|
96965
|
-
|
96966
|
-
|
96967
|
-
VStepperVerticalItem: VStepperVerticalItem
|
96968
|
-
VStepperVerticalActions: VStepperVerticalActions
|
96969
|
-
VPullToRefresh: VPullToRefresh
|
96966
|
+
VTreeview: VTreeview
|
96967
|
+
VTreeviewItem: VTreeviewItem
|
96968
|
+
VTreeviewGroup: VTreeviewGroup
|
96970
96969
|
VDateInput: VDateInput
|
96970
|
+
VPullToRefresh: VPullToRefresh
|
96971
96971
|
}
|
96972
96972
|
}
|
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.
|
2
|
+
* Vuetify v3.8.1-dev.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(),
|
@@ -12281,7 +12303,12 @@ function useVirtual(props, items) {
|
|
12281
12303
|
}
|
12282
12304
|
function calculateOffset(index) {
|
12283
12305
|
index = clamp(index, 0, items.value.length - 1);
|
12284
|
-
|
12306
|
+
const whole = Math.floor(index);
|
12307
|
+
const fraction = index % 1;
|
12308
|
+
const next = whole + 1;
|
12309
|
+
const wholeOffset = offsets[whole] || 0;
|
12310
|
+
const nextOffset = offsets[next] || wholeOffset;
|
12311
|
+
return wholeOffset + (nextOffset - wholeOffset) * fraction;
|
12285
12312
|
}
|
12286
12313
|
function calculateIndex(scrollTop) {
|
12287
12314
|
return binaryClosest(offsets, scrollTop);
|
@@ -31538,7 +31565,7 @@ function createVuetify$1() {
|
|
31538
31565
|
};
|
31539
31566
|
});
|
31540
31567
|
}
|
31541
|
-
const version$1 = "3.8.
|
31568
|
+
const version$1 = "3.8.1-dev.2025-04-07";
|
31542
31569
|
createVuetify$1.version = version$1;
|
31543
31570
|
|
31544
31571
|
// Vue's inject() can only be used in setup
|
@@ -31823,7 +31850,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
31823
31850
|
|
31824
31851
|
/* eslint-disable local-rules/sort-imports */
|
31825
31852
|
|
31826
|
-
const version = "3.8.
|
31853
|
+
const version = "3.8.1-dev.2025-04-07";
|
31827
31854
|
|
31828
31855
|
/* eslint-disable local-rules/sort-imports */
|
31829
31856
|
|