@vuetify/nightly 3.8.10-master.2025-06-19 → 3.8.11-master.2025-06-27

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 (54) hide show
  1. package/CHANGELOG.md +12 -7
  2. package/dist/json/attributes.json +3005 -3005
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +162 -162
  5. package/dist/json/web-types.json +5874 -5874
  6. package/dist/vuetify-labs.cjs +37 -37
  7. package/dist/vuetify-labs.css +6315 -6321
  8. package/dist/vuetify-labs.d.ts +58 -58
  9. package/dist/vuetify-labs.esm.js +37 -37
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +37 -37
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +36 -37
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3938 -3944
  16. package/dist/vuetify.d.ts +58 -58
  17. package/dist/vuetify.esm.js +36 -37
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +36 -37
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +36 -36
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VCarousel/VCarousel.css +0 -1
  25. package/lib/components/VCarousel/VCarousel.js +1 -0
  26. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  27. package/lib/components/VCarousel/VCarousel.sass +0 -1
  28. package/lib/components/VDataTable/VDataTableColumn.js +0 -1
  29. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  30. package/lib/components/VDataTable/VDataTableHeaders.js +5 -5
  31. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  32. package/lib/components/VDatePicker/VDatePickerMonth.css +3 -8
  33. package/lib/components/VDatePicker/VDatePickerMonth.js +8 -3
  34. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  35. package/lib/components/VDatePicker/VDatePickerMonth.sass +3 -8
  36. package/lib/components/VField/VField.js +2 -10
  37. package/lib/components/VField/VField.js.map +1 -1
  38. package/lib/components/VList/VList.js +1 -1
  39. package/lib/components/VList/VList.js.map +1 -1
  40. package/lib/components/VNumberInput/VNumberInput.js +4 -10
  41. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  42. package/lib/components/VNumberInput/hold.js +4 -0
  43. package/lib/components/VNumberInput/hold.js.map +1 -1
  44. package/lib/components/VTextField/VTextField.js +1 -1
  45. package/lib/components/VTextField/VTextField.js.map +1 -1
  46. package/lib/composables/calendar.d.ts +1 -0
  47. package/lib/composables/calendar.js +7 -3
  48. package/lib/composables/calendar.js.map +1 -1
  49. package/lib/entry-bundler.js +1 -1
  50. package/lib/framework.d.ts +58 -58
  51. package/lib/framework.js +1 -1
  52. package/lib/labs/VIconBtn/VIconBtn.js +1 -0
  53. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  54. package/package.json +1 -1
@@ -2545,48 +2545,40 @@ declare module 'vue' {
2545
2545
  $children?: VNodeChild
2546
2546
  }
2547
2547
  export interface GlobalComponents {
2548
- VAlert: typeof import('vuetify/components')['VAlert']
2549
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2550
2548
  VApp: typeof import('vuetify/components')['VApp']
2549
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2551
2550
  VAppBar: typeof import('vuetify/components')['VAppBar']
2552
2551
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2553
2552
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2553
+ VAlert: typeof import('vuetify/components')['VAlert']
2554
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2554
2555
  VAvatar: typeof import('vuetify/components')['VAvatar']
2555
- VBadge: typeof import('vuetify/components')['VBadge']
2556
- VBanner: typeof import('vuetify/components')['VBanner']
2557
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
2558
- VBannerText: typeof import('vuetify/components')['VBannerText']
2559
2556
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2560
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2561
2557
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2562
2558
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2563
2559
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2564
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2565
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2560
+ VBanner: typeof import('vuetify/components')['VBanner']
2561
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
2562
+ VBannerText: typeof import('vuetify/components')['VBannerText']
2566
2563
  VBtn: typeof import('vuetify/components')['VBtn']
2564
+ VBadge: typeof import('vuetify/components')['VBadge']
2565
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2566
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2567
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2568
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2569
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2570
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2567
2571
  VCard: typeof import('vuetify/components')['VCard']
2568
2572
  VCardActions: typeof import('vuetify/components')['VCardActions']
2569
2573
  VCardItem: typeof import('vuetify/components')['VCardItem']
2570
2574
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2571
2575
  VCardText: typeof import('vuetify/components')['VCardText']
2572
2576
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2573
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2574
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2575
- VCarousel: typeof import('vuetify/components')['VCarousel']
2576
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2577
+ VChip: typeof import('vuetify/components')['VChip']
2577
2578
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
2578
2579
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2579
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2580
- VChip: typeof import('vuetify/components')['VChip']
2581
- VCode: typeof import('vuetify/components')['VCode']
2582
- VCombobox: typeof import('vuetify/components')['VCombobox']
2583
2580
  VCounter: typeof import('vuetify/components')['VCounter']
2584
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
2585
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2586
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2587
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2588
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2589
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2581
+ VCode: typeof import('vuetify/components')['VCode']
2590
2582
  VDataTable: typeof import('vuetify/components')['VDataTable']
2591
2583
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2592
2584
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2594,28 +2586,34 @@ declare module 'vue' {
2594
2586
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2595
2587
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2596
2588
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2597
- VDialog: typeof import('vuetify/components')['VDialog']
2589
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
2590
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2591
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2592
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2593
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2594
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2595
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2598
2596
  VDivider: typeof import('vuetify/components')['VDivider']
2597
+ VDialog: typeof import('vuetify/components')['VDialog']
2598
+ VFab: typeof import('vuetify/components')['VFab']
2599
+ VField: typeof import('vuetify/components')['VField']
2600
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2599
2601
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2600
2602
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2601
2603
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2602
2604
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2603
- VField: typeof import('vuetify/components')['VField']
2604
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2605
- VFab: typeof import('vuetify/components')['VFab']
2606
2605
  VFileInput: typeof import('vuetify/components')['VFileInput']
2607
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2608
- VFooter: typeof import('vuetify/components')['VFooter']
2609
- VImg: typeof import('vuetify/components')['VImg']
2610
2606
  VIcon: typeof import('vuetify/components')['VIcon']
2611
2607
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2612
2608
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2613
2609
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2614
2610
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2611
+ VFooter: typeof import('vuetify/components')['VFooter']
2612
+ VInput: typeof import('vuetify/components')['VInput']
2613
+ VImg: typeof import('vuetify/components')['VImg']
2615
2614
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2616
- VKbd: typeof import('vuetify/components')['VKbd']
2617
2615
  VLabel: typeof import('vuetify/components')['VLabel']
2618
- VInput: typeof import('vuetify/components')['VInput']
2616
+ VKbd: typeof import('vuetify/components')['VKbd']
2619
2617
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2620
2618
  VItem: typeof import('vuetify/components')['VItem']
2621
2619
  VList: typeof import('vuetify/components')['VList']
@@ -2627,26 +2625,24 @@ declare module 'vue' {
2627
2625
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2628
2626
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2629
2627
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2630
- VMain: typeof import('vuetify/components')['VMain']
2631
2628
  VMenu: typeof import('vuetify/components')['VMenu']
2632
2629
  VMessages: typeof import('vuetify/components')['VMessages']
2633
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2630
+ VMain: typeof import('vuetify/components')['VMain']
2634
2631
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2635
- VPagination: typeof import('vuetify/components')['VPagination']
2632
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2636
2633
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2637
- VOverlay: typeof import('vuetify/components')['VOverlay']
2638
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2639
2634
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2640
- VRating: typeof import('vuetify/components')['VRating']
2635
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2636
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2641
2637
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2642
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2643
2638
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2639
+ VRating: typeof import('vuetify/components')['VRating']
2640
+ VPagination: typeof import('vuetify/components')['VPagination']
2641
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2644
2642
  VSelect: typeof import('vuetify/components')['VSelect']
2645
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2646
- VSheet: typeof import('vuetify/components')['VSheet']
2647
2643
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2648
2644
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2649
- VSlider: typeof import('vuetify/components')['VSlider']
2645
+ VSheet: typeof import('vuetify/components')['VSheet']
2650
2646
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2651
2647
  VStepper: typeof import('vuetify/components')['VStepper']
2652
2648
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
@@ -2654,47 +2650,49 @@ declare module 'vue' {
2654
2650
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2655
2651
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2656
2652
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2657
- VSwitch: typeof import('vuetify/components')['VSwitch']
2653
+ VSlider: typeof import('vuetify/components')['VSlider']
2654
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2655
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2658
2656
  VTab: typeof import('vuetify/components')['VTab']
2659
2657
  VTabs: typeof import('vuetify/components')['VTabs']
2660
2658
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2661
2659
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2662
- VTable: typeof import('vuetify/components')['VTable']
2663
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2664
2660
  VTextarea: typeof import('vuetify/components')['VTextarea']
2665
- VToolbar: typeof import('vuetify/components')['VToolbar']
2666
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2667
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2661
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2662
+ VTable: typeof import('vuetify/components')['VTable']
2668
2663
  VTextField: typeof import('vuetify/components')['VTextField']
2669
2664
  VTimeline: typeof import('vuetify/components')['VTimeline']
2670
2665
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2671
2666
  VTooltip: typeof import('vuetify/components')['VTooltip']
2667
+ VToolbar: typeof import('vuetify/components')['VToolbar']
2668
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2669
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2672
2670
  VWindow: typeof import('vuetify/components')['VWindow']
2673
2671
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2674
2672
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2675
2673
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2676
2674
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2677
2675
  VForm: typeof import('vuetify/components')['VForm']
2676
+ VHover: typeof import('vuetify/components')['VHover']
2678
2677
  VContainer: typeof import('vuetify/components')['VContainer']
2679
2678
  VCol: typeof import('vuetify/components')['VCol']
2680
2679
  VRow: typeof import('vuetify/components')['VRow']
2681
2680
  VSpacer: typeof import('vuetify/components')['VSpacer']
2682
- VHover: typeof import('vuetify/components')['VHover']
2681
+ VLazy: typeof import('vuetify/components')['VLazy']
2683
2682
  VLayout: typeof import('vuetify/components')['VLayout']
2684
2683
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2685
- VLazy: typeof import('vuetify/components')['VLazy']
2686
2684
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2687
2685
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2688
2686
  VParallax: typeof import('vuetify/components')['VParallax']
2689
2687
  VRadio: typeof import('vuetify/components')['VRadio']
2690
2688
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2691
2689
  VResponsive: typeof import('vuetify/components')['VResponsive']
2692
- VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2693
2690
  VSparkline: typeof import('vuetify/components')['VSparkline']
2694
2691
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2692
+ VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2695
2693
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2696
- VValidation: typeof import('vuetify/components')['VValidation']
2697
2694
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2695
+ VValidation: typeof import('vuetify/components')['VValidation']
2698
2696
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2699
2697
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2700
2698
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2711,28 +2709,30 @@ declare module 'vue' {
2711
2709
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2712
2710
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2713
2711
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2712
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2713
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2714
2714
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2715
2715
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2716
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2716
2717
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2717
2718
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2718
2719
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2719
2720
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2720
2721
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2721
2722
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2722
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2723
2723
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2724
2724
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2725
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2726
2725
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2727
2726
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2728
2727
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2729
- VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2730
- VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2731
- VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2732
2728
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2733
2729
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2734
2730
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2735
- VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2731
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2732
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2733
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2734
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2736
2735
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2736
+ VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2737
2737
  }
2738
2738
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.8.10-master.2025-06-19";
112
+ export const version = "3.8.11-master.2025-06-27";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -134,6 +134,7 @@ export const VIconBtn = genericComponent()({
134
134
  opacity: props.opacity
135
135
  };
136
136
  return _createVNode(props.tag, {
137
+ "type": props.tag === 'button' ? 'button' : undefined,
137
138
  "class": _normalizeClass([{
138
139
  'v-icon-btn': true,
139
140
  'v-icon-btn--active': isActive.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","iconSize","iconSizes","Array","loading","opacity","readonly","rotate","size","sizes","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","iconSizeMap","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","_iconSize","hasNamedIconSize","iconProps","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n iconSize: [Number, String] as PropType<VIconBtnSizes | number | string>,\n iconSizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 10],\n ['small', 16],\n ['default', 24],\n ['large', 28],\n ['x-large', 32],\n ]),\n },\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n const iconSizeMap = new Map(props.iconSizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n\n const _iconSize = props.iconSize as VIconBtnSizes\n const hasNamedIconSize = iconSizeMap.has(_iconSize)\n\n const iconSize = !_iconSize\n ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default')\n : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize\n\n const iconProps = { icon, size: iconSize, iconColor: props.iconColor, opacity: props.opacity }\n\n return (\n <props.tag\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","iconSize","iconSizes","Array","loading","opacity","readonly","rotate","size","sizes","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","iconSizeMap","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","_iconSize","hasNamedIconSize","iconProps","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n iconSize: [Number, String] as PropType<VIconBtnSizes | number | string>,\n iconSizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 10],\n ['small', 16],\n ['default', 24],\n ['large', 28],\n ['x-large', 32],\n ]),\n },\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n const iconSizeMap = new Map(props.iconSizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n\n const _iconSize = props.iconSize as VIconBtnSizes\n const hasNamedIconSize = iconSizeMap.has(_iconSize)\n\n const iconSize = !_iconSize\n ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default')\n : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize\n\n const iconProps = { icon, size: iconSize, iconColor: props.iconColor, opacity: props.opacity }\n\n return (\n <props.tag\n type={ props.tag === 'button' ? 'button' : undefined }\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\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.8.10-master.2025-06-19",
4
+ "version": "3.8.11-master.2025-06-27",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"