@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.
- package/CHANGELOG.md +12 -7
- package/dist/json/attributes.json +3005 -3005
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +162 -162
- package/dist/json/web-types.json +5874 -5874
- package/dist/vuetify-labs.cjs +37 -37
- package/dist/vuetify-labs.css +6315 -6321
- package/dist/vuetify-labs.d.ts +58 -58
- package/dist/vuetify-labs.esm.js +37 -37
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +37 -37
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +36 -37
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3938 -3944
- package/dist/vuetify.d.ts +58 -58
- package/dist/vuetify.esm.js +36 -37
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +36 -37
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +36 -36
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.css +0 -1
- package/lib/components/VCarousel/VCarousel.js +1 -0
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.sass +0 -1
- package/lib/components/VDataTable/VDataTableColumn.js +0 -1
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +5 -5
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.css +3 -8
- package/lib/components/VDatePicker/VDatePickerMonth.js +8 -3
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.sass +3 -8
- package/lib/components/VField/VField.js +2 -10
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VList/VList.js +1 -1
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +4 -10
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VNumberInput/hold.js +4 -0
- package/lib/components/VNumberInput/hold.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +1 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/composables/calendar.d.ts +1 -0
- package/lib/composables/calendar.js +7 -3
- package/lib/composables/calendar.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +58 -58
- package/lib/framework.js +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js +1 -0
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/package.json +1 -1
package/lib/framework.d.ts
CHANGED
@@ -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
|
-
|
2565
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
2630
|
+
VMain: typeof import('vuetify/components')['VMain']
|
2634
2631
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2635
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
2666
|
-
|
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
|
-
|
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
|
-
|
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.
|
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":";AAAA;AACA;;AAEA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,KAAK;AAAA,SACLC,iBAAiB,uDAE1B;AAAA,SACSC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,eAAe;AAAA,SACfC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU,wCAElD;AACA,SAASC,eAAe,QAAQ,KAAK;AAAA,SAC5BC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAEjE;AAYA,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;EAC5CG,MAAM,EAAE;IACNC,IAAI,EAAEC,OAAO;IACbC,OAAO,EAAEC;EACX,CAAC;EACDC,WAAW,EAAEC,MAAM;EACnBC,UAAU,EAAE,CAACD,MAAM,EAAEE,QAAQ,EAAEC,MAAM,CAAwB;EAC7DC,aAAa,EAAEJ,MAA2B;EAC1CK,WAAW,EAAE;IACXV,IAAI,EAAEK,MAA2B;IACjCH,OAAO,EAAE;EACX,CAAC;EACDS,QAAQ,EAAEV,OAAO;EACjBW,MAAM,EAAE,CAACC,MAAM,EAAER,MAAM,CAAC;EACxBS,KAAK,EAAE,CAACD,MAAM,EAAER,MAAM,CAAC;EACvBU,WAAW,EAAEd,OAAO;EACpBe,IAAI,EAAE,CAACX,MAAM,EAAEE,QAAQ,EAAEC,MAAM,CAAwB;EACvDS,SAAS,EAAEZ,MAAM;EACjBa,QAAQ,EAAE,CAACL,MAAM,EAAER,MAAM,CAA8C;EACvEc,SAAS,EAAE;IACTnB,IAAI,EAAEoB,KAA4C;IAClDlB,OAAO,EAAEA,CAAA,KAAO,CACd,CAAC,SAAS,EAAE,EAAE,CAAC,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,EACb,CAAC,SAAS,EAAE,EAAE,CAAC,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,EACb,CAAC,SAAS,EAAE,EAAE,CAAC;EAEnB,CAAC;EACDmB,OAAO,EAAEpB,OAAO;EAChBqB,OAAO,EAAE,CAACT,MAAM,EAAER,MAAM,CAAC;EACzBkB,QAAQ,EAAEtB,OAAO;EACjBuB,MAAM,EAAE,CAACX,MAAM,EAAER,MAAM,CAAC;EACxBoB,IAAI,EAAE;IACJzB,IAAI,EAAE,CAACa,MAAM,EAAER,MAAM,CAA8C;IACnEH,OAAO,EAAE;EACX,CAAC;EACDwB,KAAK,EAAE;IACL1B,IAAI,EAAEoB,KAA4C;IAClDlB,OAAO,EAAEA,CAAA,KAAO,CACd,CAAC,SAAS,EAAE,EAAE,CAAC,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,EACb,CAAC,SAAS,EAAE,EAAE,CAAC,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,EACb,CAAC,SAAS,EAAE,EAAE,CAAC;EAEnB,CAAC;EACDyB,IAAI,EAAE;IACJ3B,IAAI,EAAE,CAACK,MAAM,EAAEQ,MAAM,EAAEZ,OAAO,CAAC;IAC/BC,OAAO,EAAEC;EACX,CAAC;EAED,GAAGxB,eAAe,CAAC,CAAC;EACpB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGC,kBAAkB,CAAC,CAAC;EACvB,GAAGG,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC;IAAEyC,GAAG,EAAE;EAAS,CAAC,CAAC;EAClC,GAAGxC,cAAc,CAAC,CAAC;EACnB,GAAGG,gBAAgB,CAAC;IAAEsC,OAAO,EAAE;EAAO,CAAU;AAClD,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,MAAMC,QAAQ,GAAGnC,gBAAgB,CAAgB,CAAC,CAAC;EACxDoC,IAAI,EAAE,UAAU;EAEhBC,KAAK,EAAElC,iBAAiB,CAAC,CAAC;EAE1BmC,KAAK,EAAE;IACL,eAAe,EAAGC,KAAc,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,QAAQ,GAAGvD,eAAe,CAACgD,KAAK,EAAE,QAAQ,CAAC;IAEjD,MAAM;MAAEQ;IAAa,CAAC,GAAGnD,YAAY,CAAC2C,KAAK,CAAC;IAC5C,MAAM;MAAES;IAAc,CAAC,GAAG7D,SAAS,CAACoD,KAAK,CAAC;IAC1C,MAAM;MAAEU;IAAiB,CAAC,GAAG3D,YAAY,CAACiD,KAAK,CAAC;IAChD,MAAM;MAAEW;IAAe,CAAC,GAAGzD,UAAU,CAAC8C,KAAK,CAAC;IAE5C,MAAM;MAAEY,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAGtD,UAAU,CAAC,OAAO;MACtEuD,KAAK,EAAE,CAAC,MAAM;QACZ,IAAIf,KAAK,CAACrB,QAAQ,EAAE,OAAOR,SAAS;QACpC,IAAI,CAACoC,QAAQ,CAACL,KAAK,EAAE,OAAOF,KAAK,CAACe,KAAK;QACvC;QACA;QACA;QACA;QACA,OAAOf,KAAK,CAAC5B,WAAW,IAAI4B,KAAK,CAACe,KAAK,IAAI,iBAAiB;MAC9D,CAAC,EAAE,CAAC;MACJlB,OAAO,EAAE,CAAC,MAAM;QACd,IAAIU,QAAQ,CAACL,KAAK,KAAK/B,SAAS,EAAE,OAAO6B,KAAK,CAACH,OAAO;QACtD,IAAIU,QAAQ,CAACL,KAAK,EAAE,OAAOF,KAAK,CAACvB,aAAa,IAAIuB,KAAK,CAACH,OAAO;QAC/D,OAAOG,KAAK,CAACtB,WAAW,IAAIsB,KAAK,CAACH,OAAO;MAC3C,CAAC,EAAE;IACL,CAAC,CAAC,CAAC;IAEH,MAAMmB,UAAU,GAAG,IAAIC,GAAG,CAACjB,KAAK,CAACN,KAAK,CAAC;IACvC,MAAMwB,WAAW,GAAG,IAAID,GAAG,CAACjB,KAAK,CAACb,SAAS,CAAC;IAE5C,SAASgC,OAAOA,CAAA,EAAI;MAClB,IACEnB,KAAK,CAACrB,QAAQ,IACdqB,KAAK,CAACT,QAAQ,IACdgB,QAAQ,CAACL,KAAK,KAAK/B,SAAS,IAC3B6B,KAAK,CAACJ,GAAG,KAAK,GAAG,IAAIS,KAAK,CAACe,IAAK,EACjC;MAEFb,QAAQ,CAACL,KAAK,GAAG,CAACK,QAAQ,CAACL,KAAK;IAClC;IAEArC,SAAS,CAAC,MAAM;MACd,MAAMmB,IAAI,GAAGuB,QAAQ,CAACL,KAAK,GAAGF,KAAK,CAAC1B,UAAU,IAAI0B,KAAK,CAAChB,IAAI,GAAGgB,KAAK,CAAChB,IAAI;MAEzE,MAAMqC,QAAQ,GAAGrB,KAAK,CAACP,IAAqB;MAC5C,MAAM6B,YAAY,GAAGN,UAAU,CAACO,GAAG,CAACF,QAAQ,CAAC;MAC7C,MAAMG,OAAO,GAAGF,YAAY,GAAGN,UAAU,CAACS,GAAG,CAACJ,QAAQ,CAAC,GAAGA,QAAQ;MAClE,MAAMK,SAAS,GAAG1B,KAAK,CAACpB,MAAM,IAAI4C,OAAO;MACzC,MAAMG,QAAQ,GAAG3B,KAAK,CAAClB,KAAK,IAAI0C,OAAO;MAEvC,MAAMI,SAAS,GAAG5B,KAAK,CAACd,QAAyB;MACjD,MAAM2C,gBAAgB,GAAGX,WAAW,CAACK,GAAG,CAACK,SAAS,CAAC;MAEnD,MAAM1C,QAAQ,GAAG,CAAC0C,SAAS,GACvBN,YAAY,GAAGJ,WAAW,CAACO,GAAG,CAACJ,QAAQ,CAAC,GAAGH,WAAW,CAACO,GAAG,CAAC,SAAS,CAAC,GACrEI,gBAAgB,GAAGX,WAAW,CAACO,GAAG,CAACG,SAAS,CAAC,GAAGA,SAAS;MAE7D,MAAME,SAAS,GAAG;QAAE9C,IAAI;QAAES,IAAI,EAAEP,QAAQ;QAAED,SAAS,EAAEe,KAAK,CAACf,SAAS;QAAEK,OAAO,EAAEU,KAAK,CAACV;MAAQ,CAAC;MAE9F,OAAAyC,YAAA,CAAA/B,KAAA,CAAAJ,GAAA;QAAA,SAAAoC,eAAA,CAEW,CACL;UACE,YAAY,EAAE,IAAI;UAClB,oBAAoB,EAAEzB,QAAQ,CAACL,KAAK;UACpC,sBAAsB,EAAEF,KAAK,CAACrB,QAAQ;UACtC,qBAAqB,EAAEqB,KAAK,CAACX,OAAO;UACpC,sBAAsB,EAAEW,KAAK,CAACT,QAAQ;UACtC,CAAC,eAAeS,KAAK,CAACP,IAAI,EAAE,GAAG;QACjC,CAAC,EACDe,YAAY,CAACN,KAAK,EAClBU,YAAY,CAACV,KAAK,EAClBO,aAAa,CAACP,KAAK,EACnBQ,gBAAgB,CAACR,KAAK,EACtBS,cAAc,CAACT,KAAK,EACpBY,cAAc,CAACZ,KAAK,EACpBF,KAAK,CAACiC,KAAK,CACZ;QAAA,SAAAC,eAAA,CACM,CACL;UACE,qBAAqB,EAAExE,aAAa,CAACsC,KAAK,CAACR,MAAM,EAAE,KAAK,CAAC;UACzD,qBAAqB,EAAE9B,aAAa,CAACgE,SAAS,CAAC;UAC/C,oBAAoB,EAAEhE,aAAa,CAACiE,QAAQ;QAC9C,CAAC,EACDd,WAAW,CAACX,KAAK,EACjBF,KAAK,CAACmC,KAAK,CACZ;QAAA,YACUnC,KAAK,CAACrB,QAAQ,IAAIqB,KAAK,CAACT,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;QAAA,WAC1C4B;MAAO;QAAAjD,OAAA,EAAAA,CAAA,MAEfZ,WAAW,CAAC,CAAC0C,KAAK,CAACjB,WAAW,EAAE,YAAY,CAAC,EAAAqD,mBAAA;UAAA;UAAA;QAAA,IAG1C,CAAC9B,KAAK,CAACpC,OAAO,IAAIc,IAAI,GAAA+C,YAAA,CAAAtF,KAAA,EAAA4F,WAAA;UAAA;QAAA,GAGhBP,SAAS,WAAAC,YAAA,CAAAvF,iBAAA;UAAA;UAAA,YAKH,CAACwC,IAAI;UAAA,YACN;YAAEvC,KAAK,EAAE;cAAE,GAAGqF;YAAU;UAAE;QAAC,GAC5B;UACP5D,OAAO,EAAEA,CAAA,KAAMoC,KAAK,CAACpC,OAAO,GAAG,CAAC,IAAIT,eAAe,CAACuC,KAAK,CAACL,IAAI;QAChE,CAAC,CAEJ,IAGD,CAAC,CAACK,KAAK,CAACX,OAAO,IAAA+C,mBAAA;UAAA;UAAA;QAAA,IAEX9B,KAAK,CAACgC,MAAM,GAAG,CAAC,IAAAP,YAAA,CAAArF,iBAAA;UAAA,SAEN,OAAOsD,KAAK,CAACX,OAAO,KAAK,SAAS,GAAGlB,SAAS,GAAG6B,KAAK,CAACX,OAAO;UAAA;UAAA;UAAA,QAG/DH;QAAQ,QAElB,EAEJ;MAAA;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","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