@vuetify/nightly 3.9.0-master.2025-07-13 → 3.9.0-master.2025-07-14

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.0-master.2025-07-13
2
+ * Vuetify v3.9.0-master.2025-07-14
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -2380,8 +2380,8 @@ if(m.run((()=>{o.install(u)})),u.onUnmount((()=>m.stop())),u.provide(Nt,e),u.pro
2380
2380
  else{const{mount:e}=u
2381
2381
  u.mount=function(){const a=e(...arguments)
2382
2382
  return t.nextTick((()=>l.update())),u.mount=e,a}}("boolean"!=typeof __VUE_OPTIONS_API__||__VUE_OPTIONS_API__)&&u.mixin({computed:{$vuetify(){return t.reactive({defaults:of.call(this,Nt),display:of.call(this,Bn),theme:of.call(this,xa),icons:of.call(this,jt),locale:of.call(this,ba),date:of.call(this,Fu)})}}})},unmount:function(){u.stop()},defaults:e,display:l,theme:o,icons:c,locale:d,date:v,goTo:p}}))}function of(e){const t=this.$,a=t.parent?.provides??t.vnode.appContext?.provides
2383
- if(a&&e in a)return a[e]}lf.version="3.9.0-master.2025-07-13"
2384
- const nf=function(){return lf({components:qm,directives:af,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})},rf="3.9.0-master.2025-07-13"
2383
+ if(a&&e in a)return a[e]}lf.version="3.9.0-master.2025-07-14"
2384
+ const nf=function(){return lf({components:qm,directives:af,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})},rf="3.9.0-master.2025-07-14"
2385
2385
  nf.version=rf,e.blueprints=ea,e.components=qm,e.createVuetify=nf,e.directives=af,e.useDate=Mu,e.useDefaults=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0
2386
2386
  const{props:a,provideSubDefaults:l}=It(e,t)
2387
2387
  return l(),a},e.useDisplay=zn,e.useGoTo=Hn,e.useHotkey=function(e,l){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.9.0-master.2025-07-13";
19
+ export const version = "3.9.0-master.2025-07-14";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2577,39 +2577,39 @@ declare module 'vue' {
2577
2577
  $children?: VNodeChild
2578
2578
  }
2579
2579
  export interface GlobalComponents {
2580
- VApp: typeof import('vuetify/components')['VApp']
2581
- VAvatar: typeof import('vuetify/components')['VAvatar']
2582
- VBanner: typeof import('vuetify/components')['VBanner']
2583
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
2584
- VBannerText: typeof import('vuetify/components')['VBannerText']
2585
2580
  VAppBar: typeof import('vuetify/components')['VAppBar']
2586
2581
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2587
2582
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2583
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2588
2584
  VAlert: typeof import('vuetify/components')['VAlert']
2589
2585
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2590
- VBadge: typeof import('vuetify/components')['VBadge']
2591
2586
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2592
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2587
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2588
+ VBanner: typeof import('vuetify/components')['VBanner']
2589
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
2590
+ VBannerText: typeof import('vuetify/components')['VBannerText']
2593
2591
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2594
2592
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2595
2593
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2594
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2595
+ VBadge: typeof import('vuetify/components')['VBadge']
2596
2596
  VBtn: typeof import('vuetify/components')['VBtn']
2597
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2598
2597
  VCarousel: typeof import('vuetify/components')['VCarousel']
2599
2598
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2599
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2600
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2601
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2602
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2603
+ VCode: typeof import('vuetify/components')['VCode']
2604
+ VChip: typeof import('vuetify/components')['VChip']
2605
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2606
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2600
2607
  VCard: typeof import('vuetify/components')['VCard']
2601
2608
  VCardActions: typeof import('vuetify/components')['VCardActions']
2602
2609
  VCardItem: typeof import('vuetify/components')['VCardItem']
2603
2610
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2604
2611
  VCardText: typeof import('vuetify/components')['VCardText']
2605
2612
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2606
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2607
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2608
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2609
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2610
- VCode: typeof import('vuetify/components')['VCode']
2611
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2612
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2613
2613
  VCombobox: typeof import('vuetify/components')['VCombobox']
2614
2614
  VCounter: typeof import('vuetify/components')['VCounter']
2615
2615
  VDataTable: typeof import('vuetify/components')['VDataTable']
@@ -2619,39 +2619,36 @@ declare module 'vue' {
2619
2619
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2620
2620
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2621
2621
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2622
- VChip: typeof import('vuetify/components')['VChip']
2623
- VDialog: typeof import('vuetify/components')['VDialog']
2624
- VDivider: typeof import('vuetify/components')['VDivider']
2625
2622
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2626
2623
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2627
2624
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2628
2625
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2629
2626
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2630
2627
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2628
+ VDialog: typeof import('vuetify/components')['VDialog']
2629
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2630
+ VDivider: typeof import('vuetify/components')['VDivider']
2631
2631
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2632
2632
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2633
2633
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2634
2634
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2635
- VFab: typeof import('vuetify/components')['VFab']
2636
- VFooter: typeof import('vuetify/components')['VFooter']
2637
2635
  VField: typeof import('vuetify/components')['VField']
2638
2636
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2639
- VFileInput: typeof import('vuetify/components')['VFileInput']
2640
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2637
+ VFooter: typeof import('vuetify/components')['VFooter']
2638
+ VFab: typeof import('vuetify/components')['VFab']
2641
2639
  VIcon: typeof import('vuetify/components')['VIcon']
2642
2640
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2643
2641
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2644
2642
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2645
2643
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2644
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2646
2645
  VImg: typeof import('vuetify/components')['VImg']
2647
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2648
2646
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2649
2647
  VItem: typeof import('vuetify/components')['VItem']
2648
+ VInput: typeof import('vuetify/components')['VInput']
2649
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2650
2650
  VLabel: typeof import('vuetify/components')['VLabel']
2651
2651
  VKbd: typeof import('vuetify/components')['VKbd']
2652
- VInput: typeof import('vuetify/components')['VInput']
2653
- VMain: typeof import('vuetify/components')['VMain']
2654
- VMenu: typeof import('vuetify/components')['VMenu']
2655
2652
  VList: typeof import('vuetify/components')['VList']
2656
2653
  VListGroup: typeof import('vuetify/components')['VListGroup']
2657
2654
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2661,78 +2658,81 @@ declare module 'vue' {
2661
2658
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2662
2659
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2663
2660
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2661
+ VMenu: typeof import('vuetify/components')['VMenu']
2664
2662
  VMessages: typeof import('vuetify/components')['VMessages']
2663
+ VMain: typeof import('vuetify/components')['VMain']
2665
2664
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2666
2665
  VNumberInput: typeof import('vuetify/components')['VNumberInput']
2667
- VOverlay: typeof import('vuetify/components')['VOverlay']
2668
2666
  VPagination: typeof import('vuetify/components')['VPagination']
2669
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2670
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2671
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
2672
2667
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2673
- VSelect: typeof import('vuetify/components')['VSelect']
2668
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2669
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
2670
+ VRating: typeof import('vuetify/components')['VRating']
2671
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2674
2672
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2673
+ VSelect: typeof import('vuetify/components')['VSelect']
2675
2674
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2676
2675
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2677
2676
  VSheet: typeof import('vuetify/components')['VSheet']
2678
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2679
- VRating: typeof import('vuetify/components')['VRating']
2677
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2678
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2680
2679
  VSlider: typeof import('vuetify/components')['VSlider']
2680
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2681
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2681
2682
  VStepper: typeof import('vuetify/components')['VStepper']
2682
2683
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2683
2684
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2684
2685
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2685
2686
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2686
2687
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2687
- VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2688
- VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2689
- VSwitch: typeof import('vuetify/components')['VSwitch']
2690
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2691
- VTextarea: typeof import('vuetify/components')['VTextarea']
2692
- VTable: typeof import('vuetify/components')['VTable']
2693
2688
  VTab: typeof import('vuetify/components')['VTab']
2694
2689
  VTabs: typeof import('vuetify/components')['VTabs']
2695
2690
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2696
2691
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2697
- VTextField: typeof import('vuetify/components')['VTextField']
2698
- VTimeline: typeof import('vuetify/components')['VTimeline']
2699
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2692
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2693
+ VTable: typeof import('vuetify/components')['VTable']
2700
2694
  VTimePicker: typeof import('vuetify/components')['VTimePicker']
2701
2695
  VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2702
2696
  VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2697
+ VTextField: typeof import('vuetify/components')['VTextField']
2698
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2699
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2700
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2703
2701
  VToolbar: typeof import('vuetify/components')['VToolbar']
2704
2702
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2705
2703
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2706
2704
  VTooltip: typeof import('vuetify/components')['VTooltip']
2707
- VWindow: typeof import('vuetify/components')['VWindow']
2708
- VWindowItem: typeof import('vuetify/components')['VWindowItem']
2709
2705
  VTreeview: typeof import('vuetify/components')['VTreeview']
2710
2706
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2711
2707
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2712
- VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2708
+ VWindow: typeof import('vuetify/components')['VWindow']
2709
+ VWindowItem: typeof import('vuetify/components')['VWindowItem']
2710
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2713
2711
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2714
2712
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2713
+ VForm: typeof import('vuetify/components')['VForm']
2715
2714
  VContainer: typeof import('vuetify/components')['VContainer']
2716
2715
  VCol: typeof import('vuetify/components')['VCol']
2717
2716
  VRow: typeof import('vuetify/components')['VRow']
2718
2717
  VSpacer: typeof import('vuetify/components')['VSpacer']
2719
- VForm: typeof import('vuetify/components')['VForm']
2720
2718
  VHover: typeof import('vuetify/components')['VHover']
2719
+ VLazy: typeof import('vuetify/components')['VLazy']
2721
2720
  VLayout: typeof import('vuetify/components')['VLayout']
2722
2721
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2722
+ VApp: typeof import('vuetify/components')['VApp']
2723
2723
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2724
2724
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2725
- VLazy: typeof import('vuetify/components')['VLazy']
2726
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2727
- VParallax: typeof import('vuetify/components')['VParallax']
2728
2725
  VRadio: typeof import('vuetify/components')['VRadio']
2729
2726
  VResponsive: typeof import('vuetify/components')['VResponsive']
2727
+ VParallax: typeof import('vuetify/components')['VParallax']
2730
2728
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2731
2729
  VSparkline: typeof import('vuetify/components')['VSparkline']
2732
- VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2730
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2733
2731
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2734
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2732
+ VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2735
2733
  VValidation: typeof import('vuetify/components')['VValidation']
2734
+ VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2735
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2736
2736
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2737
2737
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2738
2738
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2762,10 +2762,10 @@ declare module 'vue' {
2762
2762
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2763
2763
  VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2764
2764
  VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2765
- VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2766
2765
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2767
2766
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2768
2767
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2768
+ VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2769
2769
  VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2770
2770
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2771
2771
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.9.0-master.2025-07-13";
112
+ export const version = "3.9.0-master.2025-07-14";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -47,9 +47,10 @@ export const VFileUploadItem = genericComponent()({
47
47
  useRender(() => {
48
48
  const listItemProps = VListItem.filterProps(props);
49
49
  return _createVNode(VListItem, _mergeProps(listItemProps, {
50
+ "class": ['v-file-upload-item', props.class],
50
51
  "title": props.title ?? props.file?.name,
51
52
  "subtitle": props.showSize ? humanReadableFileSize(props.file?.size, base.value) : props.file?.type,
52
- "class": "v-file-upload-item"
53
+ "style": props.style
53
54
  }), {
54
55
  ...slots,
55
56
  title: () => props?.title ?? props.file?.name,
@@ -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","title","size","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 title={ props.title ?? props.file?.name }\n subtitle={ props.showSize ? humanReadableFileSize(props.file?.size, base.value) : props.file?.type }\n class=\"v-file-upload-item\"\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: () => 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":[]}
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.0-master.2025-07-13",
4
+ "version": "3.9.0-master.2025-07-14",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"