@vuetify/nightly 3.6.7-master.2024-05-25 → 3.6.7-master.2024-05-28
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 +4 -2
- package/dist/json/importMap-labs.json +12 -12
- package/dist/json/importMap.json +150 -150
- package/dist/json/web-types.json +3 -3
- package/dist/vuetify-labs.css +2230 -2154
- package/dist/vuetify-labs.esm.js +9 -3
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +9 -3
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +714 -638
- package/dist/vuetify.d.ts +53 -53
- package/dist/vuetify.esm.js +3 -3
- package/dist/vuetify.js +3 -3
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +3 -3
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +53 -53
- package/lib/labs/VNumberInput/VNumberInput.mjs +7 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/styles/main.css +76 -0
- package/lib/styles/settings/_utilities.scss +5 -1
- package/package.json +1 -1
package/dist/vuetify.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.6.7-master.2024-05-
|
2
|
+
* Vuetify v3.6.7-master.2024-05-28
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -2082,9 +2082,9 @@ else{const{mount:a}=e
|
|
2082
2082
|
e.mount=function(){const l=a(...arguments)
|
2083
2083
|
return t.nextTick((()=>c.update())),e.mount=a,l}}ft.reset(),("boolean"!=typeof __VUE_OPTIONS_API__||__VUE_OPTIONS_API__)&&e.mixin({computed:{$vuetify(){return t.reactive({defaults:af.call(this,gt),display:af.call(this,dn),theme:af.call(this,ma),icons:af.call(this,Dt),locale:af.call(this,ca),date:af.call(this,cu)})}}})}
|
2084
2084
|
return{install:g,defaults:u,display:c,theme:d,icons:v,locale:p,date:f,goTo:m}}function af(e){const t=this.$,a=t.parent?.provides??t.vnode.appContext?.provides
|
2085
|
-
if(a&&e in a)return a[e]}tf.version="3.6.7-master.2024-05-
|
2085
|
+
if(a&&e in a)return a[e]}tf.version="3.6.7-master.2024-05-28"
|
2086
2086
|
const lf=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}
|
2087
|
-
return tf({components:Yp,directives:ef,...e})},of="3.6.7-master.2024-05-
|
2087
|
+
return tf({components:Yp,directives:ef,...e})},of="3.6.7-master.2024-05-28"
|
2088
2088
|
lf.version=of,e.blueprints=Yt,e.components=Yp,e.createVuetify=lf,e.directives=ef,e.useDate=pu,e.useDefaults=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0
|
2089
2089
|
const{props:a,provideSubDefaults:l}=wt(e,t)
|
2090
2090
|
return l(),a},e.useDisplay=yn,e.useGoTo=xn,e.useLayout=Qt,e.useLocale=va,e.useRtl=fa,e.useTheme=ba,e.version=of}))
|
package/lib/entry-bundler.mjs
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.6.7-master.2024-05-
|
19
|
+
export const version = "3.6.7-master.2024-05-28";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.mjs";
|
package/lib/framework.mjs
CHANGED
package/lib/index.d.mts
CHANGED
@@ -493,41 +493,42 @@ declare module '@vue/runtime-core' {
|
|
493
493
|
}
|
494
494
|
|
495
495
|
export interface GlobalComponents {
|
496
|
-
|
497
|
-
|
496
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
497
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
498
498
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
499
499
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
500
500
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
501
|
-
|
502
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
503
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
504
|
-
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
501
|
+
VApp: typeof import('vuetify/components')['VApp']
|
505
502
|
VBadge: typeof import('vuetify/components')['VBadge']
|
503
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
504
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
505
|
+
VBanner: typeof import('vuetify/components')['VBanner']
|
506
|
+
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
507
|
+
VBannerText: typeof import('vuetify/components')['VBannerText']
|
506
508
|
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
509
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
510
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
511
|
+
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
512
|
+
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
513
|
+
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
514
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
507
515
|
VCard: typeof import('vuetify/components')['VCard']
|
508
516
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
509
517
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
510
518
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
511
519
|
VCardText: typeof import('vuetify/components')['VCardText']
|
512
520
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
513
|
-
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
514
|
-
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
515
|
-
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
516
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
517
|
-
VBanner: typeof import('vuetify/components')['VBanner']
|
518
|
-
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
519
|
-
VBannerText: typeof import('vuetify/components')['VBannerText']
|
520
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
521
521
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
522
522
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
523
523
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
524
524
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
525
525
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
526
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
527
|
-
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
528
526
|
VChip: typeof import('vuetify/components')['VChip']
|
529
|
-
|
527
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
530
528
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
529
|
+
VCode: typeof import('vuetify/components')['VCode']
|
530
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
531
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
531
532
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
532
533
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
533
534
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -535,8 +536,6 @@ declare module '@vue/runtime-core' {
|
|
535
536
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
536
537
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
537
538
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
538
|
-
VCounter: typeof import('vuetify/components')['VCounter']
|
539
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
540
539
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
541
540
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
542
541
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
@@ -544,25 +543,27 @@ declare module '@vue/runtime-core' {
|
|
544
543
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
545
544
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
546
545
|
VDivider: typeof import('vuetify/components')['VDivider']
|
546
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
547
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
547
548
|
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
548
549
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
549
550
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
550
551
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
551
552
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
553
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
552
554
|
VField: typeof import('vuetify/components')['VField']
|
553
555
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
554
556
|
VFab: typeof import('vuetify/components')['VFab']
|
555
|
-
|
556
|
-
|
557
|
+
VImg: typeof import('vuetify/components')['VImg']
|
558
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
557
559
|
VIcon: typeof import('vuetify/components')['VIcon']
|
558
560
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
559
561
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
560
562
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
561
563
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
562
|
-
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
563
|
-
VImg: typeof import('vuetify/components')['VImg']
|
564
564
|
VInput: typeof import('vuetify/components')['VInput']
|
565
|
-
|
565
|
+
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
566
|
+
VItem: typeof import('vuetify/components')['VItem']
|
566
567
|
VLabel: typeof import('vuetify/components')['VLabel']
|
567
568
|
VList: typeof import('vuetify/components')['VList']
|
568
569
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
@@ -573,74 +574,73 @@ declare module '@vue/runtime-core' {
|
|
573
574
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
574
575
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
575
576
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
576
|
-
|
577
|
-
VItem: typeof import('vuetify/components')['VItem']
|
578
|
-
VMain: typeof import('vuetify/components')['VMain']
|
577
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
579
578
|
VMessages: typeof import('vuetify/components')['VMessages']
|
580
|
-
|
581
|
-
VOverlay: typeof import('vuetify/components')['VOverlay']
|
579
|
+
VMain: typeof import('vuetify/components')['VMain']
|
582
580
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
581
|
+
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
582
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
583
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
583
584
|
VPagination: typeof import('vuetify/components')['VPagination']
|
584
585
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
585
586
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
586
|
-
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
587
|
-
VRating: typeof import('vuetify/components')['VRating']
|
588
587
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
589
|
-
|
588
|
+
VRating: typeof import('vuetify/components')['VRating']
|
590
589
|
VSelect: typeof import('vuetify/components')['VSelect']
|
590
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
591
591
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
592
592
|
VSheet: typeof import('vuetify/components')['VSheet']
|
593
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
594
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
593
595
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
594
596
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
595
|
-
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
596
597
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
597
|
-
VSlider: typeof import('vuetify/components')['VSlider']
|
598
598
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
599
|
-
|
600
|
-
VTabs: typeof import('vuetify/components')['VTabs']
|
601
|
-
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
602
|
-
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
599
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
603
600
|
VStepper: typeof import('vuetify/components')['VStepper']
|
604
601
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
605
602
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
606
603
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
607
604
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
608
605
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
609
|
-
|
610
|
-
|
606
|
+
VTab: typeof import('vuetify/components')['VTab']
|
607
|
+
VTabs: typeof import('vuetify/components')['VTabs']
|
608
|
+
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
609
|
+
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
611
610
|
VTable: typeof import('vuetify/components')['VTable']
|
612
|
-
|
613
|
-
VToolbar: typeof import('vuetify/components')['VToolbar']
|
614
|
-
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
615
|
-
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
611
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
616
612
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
617
613
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
614
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
618
615
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
619
616
|
VWindow: typeof import('vuetify/components')['VWindow']
|
620
617
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
618
|
+
VToolbar: typeof import('vuetify/components')['VToolbar']
|
619
|
+
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
620
|
+
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
621
621
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
622
622
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
623
623
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
624
624
|
VForm: typeof import('vuetify/components')['VForm']
|
625
|
+
VHover: typeof import('vuetify/components')['VHover']
|
625
626
|
VContainer: typeof import('vuetify/components')['VContainer']
|
626
627
|
VCol: typeof import('vuetify/components')['VCol']
|
627
628
|
VRow: typeof import('vuetify/components')['VRow']
|
628
629
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
629
|
-
VHover: typeof import('vuetify/components')['VHover']
|
630
|
-
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
631
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
632
630
|
VLayout: typeof import('vuetify/components')['VLayout']
|
633
631
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
632
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
633
|
+
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
634
634
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
635
635
|
VParallax: typeof import('vuetify/components')['VParallax']
|
636
|
-
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
637
636
|
VRadio: typeof import('vuetify/components')['VRadio']
|
637
|
+
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
638
638
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
639
|
-
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
640
639
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
640
|
+
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
641
641
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
642
|
-
VValidation: typeof import('vuetify/components')['VValidation']
|
643
642
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
643
|
+
VValidation: typeof import('vuetify/components')['VValidation']
|
644
644
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
645
645
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
646
646
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
@@ -663,11 +663,11 @@ declare module '@vue/runtime-core' {
|
|
663
663
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
664
664
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
665
665
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
666
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
667
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
668
666
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
669
667
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
670
668
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
669
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
670
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
671
671
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
672
672
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
673
673
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
@@ -676,7 +676,7 @@ declare module '@vue/runtime-core' {
|
|
676
676
|
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
677
677
|
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
678
678
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
679
|
-
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
680
679
|
VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
|
680
|
+
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
681
681
|
}
|
682
682
|
}
|
@@ -7,6 +7,7 @@ import { VBtn } from "../../components/VBtn/index.mjs";
|
|
7
7
|
import { VDefaultsProvider } from "../../components/VDefaultsProvider/index.mjs";
|
8
8
|
import { VDivider } from "../../components/VDivider/index.mjs";
|
9
9
|
import { makeVTextFieldProps, VTextField } from "../../components/VTextField/VTextField.mjs"; // Composables
|
10
|
+
import { useForm } from "../../composables/form.mjs";
|
10
11
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
|
11
12
|
import { computed, watchEffect } from 'vue';
|
12
13
|
import { clamp, genericComponent, getDecimals, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
@@ -49,15 +50,20 @@ export const VNumberInput = genericComponent()({
|
|
49
50
|
const model = useProxiedModel(props, 'modelValue');
|
50
51
|
const stepDecimals = computed(() => getDecimals(props.step));
|
51
52
|
const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0);
|
53
|
+
const form = useForm();
|
54
|
+
const controlsDisabled = computed(() => props.disabled || props.readonly || form?.isReadonly.value);
|
52
55
|
const canIncrease = computed(() => {
|
56
|
+
if (controlsDisabled.value) return false;
|
53
57
|
if (model.value == null) return true;
|
54
58
|
return model.value + props.step <= props.max;
|
55
59
|
});
|
56
60
|
const canDecrease = computed(() => {
|
61
|
+
if (controlsDisabled.value) return false;
|
57
62
|
if (model.value == null) return true;
|
58
63
|
return model.value - props.step >= props.min;
|
59
64
|
});
|
60
65
|
watchEffect(() => {
|
66
|
+
if (controlsDisabled.value) return;
|
61
67
|
if (model.value != null && (model.value < props.min || model.value > props.max)) {
|
62
68
|
model.value = clamp(model.value, props.min, props.max);
|
63
69
|
}
|
@@ -73,6 +79,7 @@ export const VNumberInput = genericComponent()({
|
|
73
79
|
}));
|
74
80
|
function toggleUpDown() {
|
75
81
|
let increment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
82
|
+
if (controlsDisabled.value) return;
|
76
83
|
if (model.value == null) {
|
77
84
|
model.value = 0;
|
78
85
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VNumberInput.mjs","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useProxiedModel","computed","watchEffect","clamp","genericComponent","getDecimals","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","min","Number","Infinity","max","step","VNumberInput","name","inheritAttrs","props","emits","val","setup","_ref","attrs","emit","slots","model","stepDecimals","modelDecimals","value","canIncrease","canDecrease","incrementSlotProps","click","onClickUp","decrementSlotProps","onClickDown","toggleUpDown","increment","arguments","length","undefined","decimals","Math","toFixed","e","stopPropagation","onKeydown","includes","key","ctrlKey","preventDefault","test","onModelUpdate","v","onControlMousedown","modelValue","_","textFieldProps","filterProps","controlNode","defaultHeight","_createVNode","decrement","disabled","flat","height","size","icon","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/labs/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '../../components/VBtn'\nimport { VDefaultsProvider } from '../../components/VDefaultsProvider'\nimport { VDivider } from '../../components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, watchEffect } from 'vue'\nimport { clamp, genericComponent, getDecimals, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n click: (e: MouseEvent) => void\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n min: {\n type: Number,\n default: -Infinity,\n },\n max: {\n type: Number,\n default: Infinity,\n },\n step: {\n type: Number,\n default: 1,\n },\n\n ...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n inheritAttrs: false,\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const stepDecimals = computed(() => getDecimals(props.step))\n const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0)\n\n const canIncrease = computed(() => {\n if (model.value == null) return true\n return model.value + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (model.value == null) return true\n return model.value - props.step >= props.min\n })\n\n watchEffect(() => {\n if (model.value != null && (model.value < props.min || model.value > props.max)) {\n model.value = clamp(model.value, props.min, props.max)\n }\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementSlotProps = computed(() => ({ click: onClickUp }))\n\n const decrementSlotProps = computed(() => ({ click: onClickDown }))\n\n function toggleUpDown (increment = true) {\n if (model.value == null) {\n model.value = 0\n return\n }\n\n const decimals = Math.max(modelDecimals.value, stepDecimals.value)\n if (increment) {\n if (canIncrease.value) model.value = +(((model.value + props.step).toFixed(decimals)))\n } else {\n if (canDecrease.value) model.value = +(((model.value - props.step).toFixed(decimals)))\n }\n }\n\n function onClickUp (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown()\n }\n\n function onClickDown (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown(false)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown(false)\n return\n }\n if (['ArrowUp'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown()\n return\n }\n\n // Only numbers, +, - & . are allowed\n if (!/^[0-9\\-+.]+$/.test(e.key)) {\n e.preventDefault()\n }\n }\n\n function onModelUpdate (v: string) {\n model.value = v ? +(v) : undefined\n }\n\n function onControlMousedown (e: MouseEvent) {\n e.stopPropagation()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function controlNode () {\n const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%'\n return (\n <div class=\"v-number-input__control\">\n {\n !slots.decrement ? (\n <VBtn\n disabled={ !canDecrease.value }\n flat\n key=\"decrement-btn\"\n height={ defaultHeight }\n name=\"decrement-btn\"\n icon=\"$expand\"\n size=\"small\"\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: defaultHeight,\n size: 'small',\n icon: '$expand',\n },\n }}\n >\n { slots.decrement(decrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n {\n !slots.increment ? (\n <VBtn\n disabled={ !canIncrease.value }\n flat\n key=\"increment-btn\"\n height={ defaultHeight }\n name=\"increment-btn\"\n icon=\"$collapse\"\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n size=\"small\"\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: defaultHeight,\n size: 'small',\n icon: '$collapse',\n },\n }}\n >\n { slots.increment(incrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n <VBtn\n flat\n height=\"100%\"\n icon=\"$plus\"\n tile\n tabindex=\"-1\"\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n />\n </div>\n ) : (!props.reverse\n ? <>{ dividerNode() }{ controlNode() }</>\n : undefined)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VBtn\n flat\n height=\"100%\"\n icon=\"$minus\"\n tile\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n\n <VDivider vertical />\n </div>\n ) : (props.reverse\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n modelValue={ model.value }\n onUpdate:modelValue={ onModelUpdate }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n { ...textFieldProps }\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB;AAAA,SACjBC,QAAQ;AAAA,SACRC,mBAAmB,EAAEC,UAAU,sDAExC;AAAA,SACSC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,WAAW,QAAQ,KAAK;AAAA,SAClCC,KAAK,EAAEC,gBAAgB,EAAEC,WAAW,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAE5E;AAeA,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EACzCG,cAAc,EAAE;IACdC,IAAI,EAAEC,MAAkC;IACxCC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC,OAAO;EACdC,SAAS,EAAED,OAAO;EAClBE,GAAG,EAAE;IACHN,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAE,CAACM;EACZ,CAAC;EACDC,GAAG,EAAE;IACHT,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAEM;EACX,CAAC;EACDE,IAAI,EAAE;IACJV,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAE;EACX,CAAC;EAED,GAAGP,IAAI,CAACR,mBAAmB,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;AACxE,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMwB,YAAY,GAAGlB,gBAAgB,CAAoB,CAAC,CAAC;EAChEmB,IAAI,EAAE,cAAc;EAEpBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAE;IACL,GAAGhB,qBAAqB,CAAC;EAC3B,CAAC;EAEDiB,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAW,IAAK;EACxC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IAClC,MAAMI,KAAK,GAAGjC,eAAe,CAACyB,KAAK,EAAE,YAAY,CAAC;IAElD,MAAMS,YAAY,GAAGjC,QAAQ,CAAC,MAAMI,WAAW,CAACoB,KAAK,CAACJ,IAAI,CAAC,CAAC;IAC5D,MAAMc,aAAa,GAAGlC,QAAQ,CAAC,MAAMgC,KAAK,CAACG,KAAK,IAAI,IAAI,GAAG/B,WAAW,CAAC4B,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC;IAExF,MAAMC,WAAW,GAAGpC,QAAQ,CAAC,MAAM;MACjC,IAAIgC,KAAK,CAACG,KAAK,IAAI,IAAI,EAAE,OAAO,IAAI;MACpC,OAAOH,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACJ,IAAI,IAAII,KAAK,CAACL,GAAG;IAC9C,CAAC,CAAC;IACF,MAAMkB,WAAW,GAAGrC,QAAQ,CAAC,MAAM;MACjC,IAAIgC,KAAK,CAACG,KAAK,IAAI,IAAI,EAAE,OAAO,IAAI;MACpC,OAAOH,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACJ,IAAI,IAAII,KAAK,CAACR,GAAG;IAC9C,CAAC,CAAC;IAEFf,WAAW,CAAC,MAAM;MAChB,IAAI+B,KAAK,CAACG,KAAK,IAAI,IAAI,KAAKH,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACR,GAAG,IAAIgB,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACL,GAAG,CAAC,EAAE;QAC/Ea,KAAK,CAACG,KAAK,GAAGjC,KAAK,CAAC8B,KAAK,CAACG,KAAK,EAAEX,KAAK,CAACR,GAAG,EAAEQ,KAAK,CAACL,GAAG,CAAC;MACxD;IACF,CAAC,CAAC;IAEF,MAAMV,cAAc,GAAGT,QAAQ,CAAC,MAAM;MACpC,OAAOwB,KAAK,CAACT,SAAS,GAAG,SAAS,GAAGS,KAAK,CAACf,cAAc;IAC3D,CAAC,CAAC;IAEF,MAAM6B,kBAAkB,GAAGtC,QAAQ,CAAC,OAAO;MAAEuC,KAAK,EAAEC;IAAU,CAAC,CAAC,CAAC;IAEjE,MAAMC,kBAAkB,GAAGzC,QAAQ,CAAC,OAAO;MAAEuC,KAAK,EAAEG;IAAY,CAAC,CAAC,CAAC;IAEnE,SAASC,YAAYA,CAAA,EAAoB;MAAA,IAAlBC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MACrC,IAAIb,KAAK,CAACG,KAAK,IAAI,IAAI,EAAE;QACvBH,KAAK,CAACG,KAAK,GAAG,CAAC;QACf;MACF;MAEA,MAAMa,QAAQ,GAAGC,IAAI,CAAC9B,GAAG,CAACe,aAAa,CAACC,KAAK,EAAEF,YAAY,CAACE,KAAK,CAAC;MAClE,IAAIS,SAAS,EAAE;QACb,IAAIR,WAAW,CAACD,KAAK,EAAEH,KAAK,CAACG,KAAK,GAAG,CAAG,CAACH,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACJ,IAAI,EAAE8B,OAAO,CAACF,QAAQ,CAAG;MACxF,CAAC,MAAM;QACL,IAAIX,WAAW,CAACF,KAAK,EAAEH,KAAK,CAACG,KAAK,GAAG,CAAG,CAACH,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACJ,IAAI,EAAE8B,OAAO,CAACF,QAAQ,CAAG;MACxF;IACF;IAEA,SAASR,SAASA,CAAEW,CAAa,EAAE;MACjCA,CAAC,CAACC,eAAe,CAAC,CAAC;MACnBT,YAAY,CAAC,CAAC;IAChB;IAEA,SAASD,WAAWA,CAAES,CAAa,EAAE;MACnCA,CAAC,CAACC,eAAe,CAAC,CAAC;MACnBT,YAAY,CAAC,KAAK,CAAC;IACrB;IAEA,SAASU,SAASA,CAAEF,CAAgB,EAAE;MACpC,IACE,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,CAACG,QAAQ,CAACH,CAAC,CAACI,GAAG,CAAC,IACxEJ,CAAC,CAACK,OAAO,EACT;MAEF,IAAI,CAAC,WAAW,CAAC,CAACF,QAAQ,CAACH,CAAC,CAACI,GAAG,CAAC,EAAE;QACjCJ,CAAC,CAACM,cAAc,CAAC,CAAC;QAClBd,YAAY,CAAC,KAAK,CAAC;QACnB;MACF;MACA,IAAI,CAAC,SAAS,CAAC,CAACW,QAAQ,CAACH,CAAC,CAACI,GAAG,CAAC,EAAE;QAC/BJ,CAAC,CAACM,cAAc,CAAC,CAAC;QAClBd,YAAY,CAAC,CAAC;QACd;MACF;;MAEA;MACA,IAAI,CAAC,cAAc,CAACe,IAAI,CAACP,CAAC,CAACI,GAAG,CAAC,EAAE;QAC/BJ,CAAC,CAACM,cAAc,CAAC,CAAC;MACpB;IACF;IAEA,SAASE,aAAaA,CAAEC,CAAS,EAAE;MACjC5B,KAAK,CAACG,KAAK,GAAGyB,CAAC,GAAG,CAAEA,CAAE,GAAGb,SAAS;IACpC;IAEA,SAASc,kBAAkBA,CAAEV,CAAa,EAAE;MAC1CA,CAAC,CAACC,eAAe,CAAC,CAAC;IACrB;IAEA7C,SAAS,CAAC,MAAM;MACd,MAAM;QAAEuD,UAAU,EAAEC,CAAC;QAAE,GAAGC;MAAe,CAAC,GAAGlE,UAAU,CAACmE,WAAW,CAACzC,KAAK,CAAC;MAE1E,SAAS0C,WAAWA,CAAA,EAAI;QACtB,MAAMC,aAAa,GAAG1D,cAAc,CAAC0B,KAAK,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM;QAC1E,OAAAiC,YAAA;UAAA;QAAA,IAGM,CAACrC,KAAK,CAACsC,SAAS,GAAAD,YAAA,CAAA1E,IAAA;UAAA,YAED,CAAC2C,WAAW,CAACF,KAAK;UAAA;UAAA;UAAA,UAGpBgC,aAAa;UAAA;UAAA;UAAA;UAAA;UAAA,WAKZzB,WAAW;UAAA,eACPmB;QAAkB,WAAAO,YAAA,CAAAzE,iBAAA;UAAA;UAAA,YAKtB;YACRD,IAAI,EAAE;cACJ4E,QAAQ,EAAE,CAACjC,WAAW,CAACF,KAAK;cAC5BoC,IAAI,EAAE,IAAI;cACVC,MAAM,EAAEL,aAAa;cACrBM,IAAI,EAAE,OAAO;cACbC,IAAI,EAAE;YACR;UACF;QAAC;UAAA9D,OAAA,EAAAA,CAAA,MAECmB,KAAK,CAACsC,SAAS,CAAC5B,kBAAkB,CAACN,KAAK,CAAC;QAAA,EAE9C,EAAAiC,YAAA,CAAAxE,QAAA;UAAA,YAIUa,cAAc,CAAC0B,KAAK,KAAK;QAAS,UAI7C,CAACJ,KAAK,CAACa,SAAS,GAAAwB,YAAA,CAAA1E,IAAA;UAAA,YAED,CAAC0C,WAAW,CAACD,KAAK;UAAA;UAAA;UAAA,UAGpBgC,aAAa;UAAA;UAAA;UAAA,WAGZ3B,SAAS;UAAA,eACLqB,kBAAkB;UAAA;UAAA;QAAA,WAAAO,YAAA,CAAAzE,iBAAA;UAAA;UAAA,YAOtB;YACRD,IAAI,EAAE;cACJ4E,QAAQ,EAAE,CAAClC,WAAW,CAACD,KAAK;cAC5BoC,IAAI,EAAE,IAAI;cACVC,MAAM,EAAEL,aAAa;cACrBM,IAAI,EAAE,OAAO;cACbC,IAAI,EAAE;YACR;UACF;QAAC;UAAA9D,OAAA,EAAAA,CAAA,MAECmB,KAAK,CAACa,SAAS,CAACN,kBAAkB,CAACH,KAAK,CAAC;QAAA,EAE9C;MAIT;MAEA,SAASwC,WAAWA,CAAA,EAAI;QACtB,OAAO,CAACnD,KAAK,CAACT,SAAS,IAAI,CAACS,KAAK,CAACX,KAAK,GAAAuD,YAAA,CAAAxE,QAAA;UAAA;QAAA,WAA2BmD,SAAS;MAC7E;MAEA,MAAM6B,kBAAkB,GACtBnE,cAAc,CAAC0B,KAAK,KAAK,OAAO,GAAAiC,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAAxE,QAAA;QAAA;MAAA,UAAAwE,YAAA,CAAA1E,IAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA,WAWd8C,SAAS;QAAA,eACLqB;MAAkB,aAGjC,CAACrC,KAAK,CAACqD,OAAO,GAAAT,YAAA,CAAAU,SAAA,SACXH,WAAW,CAAC,CAAC,EAAIT,WAAW,CAAC,CAAC,KAClCnB,SAAU;MAElB,MAAMgC,cAAc,GAAGhD,KAAK,CAAC,cAAc,CAAC,IAAI6C,kBAAkB;MAElE,MAAMI,mBAAmB,GACvBvE,cAAc,CAAC0B,KAAK,KAAK,OAAO,GAAAiC,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAA1E,IAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA,WASdgD,WAAW;QAAA,eACPmB;MAAkB,UAAAO,YAAA,CAAAxE,QAAA;QAAA;MAAA,aAKjC4B,KAAK,CAACqD,OAAO,GAAAT,YAAA,CAAAU,SAAA,SACVZ,WAAW,CAAC,CAAC,EAAIS,WAAW,CAAC,CAAC,KAClC5B,SAAU;MAElB,MAAMkC,eAAe,GAAGlD,KAAK,CAAC,eAAe,CAAC,IAAIiD,mBAAmB;MAErE,OAAAZ,YAAA,CAAAtE,UAAA,EAAAoF,WAAA;QAAA,cAEiBlD,KAAK,CAACG,KAAK;QAAA,uBACFwB,aAAa;QAAA,aACvBN,SAAS;QAAA,SACd,CACL,gBAAgB,EAChB;UACE,yBAAyB,EAAE5C,cAAc,CAAC0B,KAAK,KAAK,SAAS;UAC7D,4BAA4B,EAAEX,KAAK,CAACT,SAAS;UAC7C,uBAAuB,EAAES,KAAK,CAACX,KAAK;UACpC,yBAAyB,EAAEW,KAAK,CAACqD,OAAO;UACxC,uBAAuB,EAAEpE,cAAc,CAAC0B,KAAK,KAAK,OAAO;UACzD,yBAAyB,EAAE1B,cAAc,CAAC0B,KAAK,KAAK;QACtD,CAAC,EACDX,KAAK,CAAC2D,KAAK;MACZ,GACInB,cAAc;QAAA,SACXxC,KAAK,CAAC4D,KAAK;QAAA;MAAA;QAIjB,GAAGrD,KAAK;QACR,cAAc,EAAEgD,cAAc,GAAG;UAAA,SAAAM,IAAA,GAAAxC,SAAA,CAAAC,MAAA,EAAIwC,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAA3C,SAAA,CAAA2C,IAAA;UAAA;UAAA,OAAApB,YAAA,CAAAU,SAAA,SAEnC/C,KAAK,CAAC,cAAc,CAAC,GAAG,GAAGuD,IAAI,CAAC,EAChCV,kBAAkB;QAAA,CAEvB,GAAG7B,SAAS;QACb,eAAe,EAAEkC,eAAe,GAAG;UAAA,SAAAQ,KAAA,GAAA5C,SAAA,CAAAC,MAAA,EAAIwC,IAAI,OAAAC,KAAA,CAAAE,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;YAAJJ,IAAI,CAAAI,KAAA,IAAA7C,SAAA,CAAA6C,KAAA;UAAA;UAAA,OAAAtB,YAAA,CAAAU,SAAA,SAErCE,mBAAmB,EACnBjD,KAAK,CAAC,eAAe,CAAC,GAAG,GAAGuD,IAAI,CAAC;QAAA,CAEtC,GAAGvC;MAAS;IAIrB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VNumberInput.mjs","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useForm","useProxiedModel","computed","watchEffect","clamp","genericComponent","getDecimals","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","min","Number","Infinity","max","step","VNumberInput","name","inheritAttrs","props","emits","val","setup","_ref","attrs","emit","slots","model","stepDecimals","modelDecimals","value","form","controlsDisabled","disabled","readonly","isReadonly","canIncrease","canDecrease","incrementSlotProps","click","onClickUp","decrementSlotProps","onClickDown","toggleUpDown","increment","arguments","length","undefined","decimals","Math","toFixed","e","stopPropagation","onKeydown","includes","key","ctrlKey","preventDefault","test","onModelUpdate","v","onControlMousedown","modelValue","_","textFieldProps","filterProps","controlNode","defaultHeight","_createVNode","decrement","flat","height","size","icon","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/labs/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '../../components/VBtn'\nimport { VDefaultsProvider } from '../../components/VDefaultsProvider'\nimport { VDivider } from '../../components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, watchEffect } from 'vue'\nimport { clamp, genericComponent, getDecimals, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n click: (e: MouseEvent) => void\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n min: {\n type: Number,\n default: -Infinity,\n },\n max: {\n type: Number,\n default: Infinity,\n },\n step: {\n type: Number,\n default: 1,\n },\n\n ...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n inheritAttrs: false,\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const stepDecimals = computed(() => getDecimals(props.step))\n const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0)\n\n const form = useForm()\n const controlsDisabled = computed(() => (\n props.disabled || props.readonly || form?.isReadonly.value\n ))\n\n const canIncrease = computed(() => {\n if (controlsDisabled.value) return false\n if (model.value == null) return true\n return model.value + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n if (model.value == null) return true\n return model.value - props.step >= props.min\n })\n\n watchEffect(() => {\n if (controlsDisabled.value) return\n if (model.value != null && (model.value < props.min || model.value > props.max)) {\n model.value = clamp(model.value, props.min, props.max)\n }\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementSlotProps = computed(() => ({ click: onClickUp }))\n\n const decrementSlotProps = computed(() => ({ click: onClickDown }))\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n model.value = 0\n return\n }\n\n const decimals = Math.max(modelDecimals.value, stepDecimals.value)\n if (increment) {\n if (canIncrease.value) model.value = +(((model.value + props.step).toFixed(decimals)))\n } else {\n if (canDecrease.value) model.value = +(((model.value - props.step).toFixed(decimals)))\n }\n }\n\n function onClickUp (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown()\n }\n\n function onClickDown (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown(false)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown(false)\n return\n }\n if (['ArrowUp'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown()\n return\n }\n\n // Only numbers, +, - & . are allowed\n if (!/^[0-9\\-+.]+$/.test(e.key)) {\n e.preventDefault()\n }\n }\n\n function onModelUpdate (v: string) {\n model.value = v ? +(v) : undefined\n }\n\n function onControlMousedown (e: MouseEvent) {\n e.stopPropagation()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function controlNode () {\n const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%'\n return (\n <div class=\"v-number-input__control\">\n {\n !slots.decrement ? (\n <VBtn\n disabled={ !canDecrease.value }\n flat\n key=\"decrement-btn\"\n height={ defaultHeight }\n name=\"decrement-btn\"\n icon=\"$expand\"\n size=\"small\"\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: defaultHeight,\n size: 'small',\n icon: '$expand',\n },\n }}\n >\n { slots.decrement(decrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n {\n !slots.increment ? (\n <VBtn\n disabled={ !canIncrease.value }\n flat\n key=\"increment-btn\"\n height={ defaultHeight }\n name=\"increment-btn\"\n icon=\"$collapse\"\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n size=\"small\"\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: defaultHeight,\n size: 'small',\n icon: '$collapse',\n },\n }}\n >\n { slots.increment(incrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n <VBtn\n flat\n height=\"100%\"\n icon=\"$plus\"\n tile\n tabindex=\"-1\"\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n />\n </div>\n ) : (!props.reverse\n ? <>{ dividerNode() }{ controlNode() }</>\n : undefined)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VBtn\n flat\n height=\"100%\"\n icon=\"$minus\"\n tile\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n\n <VDivider vertical />\n </div>\n ) : (props.reverse\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n modelValue={ model.value }\n onUpdate:modelValue={ onModelUpdate }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n { ...textFieldProps }\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":"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","ignoreList":[]}
|
package/lib/styles/main.css
CHANGED
@@ -3493,6 +3493,22 @@ html.overflow-y-hidden {
|
|
3493
3493
|
flex: 0 0 100% !important;
|
3494
3494
|
}
|
3495
3495
|
|
3496
|
+
.flex-1-1-0 {
|
3497
|
+
flex: 1 1 0 !important;
|
3498
|
+
}
|
3499
|
+
|
3500
|
+
.flex-1-0-0 {
|
3501
|
+
flex: 1 0 0 !important;
|
3502
|
+
}
|
3503
|
+
|
3504
|
+
.flex-0-1-0 {
|
3505
|
+
flex: 0 1 0 !important;
|
3506
|
+
}
|
3507
|
+
|
3508
|
+
.flex-0-0-0 {
|
3509
|
+
flex: 0 0 0 !important;
|
3510
|
+
}
|
3511
|
+
|
3496
3512
|
.flex-row {
|
3497
3513
|
flex-direction: row !important;
|
3498
3514
|
}
|
@@ -7173,6 +7189,18 @@ html.overflow-y-hidden {
|
|
7173
7189
|
.flex-sm-0-0-100 {
|
7174
7190
|
flex: 0 0 100% !important;
|
7175
7191
|
}
|
7192
|
+
.flex-sm-1-1-0 {
|
7193
|
+
flex: 1 1 0 !important;
|
7194
|
+
}
|
7195
|
+
.flex-sm-1-0-0 {
|
7196
|
+
flex: 1 0 0 !important;
|
7197
|
+
}
|
7198
|
+
.flex-sm-0-1-0 {
|
7199
|
+
flex: 0 1 0 !important;
|
7200
|
+
}
|
7201
|
+
.flex-sm-0-0-0 {
|
7202
|
+
flex: 0 0 0 !important;
|
7203
|
+
}
|
7176
7204
|
.flex-sm-row {
|
7177
7205
|
flex-direction: row !important;
|
7178
7206
|
}
|
@@ -9208,6 +9236,18 @@ html.overflow-y-hidden {
|
|
9208
9236
|
.flex-md-0-0-100 {
|
9209
9237
|
flex: 0 0 100% !important;
|
9210
9238
|
}
|
9239
|
+
.flex-md-1-1-0 {
|
9240
|
+
flex: 1 1 0 !important;
|
9241
|
+
}
|
9242
|
+
.flex-md-1-0-0 {
|
9243
|
+
flex: 1 0 0 !important;
|
9244
|
+
}
|
9245
|
+
.flex-md-0-1-0 {
|
9246
|
+
flex: 0 1 0 !important;
|
9247
|
+
}
|
9248
|
+
.flex-md-0-0-0 {
|
9249
|
+
flex: 0 0 0 !important;
|
9250
|
+
}
|
9211
9251
|
.flex-md-row {
|
9212
9252
|
flex-direction: row !important;
|
9213
9253
|
}
|
@@ -11243,6 +11283,18 @@ html.overflow-y-hidden {
|
|
11243
11283
|
.flex-lg-0-0-100 {
|
11244
11284
|
flex: 0 0 100% !important;
|
11245
11285
|
}
|
11286
|
+
.flex-lg-1-1-0 {
|
11287
|
+
flex: 1 1 0 !important;
|
11288
|
+
}
|
11289
|
+
.flex-lg-1-0-0 {
|
11290
|
+
flex: 1 0 0 !important;
|
11291
|
+
}
|
11292
|
+
.flex-lg-0-1-0 {
|
11293
|
+
flex: 0 1 0 !important;
|
11294
|
+
}
|
11295
|
+
.flex-lg-0-0-0 {
|
11296
|
+
flex: 0 0 0 !important;
|
11297
|
+
}
|
11246
11298
|
.flex-lg-row {
|
11247
11299
|
flex-direction: row !important;
|
11248
11300
|
}
|
@@ -13278,6 +13330,18 @@ html.overflow-y-hidden {
|
|
13278
13330
|
.flex-xl-0-0-100 {
|
13279
13331
|
flex: 0 0 100% !important;
|
13280
13332
|
}
|
13333
|
+
.flex-xl-1-1-0 {
|
13334
|
+
flex: 1 1 0 !important;
|
13335
|
+
}
|
13336
|
+
.flex-xl-1-0-0 {
|
13337
|
+
flex: 1 0 0 !important;
|
13338
|
+
}
|
13339
|
+
.flex-xl-0-1-0 {
|
13340
|
+
flex: 0 1 0 !important;
|
13341
|
+
}
|
13342
|
+
.flex-xl-0-0-0 {
|
13343
|
+
flex: 0 0 0 !important;
|
13344
|
+
}
|
13281
13345
|
.flex-xl-row {
|
13282
13346
|
flex-direction: row !important;
|
13283
13347
|
}
|
@@ -15313,6 +15377,18 @@ html.overflow-y-hidden {
|
|
15313
15377
|
.flex-xxl-0-0-100 {
|
15314
15378
|
flex: 0 0 100% !important;
|
15315
15379
|
}
|
15380
|
+
.flex-xxl-1-1-0 {
|
15381
|
+
flex: 1 1 0 !important;
|
15382
|
+
}
|
15383
|
+
.flex-xxl-1-0-0 {
|
15384
|
+
flex: 1 0 0 !important;
|
15385
|
+
}
|
15386
|
+
.flex-xxl-0-1-0 {
|
15387
|
+
flex: 0 1 0 !important;
|
15388
|
+
}
|
15389
|
+
.flex-xxl-0-0-0 {
|
15390
|
+
flex: 0 0 0 !important;
|
15391
|
+
}
|
15316
15392
|
.flex-xxl-row {
|
15317
15393
|
flex-direction: row !important;
|
15318
15394
|
}
|
@@ -67,7 +67,11 @@ $utilities: () !default;
|
|
67
67
|
'1-1-100': 1 1 100%,
|
68
68
|
'1-0-100': 1 0 100%,
|
69
69
|
'0-1-100': 0 1 100%,
|
70
|
-
'0-0-100': 0 0 100
|
70
|
+
'0-0-100': 0 0 100%,
|
71
|
+
'1-1-0': 1 1 0,
|
72
|
+
'1-0-0': 1 0 0,
|
73
|
+
'0-1-0': 0 1 0,
|
74
|
+
'0-0-0': 0 0 0,
|
71
75
|
)
|
72
76
|
),
|
73
77
|
"flex-direction": (
|