@vuetify/nightly 3.9.2-master.2025-07-18 → 3.9.2-master.2025-07-23

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.
Files changed (53) hide show
  1. package/CHANGELOG.md +37 -3
  2. package/dist/json/attributes.json +3766 -3766
  3. package/dist/json/importMap-labs.json +18 -18
  4. package/dist/json/importMap.json +158 -158
  5. package/dist/json/web-types.json +6757 -6768
  6. package/dist/vuetify-labs.cjs +17 -11
  7. package/dist/vuetify-labs.css +4480 -4472
  8. package/dist/vuetify-labs.d.ts +62 -68
  9. package/dist/vuetify-labs.esm.js +17 -11
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +17 -11
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +16 -10
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4014 -4007
  16. package/dist/vuetify.d.ts +62 -68
  17. package/dist/vuetify.esm.js +16 -10
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +16 -10
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +17 -16
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VCarousel/VCarousel.d.ts +7 -13
  25. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  26. package/lib/components/VColorPicker/VColorPicker.css +1 -0
  27. package/lib/components/VColorPicker/VColorPicker.sass +1 -0
  28. package/lib/components/VDataTable/VDataTableHeaders.js +0 -1
  29. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  30. package/lib/components/VFileInput/VFileInput.css +3 -0
  31. package/lib/components/VFileInput/VFileInput.sass +3 -0
  32. package/lib/components/VProgressLinear/VProgressLinear.css +4 -1
  33. package/lib/components/VProgressLinear/VProgressLinear.js +2 -1
  34. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  35. package/lib/components/VProgressLinear/VProgressLinear.sass +5 -2
  36. package/lib/components/VTextField/VTextField.js +2 -2
  37. package/lib/components/VTextField/VTextField.js.map +1 -1
  38. package/lib/components/VTreeview/VTreeview.d.ts +7 -7
  39. package/lib/components/VTreeview/VTreeview.js +0 -1
  40. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  41. package/lib/components/VTreeview/VTreeviewChildren.d.ts +13 -0
  42. package/lib/components/VTreeview/VTreeviewChildren.js +2 -1
  43. package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
  44. package/lib/composables/date/adapters/vuetify.js +8 -2
  45. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  46. package/lib/entry-bundler.js +1 -1
  47. package/lib/framework.d.ts +53 -53
  48. package/lib/framework.js +1 -1
  49. package/lib/labs/VFileUpload/VFileUploadItem.js +1 -1
  50. package/lib/labs/VFileUpload/VFileUploadItem.js.map +1 -1
  51. package/lib/labs/VStepperVertical/VStepperVerticalItem.css +1 -0
  52. package/lib/labs/VStepperVertical/VStepperVerticalItem.sass +1 -0
  53. package/package.json +1 -1
@@ -2602,27 +2602,24 @@ declare module 'vue' {
2602
2602
  }
2603
2603
  export interface GlobalComponents {
2604
2604
  VApp: typeof import('vuetify/components')['VApp']
2605
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2606
- VAvatar: typeof import('vuetify/components')['VAvatar']
2607
2605
  VAlert: typeof import('vuetify/components')['VAlert']
2608
2606
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2609
2607
  VAppBar: typeof import('vuetify/components')['VAppBar']
2610
2608
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2611
2609
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2610
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2611
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2612
2612
  VBadge: typeof import('vuetify/components')['VBadge']
2613
2613
  VBanner: typeof import('vuetify/components')['VBanner']
2614
2614
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2615
2615
  VBannerText: typeof import('vuetify/components')['VBannerText']
2616
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2616
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2617
2617
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2618
2618
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2619
2619
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2620
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2620
2621
  VBtn: typeof import('vuetify/components')['VBtn']
2621
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2622
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2623
2622
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2624
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2625
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2626
2623
  VCard: typeof import('vuetify/components')['VCard']
2627
2624
  VCardActions: typeof import('vuetify/components')['VCardActions']
2628
2625
  VCardItem: typeof import('vuetify/components')['VCardItem']
@@ -2630,12 +2627,14 @@ declare module 'vue' {
2630
2627
  VCardText: typeof import('vuetify/components')['VCardText']
2631
2628
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2632
2629
  VChip: typeof import('vuetify/components')['VChip']
2630
+ VCode: typeof import('vuetify/components')['VCode']
2631
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2632
+ VCounter: typeof import('vuetify/components')['VCounter']
2633
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2634
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2635
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2633
2636
  VCarousel: typeof import('vuetify/components')['VCarousel']
2634
2637
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2635
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2636
- VCounter: typeof import('vuetify/components')['VCounter']
2637
- VCode: typeof import('vuetify/components')['VCode']
2638
- VCombobox: typeof import('vuetify/components')['VCombobox']
2639
2638
  VDataTable: typeof import('vuetify/components')['VDataTable']
2640
2639
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2641
2640
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2643,37 +2642,36 @@ declare module 'vue' {
2643
2642
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2644
2643
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2645
2644
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2645
+ VDialog: typeof import('vuetify/components')['VDialog']
2646
2646
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2647
2647
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2648
2648
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2649
2649
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2650
2650
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2651
2651
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2652
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2653
2652
  VDivider: typeof import('vuetify/components')['VDivider']
2654
- VField: typeof import('vuetify/components')['VField']
2655
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2653
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2656
2654
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2657
2655
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2658
2656
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2659
2657
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2658
+ VField: typeof import('vuetify/components')['VField']
2659
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2660
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2660
2661
  VFab: typeof import('vuetify/components')['VFab']
2661
- VDialog: typeof import('vuetify/components')['VDialog']
2662
2662
  VFooter: typeof import('vuetify/components')['VFooter']
2663
- VFileInput: typeof import('vuetify/components')['VFileInput']
2664
2663
  VIcon: typeof import('vuetify/components')['VIcon']
2665
2664
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2666
2665
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2667
2666
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2668
2667
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2669
- VInput: typeof import('vuetify/components')['VInput']
2670
2668
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2671
2669
  VImg: typeof import('vuetify/components')['VImg']
2670
+ VInput: typeof import('vuetify/components')['VInput']
2672
2671
  VKbd: typeof import('vuetify/components')['VKbd']
2672
+ VLabel: typeof import('vuetify/components')['VLabel']
2673
2673
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2674
2674
  VItem: typeof import('vuetify/components')['VItem']
2675
- VLabel: typeof import('vuetify/components')['VLabel']
2676
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2677
2675
  VList: typeof import('vuetify/components')['VList']
2678
2676
  VListGroup: typeof import('vuetify/components')['VListGroup']
2679
2677
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2683,80 +2681,82 @@ declare module 'vue' {
2683
2681
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2684
2682
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2685
2683
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2686
- VMain: typeof import('vuetify/components')['VMain']
2687
2684
  VMenu: typeof import('vuetify/components')['VMenu']
2688
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
2689
- VMessages: typeof import('vuetify/components')['VMessages']
2690
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2685
+ VMain: typeof import('vuetify/components')['VMain']
2686
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2691
2687
  VOverlay: typeof import('vuetify/components')['VOverlay']
2692
2688
  VPagination: typeof import('vuetify/components')['VPagination']
2693
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2689
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2694
2690
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2691
+ VMessages: typeof import('vuetify/components')['VMessages']
2692
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2693
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2695
2694
  VRating: typeof import('vuetify/components')['VRating']
2696
- VSelect: typeof import('vuetify/components')['VSelect']
2697
2695
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2696
+ VSelect: typeof import('vuetify/components')['VSelect']
2697
+ VSheet: typeof import('vuetify/components')['VSheet']
2698
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2699
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2698
2700
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2699
2701
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2700
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2701
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2702
- VSheet: typeof import('vuetify/components')['VSheet']
2703
- VSlider: typeof import('vuetify/components')['VSlider']
2704
2702
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2703
+ VSlider: typeof import('vuetify/components')['VSlider']
2704
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2705
2705
  VStepper: typeof import('vuetify/components')['VStepper']
2706
2706
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2707
2707
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2708
2708
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2709
2709
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2710
2710
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2711
- VSwitch: typeof import('vuetify/components')['VSwitch']
2712
2711
  VTab: typeof import('vuetify/components')['VTab']
2713
2712
  VTabs: typeof import('vuetify/components')['VTabs']
2714
2713
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2715
2714
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2716
- VTextField: typeof import('vuetify/components')['VTextField']
2717
2715
  VTable: typeof import('vuetify/components')['VTable']
2718
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2719
2716
  VTextarea: typeof import('vuetify/components')['VTextarea']
2720
- VTimeline: typeof import('vuetify/components')['VTimeline']
2721
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2722
- VTooltip: typeof import('vuetify/components')['VTooltip']
2717
+ VTextField: typeof import('vuetify/components')['VTextField']
2723
2718
  VTimePicker: typeof import('vuetify/components')['VTimePicker']
2724
2719
  VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2725
2720
  VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2726
- VTreeview: typeof import('vuetify/components')['VTreeview']
2727
- VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2728
- VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2721
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2722
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2723
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2729
2724
  VToolbar: typeof import('vuetify/components')['VToolbar']
2730
2725
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2731
2726
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2727
+ VTreeview: typeof import('vuetify/components')['VTreeview']
2728
+ VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2729
+ VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2730
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2731
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2732
2732
  VWindow: typeof import('vuetify/components')['VWindow']
2733
2733
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2734
- VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2734
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2735
+ VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2736
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
2735
2737
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2738
+ VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2739
+ VForm: typeof import('vuetify/components')['VForm']
2740
+ VHover: typeof import('vuetify/components')['VHover']
2736
2741
  VContainer: typeof import('vuetify/components')['VContainer']
2737
2742
  VCol: typeof import('vuetify/components')['VCol']
2738
2743
  VRow: typeof import('vuetify/components')['VRow']
2739
2744
  VSpacer: typeof import('vuetify/components')['VSpacer']
2740
- VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2741
- VForm: typeof import('vuetify/components')['VForm']
2742
- VHover: typeof import('vuetify/components')['VHover']
2743
- VLazy: typeof import('vuetify/components')['VLazy']
2744
2745
  VLayout: typeof import('vuetify/components')['VLayout']
2745
2746
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2746
2747
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2748
+ VLazy: typeof import('vuetify/components')['VLazy']
2747
2749
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2748
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2749
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2750
2750
  VParallax: typeof import('vuetify/components')['VParallax']
2751
2751
  VRadio: typeof import('vuetify/components')['VRadio']
2752
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2753
2752
  VResponsive: typeof import('vuetify/components')['VResponsive']
2754
- VSparkline: typeof import('vuetify/components')['VSparkline']
2753
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2755
2754
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2756
2755
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2756
+ VSparkline: typeof import('vuetify/components')['VSparkline']
2757
2757
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2758
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2759
2758
  VValidation: typeof import('vuetify/components')['VValidation']
2759
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2760
2760
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2761
2761
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2762
2762
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2773,24 +2773,24 @@ declare module 'vue' {
2773
2773
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2774
2774
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2775
2775
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2776
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2777
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2778
2776
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2779
2777
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2780
2778
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2781
2779
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2782
2780
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2783
2781
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2782
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2783
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2784
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2784
2785
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2785
2786
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2787
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2786
2788
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2787
2789
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2788
2790
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2789
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2791
+ VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2790
2792
  VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2791
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2792
2793
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2793
- VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2794
2794
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2795
2795
  }
2796
2796
  export interface GlobalDirectives {
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.9.2-master.2025-07-18";
112
+ export const version = "3.9.2-master.2025-07-23";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -53,7 +53,7 @@ export const VFileUploadItem = genericComponent()({
53
53
  "style": props.style
54
54
  }), {
55
55
  ...slots,
56
- title: () => props?.title ?? props.file?.name,
56
+ title: slots.title ?? (() => props?.title ?? props.file?.name),
57
57
  prepend: slotProps => _createElementVNode(_Fragment, null, [!slots.prepend ? _createVNode(VAvatar, {
58
58
  "icon": props.fileIcon,
59
59
  "image": preview.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VFileUploadItem.js","names":["VAvatar","VBtn","VDefaultsProvider","makeVListItemProps","VListItem","computed","ref","watchEffect","genericComponent","humanReadableFileSize","propsFactory","useRender","makeVFileUploadItemProps","clearable","Boolean","file","type","Object","default","fileIcon","String","showSize","border","rounded","lines","VFileUploadItem","name","props","emits","click:remove","click","e","setup","_ref","emit","slots","preview","base","undefined","onClickRemove","value","startsWith","URL","createObjectURL","listItemProps","filterProps","_createVNode","_mergeProps","class","title","size","style","prepend","slotProps","_createElementVNode","_Fragment","image","icon","append","clear","density","variant","onClick"],"sources":["../../../src/labs/VFileUpload/VFileUploadItem.tsx"],"sourcesContent":["// Components\nimport { VAvatar } from '@/components/VAvatar/VAvatar'\nimport { VBtn } from '@/components/VBtn/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { makeVListItemProps, VListItem } from '@/components/VList/VListItem'\n\n// Utilities\nimport { computed, ref, watchEffect } from 'vue'\nimport { genericComponent, humanReadableFileSize, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\n\nexport type VFileUploadItemSlots = {\n clear: {\n props: { onClick: () => void }\n }\n} & VListItemSlots\n\nexport const makeVFileUploadItemProps = propsFactory({\n clearable: Boolean,\n file: {\n type: Object as PropType<File>,\n default: null,\n },\n fileIcon: {\n type: String,\n // TODO: setup up a proper aliased icon\n default: 'mdi-file-document',\n },\n showSize: Boolean,\n\n ...makeVListItemProps({\n border: true,\n rounded: true,\n lines: 'two' as const,\n }),\n}, 'VFileUploadItem')\n\nexport const VFileUploadItem = genericComponent<VFileUploadItemSlots>()({\n name: 'VFileUploadItem',\n\n props: makeVFileUploadItemProps(),\n\n emits: {\n 'click:remove': () => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { emit, slots }) {\n const preview = ref()\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n\n function onClickRemove () {\n emit('click:remove')\n }\n\n watchEffect(() => {\n preview.value = props.file?.type.startsWith('image') ? URL.createObjectURL(props.file) : undefined\n })\n\n useRender(() => {\n const listItemProps = VListItem.filterProps(props)\n\n return (\n <VListItem\n { ...listItemProps }\n class={[\n 'v-file-upload-item',\n props.class,\n ]}\n title={ props.title ?? props.file?.name }\n subtitle={ props.showSize ? humanReadableFileSize(props.file?.size, base.value) : props.file?.type }\n style={ props.style }\n >\n {{\n ...slots,\n title: () => props?.title ?? props.file?.name,\n prepend: slotProps => (\n <>\n { !slots.prepend ? (\n <VAvatar\n icon={ props.fileIcon }\n image={ preview.value }\n rounded\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n image: preview.value,\n icon: !preview.value ? props.fileIcon : undefined,\n rounded: true,\n },\n }}\n >\n { slots.prepend?.(slotProps) ?? (\n <VAvatar />\n )}\n </VDefaultsProvider>\n )}\n </>\n ),\n append: slotProps => (\n <>\n { props.clearable && (\n <>\n { !slots.clear ? (\n <VBtn\n icon=\"$clear\"\n density=\"comfortable\"\n variant=\"text\"\n onClick={ onClickRemove }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n icon: '$clear',\n density: 'comfortable',\n variant: 'text',\n },\n }}\n >\n { slots.clear?.({\n ...slotProps,\n props: { onClick: onClickRemove },\n }) ?? (<VBtn />)}\n </VDefaultsProvider>\n )}\n </>\n )}\n\n { slots.append?.(slotProps) }\n </>\n ),\n }}\n </VListItem>\n )\n })\n },\n})\n\nexport type VFileUploadItem = InstanceType<typeof VFileUploadItem>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VFileUploadItem.js","names":["VAvatar","VBtn","VDefaultsProvider","makeVListItemProps","VListItem","computed","ref","watchEffect","genericComponent","humanReadableFileSize","propsFactory","useRender","makeVFileUploadItemProps","clearable","Boolean","file","type","Object","default","fileIcon","String","showSize","border","rounded","lines","VFileUploadItem","name","props","emits","click:remove","click","e","setup","_ref","emit","slots","preview","base","undefined","onClickRemove","value","startsWith","URL","createObjectURL","listItemProps","filterProps","_createVNode","_mergeProps","class","title","size","style","prepend","slotProps","_createElementVNode","_Fragment","image","icon","append","clear","density","variant","onClick"],"sources":["../../../src/labs/VFileUpload/VFileUploadItem.tsx"],"sourcesContent":["// Components\nimport { VAvatar } from '@/components/VAvatar/VAvatar'\nimport { VBtn } from '@/components/VBtn/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { makeVListItemProps, VListItem } from '@/components/VList/VListItem'\n\n// Utilities\nimport { computed, ref, watchEffect } from 'vue'\nimport { genericComponent, humanReadableFileSize, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\n\nexport type VFileUploadItemSlots = {\n clear: {\n props: { onClick: () => void }\n }\n} & VListItemSlots\n\nexport const makeVFileUploadItemProps = propsFactory({\n clearable: Boolean,\n file: {\n type: Object as PropType<File>,\n default: null,\n },\n fileIcon: {\n type: String,\n // TODO: setup up a proper aliased icon\n default: 'mdi-file-document',\n },\n showSize: Boolean,\n\n ...makeVListItemProps({\n border: true,\n rounded: true,\n lines: 'two' as const,\n }),\n}, 'VFileUploadItem')\n\nexport const VFileUploadItem = genericComponent<VFileUploadItemSlots>()({\n name: 'VFileUploadItem',\n\n props: makeVFileUploadItemProps(),\n\n emits: {\n 'click:remove': () => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { emit, slots }) {\n const preview = ref()\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n\n function onClickRemove () {\n emit('click:remove')\n }\n\n watchEffect(() => {\n preview.value = props.file?.type.startsWith('image') ? URL.createObjectURL(props.file) : undefined\n })\n\n useRender(() => {\n const listItemProps = VListItem.filterProps(props)\n\n return (\n <VListItem\n { ...listItemProps }\n class={[\n 'v-file-upload-item',\n props.class,\n ]}\n title={ props.title ?? props.file?.name }\n subtitle={ props.showSize ? humanReadableFileSize(props.file?.size, base.value) : props.file?.type }\n style={ props.style }\n >\n {{\n ...slots,\n title: slots.title ?? (() => props?.title ?? props.file?.name),\n prepend: slotProps => (\n <>\n { !slots.prepend ? (\n <VAvatar\n icon={ props.fileIcon }\n image={ preview.value }\n rounded\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n image: preview.value,\n icon: !preview.value ? props.fileIcon : undefined,\n rounded: true,\n },\n }}\n >\n { slots.prepend?.(slotProps) ?? (\n <VAvatar />\n )}\n </VDefaultsProvider>\n )}\n </>\n ),\n append: slotProps => (\n <>\n { props.clearable && (\n <>\n { !slots.clear ? (\n <VBtn\n icon=\"$clear\"\n density=\"comfortable\"\n variant=\"text\"\n onClick={ onClickRemove }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n icon: '$clear',\n density: 'comfortable',\n variant: 'text',\n },\n }}\n >\n { slots.clear?.({\n ...slotProps,\n props: { onClick: onClickRemove },\n }) ?? (<VBtn />)}\n </VDefaultsProvider>\n )}\n </>\n )}\n\n { slots.append?.(slotProps) }\n </>\n ),\n }}\n </VListItem>\n )\n })\n },\n})\n\nexport type VFileUploadItem = InstanceType<typeof VFileUploadItem>\n"],"mappings":"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","ignoreList":[]}
@@ -39,6 +39,7 @@
39
39
  background: rgba(var(--v-theme-surface-variant), var(--v-medium-emphasis-opacity));
40
40
  color: rgb(var(--v-theme-on-surface-variant));
41
41
  transition-property: background;
42
+ align-self: start;
42
43
  }
43
44
  .v-stepper-vertical-item__avatar.v-avatar .v-icon {
44
45
  font-size: 0.875rem;
@@ -44,6 +44,7 @@
44
44
  background: rgba(var(--v-theme-surface-variant), var(--v-medium-emphasis-opacity))
45
45
  color: rgb(var(--v-theme-on-surface-variant))
46
46
  transition-property: background
47
+ align-self: start
47
48
 
48
49
  .v-icon
49
50
  font-size: .875rem
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.9.2-master.2025-07-18",
4
+ "version": "3.9.2-master.2025-07-23",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"