@vuetify/nightly 3.9.2-master.2025-07-22 → 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 +24 -3
  2. package/dist/json/attributes.json +3644 -3644
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +148 -148
  5. package/dist/json/web-types.json +6340 -6351
  6. package/dist/vuetify-labs.cjs +17 -11
  7. package/dist/vuetify-labs.css +5188 -5180
  8. package/dist/vuetify-labs.d.ts +63 -69
  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 +3960 -3953
  16. package/dist/vuetify.d.ts +63 -69
  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 +54 -54
  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
@@ -2601,42 +2601,40 @@ declare module 'vue' {
2601
2601
  $children?: VNodeChild
2602
2602
  }
2603
2603
  export interface GlobalComponents {
2604
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2604
+ VApp: typeof import('vuetify/components')['VApp']
2605
2605
  VAlert: typeof import('vuetify/components')['VAlert']
2606
2606
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2607
- VApp: typeof import('vuetify/components')['VApp']
2608
2607
  VAppBar: typeof import('vuetify/components')['VAppBar']
2609
2608
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2610
2609
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2610
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2611
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2611
2612
  VBadge: typeof import('vuetify/components')['VBadge']
2612
2613
  VBanner: typeof import('vuetify/components')['VBanner']
2613
2614
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2614
2615
  VBannerText: typeof import('vuetify/components')['VBannerText']
2615
- VAvatar: typeof import('vuetify/components')['VAvatar']
2616
2616
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2617
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2618
- VBtn: typeof import('vuetify/components')['VBtn']
2619
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2620
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2621
2617
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2622
2618
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2623
2619
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2620
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2621
+ VBtn: typeof import('vuetify/components')['VBtn']
2622
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2624
2623
  VCard: typeof import('vuetify/components')['VCard']
2625
2624
  VCardActions: typeof import('vuetify/components')['VCardActions']
2626
2625
  VCardItem: typeof import('vuetify/components')['VCardItem']
2627
2626
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2628
2627
  VCardText: typeof import('vuetify/components')['VCardText']
2629
2628
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2630
- VCarousel: typeof import('vuetify/components')['VCarousel']
2631
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2632
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2633
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2634
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2635
2629
  VChip: typeof import('vuetify/components')['VChip']
2636
- VCounter: typeof import('vuetify/components')['VCounter']
2637
2630
  VCode: typeof import('vuetify/components')['VCode']
2638
2631
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2639
- VCombobox: typeof import('vuetify/components')['VCombobox']
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']
2636
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2637
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2640
2638
  VDataTable: typeof import('vuetify/components')['VDataTable']
2641
2639
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2642
2640
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2644,35 +2642,36 @@ declare module 'vue' {
2644
2642
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2645
2643
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2646
2644
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2645
+ VDialog: typeof import('vuetify/components')['VDialog']
2647
2646
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2648
2647
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2649
2648
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2650
2649
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2651
2650
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2652
2651
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2653
- VDialog: typeof import('vuetify/components')['VDialog']
2654
2652
  VDivider: typeof import('vuetify/components')['VDivider']
2655
- VFab: typeof import('vuetify/components')['VFab']
2656
2653
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
2657
- VFileInput: typeof import('vuetify/components')['VFileInput']
2658
- VField: typeof import('vuetify/components')['VField']
2659
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2660
2654
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2661
2655
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2662
2656
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2663
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']
2661
+ VFab: typeof import('vuetify/components')['VFab']
2664
2662
  VFooter: typeof import('vuetify/components')['VFooter']
2665
2663
  VIcon: typeof import('vuetify/components')['VIcon']
2666
2664
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2667
2665
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2668
2666
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2669
2667
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2668
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2669
+ VImg: typeof import('vuetify/components')['VImg']
2670
2670
  VInput: typeof import('vuetify/components')['VInput']
2671
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
2672
- VItem: typeof import('vuetify/components')['VItem']
2673
2671
  VKbd: typeof import('vuetify/components')['VKbd']
2674
- VImg: typeof import('vuetify/components')['VImg']
2675
2672
  VLabel: typeof import('vuetify/components')['VLabel']
2673
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
2674
+ VItem: typeof import('vuetify/components')['VItem']
2676
2675
  VList: typeof import('vuetify/components')['VList']
2677
2676
  VListGroup: typeof import('vuetify/components')['VListGroup']
2678
2677
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2682,58 +2681,59 @@ declare module 'vue' {
2682
2681
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2683
2682
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2684
2683
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2685
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
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']
2691
2686
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2687
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2692
2688
  VPagination: typeof import('vuetify/components')['VPagination']
2689
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2693
2690
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2694
- VOverlay: typeof import('vuetify/components')['VOverlay']
2691
+ VMessages: typeof import('vuetify/components')['VMessages']
2695
2692
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2696
2693
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2697
2694
  VRating: typeof import('vuetify/components')['VRating']
2695
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2698
2696
  VSelect: typeof import('vuetify/components')['VSelect']
2699
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2697
+ VSheet: typeof import('vuetify/components')['VSheet']
2700
2698
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2701
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2702
- VSlider: typeof import('vuetify/components')['VSlider']
2699
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2703
2700
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2704
2701
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2705
2702
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2706
- VSheet: typeof import('vuetify/components')['VSheet']
2703
+ VSlider: typeof import('vuetify/components')['VSlider']
2704
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2707
2705
  VStepper: typeof import('vuetify/components')['VStepper']
2708
2706
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2709
2707
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2710
2708
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2711
2709
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2712
2710
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2713
- VSwitch: typeof import('vuetify/components')['VSwitch']
2714
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2715
- VTextField: typeof import('vuetify/components')['VTextField']
2716
- VTextarea: typeof import('vuetify/components')['VTextarea']
2717
- VTimeline: typeof import('vuetify/components')['VTimeline']
2718
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2719
- VTimePicker: typeof import('vuetify/components')['VTimePicker']
2720
- VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2721
- VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2722
- VTable: typeof import('vuetify/components')['VTable']
2723
2711
  VTab: typeof import('vuetify/components')['VTab']
2724
2712
  VTabs: typeof import('vuetify/components')['VTabs']
2725
2713
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2726
2714
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2715
+ VTable: typeof import('vuetify/components')['VTable']
2716
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2717
+ VTextField: typeof import('vuetify/components')['VTextField']
2718
+ VTimePicker: typeof import('vuetify/components')['VTimePicker']
2719
+ VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2720
+ VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2721
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2722
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2723
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2727
2724
  VToolbar: typeof import('vuetify/components')['VToolbar']
2728
2725
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2729
2726
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2730
- VTooltip: typeof import('vuetify/components')['VTooltip']
2731
2727
  VTreeview: typeof import('vuetify/components')['VTreeview']
2732
2728
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2733
2729
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2730
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2731
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2734
2732
  VWindow: typeof import('vuetify/components')['VWindow']
2735
2733
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2734
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2736
2735
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2736
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
2737
2737
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2738
2738
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2739
2739
  VForm: typeof import('vuetify/components')['VForm']
@@ -2744,18 +2744,18 @@ declare module 'vue' {
2744
2744
  VSpacer: typeof import('vuetify/components')['VSpacer']
2745
2745
  VLayout: typeof import('vuetify/components')['VLayout']
2746
2746
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2747
- VLazy: typeof import('vuetify/components')['VLazy']
2748
2747
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2748
+ VLazy: typeof import('vuetify/components')['VLazy']
2749
2749
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2750
2750
  VParallax: typeof import('vuetify/components')['VParallax']
2751
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2752
2751
  VRadio: typeof import('vuetify/components')['VRadio']
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']
2757
- VValidation: typeof import('vuetify/components')['VValidation']
2756
+ VSparkline: typeof import('vuetify/components')['VSparkline']
2758
2757
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2758
+ VValidation: typeof import('vuetify/components')['VValidation']
2759
2759
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2760
2760
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2761
2761
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
@@ -2779,19 +2779,19 @@ declare module 'vue' {
2779
2779
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2780
2780
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2781
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']
2785
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
2786
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2787
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2782
2788
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2783
2789
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2784
2790
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2785
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2786
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2791
+ VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2787
2792
  VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2788
- VPicker: typeof import('vuetify/labs/components')['VPicker']
2789
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2790
2793
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2791
- VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2792
2794
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2793
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2794
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2795
2795
  }
2796
2796
  export interface GlobalDirectives {
2797
2797
  vClickOutside: typeof import('vuetify/directives')['ClickOutside']
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-22";
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-22",
4
+ "version": "3.9.2-master.2025-07-23",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"