@vuetify/nightly 3.7.7-dev.2025-01-20 → 3.7.7-dev.2025-01-22

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
@@ -4294,7 +4294,7 @@ type SelectStrategy = {
4294
4294
  };
4295
4295
 
4296
4296
  type ActiveStrategyProp = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | ActiveStrategy | ((mandatory: boolean) => ActiveStrategy);
4297
- type SelectStrategyProp = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategy | ((mandatory: boolean) => SelectStrategy);
4297
+ type SelectStrategyProp = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | 'trunk' | SelectStrategy | ((mandatory: boolean) => SelectStrategy);
4298
4298
  type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy;
4299
4299
 
4300
4300
  type VListChildrenSlots<T> = {
@@ -57843,6 +57843,7 @@ declare namespace index_d {
57843
57843
  declare const createVuetify: {
57844
57844
  (options?: VuetifyOptions): {
57845
57845
  install: (app: vue.App) => void;
57846
+ unmount: () => void;
57846
57847
  defaults: vue.Ref<DefaultsInstance, DefaultsInstance>;
57847
57848
  display: DisplayInstance;
57848
57849
  theme: ThemeInstance & {
@@ -57910,7 +57911,7 @@ declare const createVuetify: {
57910
57911
  };
57911
57912
  };
57912
57913
  goTo: GoToInstance;
57913
- };
57914
+ } | undefined;
57914
57915
  version: string;
57915
57916
  };
57916
57917
  declare const version: string;
@@ -57952,25 +57953,24 @@ declare module 'vue' {
57952
57953
  $children?: VNodeChild
57953
57954
  }
57954
57955
  export interface GlobalComponents {
57955
- VAvatar: VAvatar
57956
+ VApp: VApp
57957
+ VAutocomplete: VAutocomplete
57958
+ VBadge: VBadge
57956
57959
  VAppBar: VAppBar
57957
57960
  VAppBarNavIcon: VAppBarNavIcon
57958
57961
  VAppBarTitle: VAppBarTitle
57959
- VApp: VApp
57960
57962
  VAlert: VAlert
57961
57963
  VAlertTitle: VAlertTitle
57962
- VBadge: VBadge
57963
57964
  VBottomNavigation: VBottomNavigation
57965
+ VBanner: VBanner
57966
+ VBannerActions: VBannerActions
57967
+ VBannerText: VBannerText
57968
+ VAvatar: VAvatar
57964
57969
  VBreadcrumbs: VBreadcrumbs
57965
57970
  VBreadcrumbsItem: VBreadcrumbsItem
57966
57971
  VBreadcrumbsDivider: VBreadcrumbsDivider
57972
+ VBtnToggle: VBtnToggle
57967
57973
  VBtn: VBtn
57968
- VBottomSheet: VBottomSheet
57969
- VBanner: VBanner
57970
- VBannerActions: VBannerActions
57971
- VBannerText: VBannerText
57972
- VCheckbox: VCheckbox
57973
- VCheckboxBtn: VCheckboxBtn
57974
57974
  VBtnGroup: VBtnGroup
57975
57975
  VCard: VCard
57976
57976
  VCardActions: VCardActions
@@ -57978,17 +57978,15 @@ declare module 'vue' {
57978
57978
  VCardSubtitle: VCardSubtitle
57979
57979
  VCardText: VCardText
57980
57980
  VCardTitle: VCardTitle
57981
- VChip: VChip
57981
+ VBottomSheet: VBottomSheet
57982
+ VCheckbox: VCheckbox
57983
+ VCheckboxBtn: VCheckboxBtn
57984
+ VCode: VCode
57985
+ VChipGroup: VChipGroup
57982
57986
  VCarousel: VCarousel
57983
57987
  VCarouselItem: VCarouselItem
57984
57988
  VCombobox: VCombobox
57985
- VBtnToggle: VBtnToggle
57986
- VColorPicker: VColorPicker
57987
- VCode: VCode
57988
- VChipGroup: VChipGroup
57989
- VCounter: VCounter
57990
- VDivider: VDivider
57991
- VDialog: VDialog
57989
+ VChip: VChip
57992
57990
  VDataTable: VDataTable
57993
57991
  VDataTableHeaders: VDataTableHeaders
57994
57992
  VDataTableFooter: VDataTableFooter
@@ -57996,22 +57994,38 @@ declare module 'vue' {
57996
57994
  VDataTableRow: VDataTableRow
57997
57995
  VDataTableVirtual: VDataTableVirtual
57998
57996
  VDataTableServer: VDataTableServer
57999
- VFileInput: VFileInput
58000
- VEmptyState: VEmptyState
58001
- VFooter: VFooter
58002
- VFab: VFab
57997
+ VColorPicker: VColorPicker
57998
+ VCounter: VCounter
57999
+ VDivider: VDivider
58000
+ VDialog: VDialog
58003
58001
  VField: VField
58004
58002
  VFieldLabel: VFieldLabel
58005
- VInfiniteScroll: VInfiniteScroll
58006
- VItemGroup: VItemGroup
58007
- VItem: VItem
58003
+ VFab: VFab
58004
+ VDatePicker: VDatePicker
58005
+ VDatePickerControls: VDatePickerControls
58006
+ VDatePickerHeader: VDatePickerHeader
58007
+ VDatePickerMonth: VDatePickerMonth
58008
+ VDatePickerMonths: VDatePickerMonths
58009
+ VDatePickerYears: VDatePickerYears
58010
+ VEmptyState: VEmptyState
58011
+ VExpansionPanels: VExpansionPanels
58012
+ VExpansionPanel: VExpansionPanel
58013
+ VExpansionPanelText: VExpansionPanelText
58014
+ VExpansionPanelTitle: VExpansionPanelTitle
58015
+ VFooter: VFooter
58016
+ VFileInput: VFileInput
58008
58017
  VImg: VImg
58009
- VLabel: VLabel
58010
58018
  VIcon: VIcon
58011
58019
  VComponentIcon: VComponentIcon
58012
58020
  VSvgIcon: VSvgIcon
58013
58021
  VLigatureIcon: VLigatureIcon
58014
58022
  VClassIcon: VClassIcon
58023
+ VItemGroup: VItemGroup
58024
+ VItem: VItem
58025
+ VKbd: VKbd
58026
+ VInput: VInput
58027
+ VInfiniteScroll: VInfiniteScroll
58028
+ VMain: VMain
58015
58029
  VList: VList
58016
58030
  VListGroup: VListGroup
58017
58031
  VListImg: VListImg
@@ -58021,61 +58035,53 @@ declare module 'vue' {
58021
58035
  VListItemSubtitle: VListItemSubtitle
58022
58036
  VListItemTitle: VListItemTitle
58023
58037
  VListSubheader: VListSubheader
58024
- VInput: VInput
58025
- VMain: VMain
58026
- VMessages: VMessages
58038
+ VLabel: VLabel
58027
58039
  VMenu: VMenu
58028
- VOverlay: VOverlay
58029
- VNavigationDrawer: VNavigationDrawer
58040
+ VMessages: VMessages
58041
+ VOtpInput: VOtpInput
58030
58042
  VPagination: VPagination
58031
- VDatePicker: VDatePicker
58032
- VDatePickerControls: VDatePickerControls
58033
- VDatePickerHeader: VDatePickerHeader
58034
- VDatePickerMonth: VDatePickerMonth
58035
- VDatePickerMonths: VDatePickerMonths
58036
- VDatePickerYears: VDatePickerYears
58037
- VKbd: VKbd
58043
+ VNavigationDrawer: VNavigationDrawer
58044
+ VProgressCircular: VProgressCircular
58045
+ VOverlay: VOverlay
58038
58046
  VRadioGroup: VRadioGroup
58039
- VRating: VRating
58047
+ VProgressLinear: VProgressLinear
58040
58048
  VSelect: VSelect
58049
+ VRating: VRating
58041
58050
  VSelectionControlGroup: VSelectionControlGroup
58042
58051
  VSelectionControl: VSelectionControl
58043
- VSlideGroup: VSlideGroup
58044
- VSlideGroupItem: VSlideGroupItem
58052
+ VSkeletonLoader: VSkeletonLoader
58045
58053
  VSheet: VSheet
58046
- VSnackbar: VSnackbar
58047
58054
  VSlider: VSlider
58055
+ VSlideGroup: VSlideGroup
58056
+ VSlideGroupItem: VSlideGroupItem
58048
58057
  VStepper: VStepper
58049
58058
  VStepperActions: VStepperActions
58050
58059
  VStepperHeader: VStepperHeader
58051
58060
  VStepperItem: VStepperItem
58052
58061
  VStepperWindow: VStepperWindow
58053
58062
  VStepperWindowItem: VStepperWindowItem
58063
+ VSnackbar: VSnackbar
58064
+ VSystemBar: VSystemBar
58054
58065
  VSwitch: VSwitch
58055
- VSkeletonLoader: VSkeletonLoader
58056
- VTextarea: VTextarea
58057
58066
  VTab: VTab
58058
58067
  VTabs: VTabs
58059
58068
  VTabsWindow: VTabsWindow
58060
58069
  VTabsWindowItem: VTabsWindowItem
58070
+ VTextarea: VTextarea
58071
+ VTimeline: VTimeline
58072
+ VTimelineItem: VTimelineItem
58073
+ VTextField: VTextField
58074
+ VWindow: VWindow
58075
+ VWindowItem: VWindowItem
58061
58076
  VTable: VTable
58062
- VProgressCircular: VProgressCircular
58063
58077
  VToolbar: VToolbar
58064
58078
  VToolbarTitle: VToolbarTitle
58065
58079
  VToolbarItems: VToolbarItems
58066
- VTextField: VTextField
58067
- VWindow: VWindow
58068
- VWindowItem: VWindowItem
58069
58080
  VTooltip: VTooltip
58070
- VExpansionPanels: VExpansionPanels
58071
- VExpansionPanel: VExpansionPanel
58072
- VExpansionPanelText: VExpansionPanelText
58073
- VExpansionPanelTitle: VExpansionPanelTitle
58074
- VProgressLinear: VProgressLinear
58075
- VTimeline: VTimeline
58076
- VTimelineItem: VTimelineItem
58077
- VDefaultsProvider: VDefaultsProvider
58081
+ VConfirmEdit: VConfirmEdit
58078
58082
  VDataIterator: VDataIterator
58083
+ VDefaultsProvider: VDefaultsProvider
58084
+ VForm: VForm
58079
58085
  VContainer: VContainer
58080
58086
  VCol: VCol
58081
58087
  VRow: VRow
@@ -58083,17 +58089,18 @@ declare module 'vue' {
58083
58089
  VHover: VHover
58084
58090
  VLayout: VLayout
58085
58091
  VLayoutItem: VLayoutItem
58086
- VSystemBar: VSystemBar
58087
58092
  VLazy: VLazy
58093
+ VLocaleProvider: VLocaleProvider
58088
58094
  VNoSsr: VNoSsr
58089
58095
  VParallax: VParallax
58090
- VForm: VForm
58091
58096
  VRadio: VRadio
58092
58097
  VRangeSlider: VRangeSlider
58093
58098
  VResponsive: VResponsive
58094
- VSpeedDial: VSpeedDial
58095
58099
  VSparkline: VSparkline
58096
- VLocaleProvider: VLocaleProvider
58100
+ VSpeedDial: VSpeedDial
58101
+ VThemeProvider: VThemeProvider
58102
+ VValidation: VValidation
58103
+ VVirtualScroll: VVirtualScroll
58097
58104
  VFabTransition: VFabTransition
58098
58105
  VDialogBottomTransition: VDialogBottomTransition
58099
58106
  VDialogTopTransition: VDialogTopTransition
@@ -58110,34 +58117,28 @@ declare module 'vue' {
58110
58117
  VExpandTransition: VExpandTransition
58111
58118
  VExpandXTransition: VExpandXTransition
58112
58119
  VDialogTransition: VDialogTransition
58113
- VAutocomplete: VAutocomplete
58114
- VOtpInput: VOtpInput
58115
- VVirtualScroll: VVirtualScroll
58116
- VValidation: VValidation
58117
- VThemeProvider: VThemeProvider
58118
- VConfirmEdit: VConfirmEdit
58120
+ VNumberInput: VNumberInput
58121
+ VFileUpload: VFileUpload
58122
+ VFileUploadItem: VFileUploadItem
58119
58123
  VStepperVertical: VStepperVertical
58120
58124
  VStepperVerticalItem: VStepperVerticalItem
58121
58125
  VStepperVerticalActions: VStepperVerticalActions
58126
+ VPicker: VPicker
58127
+ VPickerTitle: VPickerTitle
58128
+ VTreeview: VTreeview
58129
+ VTreeviewItem: VTreeviewItem
58130
+ VTreeviewGroup: VTreeviewGroup
58122
58131
  VCalendar: VCalendar
58123
58132
  VCalendarDay: VCalendarDay
58124
58133
  VCalendarHeader: VCalendarHeader
58125
58134
  VCalendarInterval: VCalendarInterval
58126
58135
  VCalendarIntervalEvent: VCalendarIntervalEvent
58127
58136
  VCalendarMonthDay: VCalendarMonthDay
58128
- VFileUpload: VFileUpload
58129
- VFileUploadItem: VFileUploadItem
58130
- VNumberInput: VNumberInput
58131
- VPicker: VPicker
58132
- VPickerTitle: VPickerTitle
58133
- VTreeview: VTreeview
58134
- VTreeviewItem: VTreeviewItem
58135
- VTreeviewGroup: VTreeviewGroup
58136
58137
  VTimePicker: VTimePicker
58137
58138
  VTimePickerClock: VTimePickerClock
58138
58139
  VTimePickerControls: VTimePickerControls
58139
58140
  VDateInput: VDateInput
58140
- VSnackbarQueue: VSnackbarQueue
58141
58141
  VPullToRefresh: VPullToRefresh
58142
+ VSnackbarQueue: VSnackbarQueue
58142
58143
  }
58143
58144
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.7-dev.2025-01-20
2
+ * Vuetify v3.7.7-dev.2025-01-22
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -7407,6 +7407,9 @@ function createDisplay(options, ssr) {
7407
7407
  window.addEventListener('resize', updateSize, {
7408
7408
  passive: true
7409
7409
  });
7410
+ onScopeDispose(() => {
7411
+ window.removeEventListener('resize', updateSize);
7412
+ }, true);
7410
7413
  }
7411
7414
  return {
7412
7415
  ...toRefs(state),
@@ -8727,6 +8730,27 @@ const classicSelectStrategy = mandatory => {
8727
8730
  };
8728
8731
  return strategy;
8729
8732
  };
8733
+ const trunkSelectStrategy = mandatory => {
8734
+ const parentStrategy = classicSelectStrategy(mandatory);
8735
+ const strategy = {
8736
+ select: parentStrategy.select,
8737
+ in: parentStrategy.in,
8738
+ out: (v, children, parents) => {
8739
+ const arr = [];
8740
+ for (const [key, value] of v.entries()) {
8741
+ if (value === 'on') {
8742
+ if (parents.has(key)) {
8743
+ const parent = parents.get(key);
8744
+ if (v.get(parent) === 'on') continue;
8745
+ }
8746
+ arr.push(key);
8747
+ }
8748
+ }
8749
+ return arr;
8750
+ }
8751
+ };
8752
+ return strategy;
8753
+ };
8730
8754
 
8731
8755
  // Composables
8732
8756
 
@@ -8796,6 +8820,8 @@ const useNested = props => {
8796
8820
  return independentSelectStrategy(props.mandatory);
8797
8821
  case 'single-independent':
8798
8822
  return independentSingleSelectStrategy(props.mandatory);
8823
+ case 'trunk':
8824
+ return trunkSelectStrategy(props.mandatory);
8799
8825
  case 'classic':
8800
8826
  default:
8801
8827
  return classicSelectStrategy(props.mandatory);
@@ -28255,82 +28281,93 @@ function createVuetify$1() {
28255
28281
  components = {},
28256
28282
  directives = {}
28257
28283
  } = options;
28258
- const defaults = createDefaults(options.defaults);
28259
- const display = createDisplay(options.display, options.ssr);
28260
- const theme = createTheme(options.theme);
28261
- const icons = createIcons(options.icons);
28262
- const locale = createLocale(options.locale);
28263
- const date = createDate(options.date, locale);
28264
- const goTo = createGoTo(options.goTo, locale);
28265
- const install = app => {
28266
- for (const key in directives) {
28267
- app.directive(key, directives[key]);
28268
- }
28269
- for (const key in components) {
28270
- app.component(key, components[key]);
28271
- }
28272
- for (const key in aliases) {
28273
- app.component(key, defineComponent({
28274
- ...aliases[key],
28275
- name: key,
28276
- aliasName: aliases[key].name
28277
- }));
28278
- }
28279
- theme.install(app);
28280
- app.provide(DefaultsSymbol, defaults);
28281
- app.provide(DisplaySymbol, display);
28282
- app.provide(ThemeSymbol, theme);
28283
- app.provide(IconSymbol, icons);
28284
- app.provide(LocaleSymbol, locale);
28285
- app.provide(DateOptionsSymbol, date.options);
28286
- app.provide(DateAdapterSymbol, date.instance);
28287
- app.provide(GoToSymbol, goTo);
28288
- if (IN_BROWSER && options.ssr) {
28289
- if (app.$nuxt) {
28290
- app.$nuxt.hook('app:suspense:resolve', () => {
28291
- display.update();
28284
+ const scope = effectScope();
28285
+ return scope.run(() => {
28286
+ const defaults = createDefaults(options.defaults);
28287
+ const display = createDisplay(options.display, options.ssr);
28288
+ const theme = createTheme(options.theme);
28289
+ const icons = createIcons(options.icons);
28290
+ const locale = createLocale(options.locale);
28291
+ const date = createDate(options.date, locale);
28292
+ const goTo = createGoTo(options.goTo, locale);
28293
+ function install(app) {
28294
+ for (const key in directives) {
28295
+ app.directive(key, directives[key]);
28296
+ }
28297
+ for (const key in components) {
28298
+ app.component(key, components[key]);
28299
+ }
28300
+ for (const key in aliases) {
28301
+ app.component(key, defineComponent({
28302
+ ...aliases[key],
28303
+ name: key,
28304
+ aliasName: aliases[key].name
28305
+ }));
28306
+ }
28307
+ const appScope = effectScope();
28308
+ appScope.run(() => {
28309
+ theme.install(app);
28310
+ });
28311
+ app.onUnmount(() => appScope.stop());
28312
+ app.provide(DefaultsSymbol, defaults);
28313
+ app.provide(DisplaySymbol, display);
28314
+ app.provide(ThemeSymbol, theme);
28315
+ app.provide(IconSymbol, icons);
28316
+ app.provide(LocaleSymbol, locale);
28317
+ app.provide(DateOptionsSymbol, date.options);
28318
+ app.provide(DateAdapterSymbol, date.instance);
28319
+ app.provide(GoToSymbol, goTo);
28320
+ if (IN_BROWSER && options.ssr) {
28321
+ if (app.$nuxt) {
28322
+ app.$nuxt.hook('app:suspense:resolve', () => {
28323
+ display.update();
28324
+ });
28325
+ } else {
28326
+ const {
28327
+ mount
28328
+ } = app;
28329
+ app.mount = function () {
28330
+ const vm = mount(...arguments);
28331
+ nextTick(() => display.update());
28332
+ app.mount = mount;
28333
+ return vm;
28334
+ };
28335
+ }
28336
+ }
28337
+ if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {
28338
+ app.mixin({
28339
+ computed: {
28340
+ $vuetify() {
28341
+ return reactive({
28342
+ defaults: inject.call(this, DefaultsSymbol),
28343
+ display: inject.call(this, DisplaySymbol),
28344
+ theme: inject.call(this, ThemeSymbol),
28345
+ icons: inject.call(this, IconSymbol),
28346
+ locale: inject.call(this, LocaleSymbol),
28347
+ date: inject.call(this, DateAdapterSymbol)
28348
+ });
28349
+ }
28350
+ }
28292
28351
  });
28293
- } else {
28294
- const {
28295
- mount
28296
- } = app;
28297
- app.mount = function () {
28298
- const vm = mount(...arguments);
28299
- nextTick(() => display.update());
28300
- app.mount = mount;
28301
- return vm;
28302
- };
28303
28352
  }
28304
28353
  }
28305
- if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {
28306
- app.mixin({
28307
- computed: {
28308
- $vuetify() {
28309
- return reactive({
28310
- defaults: inject.call(this, DefaultsSymbol),
28311
- display: inject.call(this, DisplaySymbol),
28312
- theme: inject.call(this, ThemeSymbol),
28313
- icons: inject.call(this, IconSymbol),
28314
- locale: inject.call(this, LocaleSymbol),
28315
- date: inject.call(this, DateAdapterSymbol)
28316
- });
28317
- }
28318
- }
28319
- });
28354
+ function unmount() {
28355
+ scope.stop();
28320
28356
  }
28321
- };
28322
- return {
28323
- install,
28324
- defaults,
28325
- display,
28326
- theme,
28327
- icons,
28328
- locale,
28329
- date,
28330
- goTo
28331
- };
28357
+ return {
28358
+ install,
28359
+ unmount,
28360
+ defaults,
28361
+ display,
28362
+ theme,
28363
+ icons,
28364
+ locale,
28365
+ date,
28366
+ goTo
28367
+ };
28368
+ });
28332
28369
  }
28333
- const version$1 = "3.7.7-dev.2025-01-20";
28370
+ const version$1 = "3.7.7-dev.2025-01-22";
28334
28371
  createVuetify$1.version = version$1;
28335
28372
 
28336
28373
  // Vue's inject() can only be used in setup
@@ -28355,7 +28392,7 @@ const createVuetify = function () {
28355
28392
  ...options
28356
28393
  });
28357
28394
  };
28358
- const version = "3.7.7-dev.2025-01-20";
28395
+ const version = "3.7.7-dev.2025-01-22";
28359
28396
  createVuetify.version = version;
28360
28397
 
28361
28398
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };