@vuetify/nightly 3.7.0-dev.2024-08-16 → 3.7.0-master.2024-08-17
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/dist/json/attributes.json +267 -267
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +194 -194
- package/dist/json/web-types.json +400 -400
- package/dist/vuetify-labs.css +4425 -4425
- package/dist/vuetify-labs.d.ts +5 -2
- package/dist/vuetify-labs.esm.js +10 -4
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +10 -4
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1723 -1723
- package/dist/vuetify.d.ts +90 -96
- package/dist/vuetify.esm.js +3 -3
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +3 -3
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +3 -3
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +4 -1
- package/lib/blueprints/md1.d.mts +4 -1
- package/lib/blueprints/md2.d.mts +4 -1
- package/lib/blueprints/md3.d.mts +4 -1
- package/lib/components/VAlert/index.d.mts +4 -1
- package/lib/components/VAppBar/index.d.mts +4 -1
- package/lib/components/VAutocomplete/index.d.mts +4 -1
- package/lib/components/VAvatar/index.d.mts +4 -1
- package/lib/components/VBadge/index.d.mts +4 -1
- package/lib/components/VBanner/index.d.mts +4 -1
- package/lib/components/VBreadcrumbs/index.d.mts +4 -1
- package/lib/components/VBtn/index.d.mts +4 -1
- package/lib/components/VCard/index.d.mts +4 -1
- package/lib/components/VCarousel/index.d.mts +4 -1
- package/lib/components/VCheckbox/index.d.mts +4 -1
- package/lib/components/VChip/index.d.mts +4 -1
- package/lib/components/VChipGroup/index.d.mts +4 -1
- package/lib/components/VCombobox/index.d.mts +4 -1
- package/lib/components/VDataTable/index.d.mts +4 -1
- package/lib/components/VDatePicker/index.d.mts +4 -1
- package/lib/components/VEmptyState/index.d.mts +4 -1
- package/lib/components/VExpansionPanel/index.d.mts +4 -1
- package/lib/components/VFab/index.d.mts +4 -1
- package/lib/components/VField/index.d.mts +4 -1
- package/lib/components/VFileInput/index.d.mts +4 -1
- package/lib/components/VIcon/index.d.mts +4 -1
- package/lib/components/VInput/index.d.mts +4 -1
- package/lib/components/VList/index.d.mts +4 -1
- package/lib/components/VPagination/index.d.mts +4 -1
- package/lib/components/VRadio/index.d.mts +4 -1
- package/lib/components/VRadioGroup/index.d.mts +4 -1
- package/lib/components/VRangeSlider/index.d.mts +4 -1
- package/lib/components/VRating/index.d.mts +4 -1
- package/lib/components/VSelect/index.d.mts +4 -1
- package/lib/components/VSelectionControl/index.d.mts +4 -1
- package/lib/components/VSelectionControlGroup/index.d.mts +4 -1
- package/lib/components/VSlideGroup/index.d.mts +4 -1
- package/lib/components/VSlider/index.d.mts +4 -1
- package/lib/components/VSwitch/index.d.mts +4 -1
- package/lib/components/VTabs/index.d.mts +4 -1
- package/lib/components/VTextField/index.d.mts +4 -1
- package/lib/components/VTextarea/index.d.mts +4 -1
- package/lib/components/VTimeline/index.d.mts +4 -1
- package/lib/components/VWindow/index.d.mts +4 -1
- package/lib/components/index.d.mts +4 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa-svg.d.mts +4 -1
- package/lib/iconsets/fa.d.mts +4 -1
- package/lib/iconsets/fa4.d.mts +4 -1
- package/lib/iconsets/md.d.mts +4 -1
- package/lib/iconsets/mdi-svg.d.mts +4 -1
- package/lib/iconsets/mdi.d.mts +4 -1
- package/lib/index.d.mts +90 -96
- package/lib/labs/VDateInput/index.d.mts +4 -1
- package/lib/labs/VNumberInput/VNumberInput.mjs +7 -1
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/index.d.mts +4 -1
- package/lib/labs/VStepperVertical/index.d.mts +4 -1
- package/lib/labs/VTreeview/index.d.mts +4 -1
- package/lib/labs/components.d.mts +4 -1
- package/package.json +1 -5
package/lib/index.d.mts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as vue from 'vue';
|
2
|
-
import { Ref, ComponentPublicInstance, DeepReadonly,
|
2
|
+
import { Ref, ComponentPublicInstance, DeepReadonly, FunctionalComponent, PropType, CSSProperties, App } from 'vue';
|
3
3
|
|
4
4
|
interface LocaleMessages {
|
5
5
|
[key: string]: LocaleMessages | string;
|
@@ -175,6 +175,9 @@ interface ThemeInstance {
|
|
175
175
|
}
|
176
176
|
declare function useTheme(): ThemeInstance;
|
177
177
|
|
178
|
+
type JSXComponent<Props = any> = {
|
179
|
+
new (): ComponentPublicInstance<Props>;
|
180
|
+
} | FunctionalComponent<Props>;
|
178
181
|
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
179
182
|
declare const IconValue: PropType<IconValue>;
|
180
183
|
interface IconAliases {
|
@@ -446,14 +449,14 @@ declare namespace createVuetify {
|
|
446
449
|
}
|
447
450
|
declare const version: string;
|
448
451
|
|
449
|
-
export { type Blueprint, type DateInstance, DateModule, type DateOptions, type DefaultsInstance, type DisplayBreakpoint, type DisplayInstance, type DisplayThresholds, type GoToInstance, type IconAliases, type IconOptions, type IconProps, type IconSet, type LocaleInstance, type LocaleMessages, type LocaleOptions, type RtlInstance, type RtlOptions, type SubmitEventPromise, type ThemeDefinition, type ThemeInstance, type VuetifyOptions, createVuetify, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|
452
|
+
export { type Blueprint, type DateInstance, DateModule, type DateOptions, type DefaultsInstance, type DisplayBreakpoint, type DisplayInstance, type DisplayThresholds, type GoToInstance, type IconAliases, type IconOptions, type IconProps, type IconSet, type JSXComponent, type LocaleInstance, type LocaleMessages, type LocaleOptions, type RtlInstance, type RtlOptions, type SubmitEventPromise, type ThemeDefinition, type ThemeInstance, type VuetifyOptions, createVuetify, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|
450
453
|
|
451
454
|
/* eslint-disable local-rules/sort-imports */
|
452
455
|
|
453
456
|
import 'vue/jsx'
|
454
|
-
import type {
|
455
|
-
|
457
|
+
import type { UnwrapNestedRefs, VNodeChild } from 'vue'
|
456
458
|
|
459
|
+
// These already exist in scope in the final bundle
|
457
460
|
|
458
461
|
declare global {
|
459
462
|
namespace JSX {
|
@@ -462,78 +465,98 @@ declare global {
|
|
462
465
|
}
|
463
466
|
}
|
464
467
|
}
|
465
|
-
|
468
|
+
|
469
|
+
declare module 'vue' {
|
470
|
+
interface Vuetify {
|
471
|
+
defaults: DefaultsInstance
|
472
|
+
display: UnwrapNestedRefs<DisplayInstance>
|
473
|
+
theme: UnwrapNestedRefs<ThemeInstance>
|
474
|
+
icons: IconOptions
|
475
|
+
locale: UnwrapNestedRefs<LocaleInstance & RtlInstance>
|
476
|
+
date: DateInstance
|
477
|
+
}
|
478
|
+
|
479
|
+
export interface ComponentCustomProperties {
|
480
|
+
$vuetify: Vuetify
|
481
|
+
}
|
482
|
+
export interface HTMLAttributes {
|
483
|
+
$children?: VNodeChild
|
484
|
+
}
|
485
|
+
export interface SVGAttributes {
|
486
|
+
$children?: VNodeChild
|
487
|
+
}
|
488
|
+
export interface GlobalComponents {
|
489
|
+
VApp: typeof import('vuetify/components')['VApp']
|
466
490
|
VAlert: typeof import('vuetify/components')['VAlert']
|
467
491
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
468
|
-
|
492
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
469
493
|
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
470
|
-
VAppBar: typeof import('vuetify/components')['VAppBar']
|
471
|
-
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
472
|
-
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
473
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
474
|
-
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
475
|
-
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
476
|
-
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
477
|
-
VBadge: typeof import('vuetify/components')['VBadge']
|
478
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
479
494
|
VBanner: typeof import('vuetify/components')['VBanner']
|
480
495
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
481
496
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
482
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
483
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
484
497
|
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
498
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
499
|
+
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
500
|
+
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
501
|
+
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
502
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
485
503
|
VCard: typeof import('vuetify/components')['VCard']
|
486
504
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
487
505
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
488
506
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
489
507
|
VCardText: typeof import('vuetify/components')['VCardText']
|
490
508
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
491
|
-
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
492
|
-
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
493
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
494
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
495
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
496
509
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
497
|
-
VChip: typeof import('vuetify/components')['VChip']
|
498
510
|
VCode: typeof import('vuetify/components')['VCode']
|
511
|
+
VChip: typeof import('vuetify/components')['VChip']
|
512
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
513
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
499
514
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
500
|
-
|
515
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
516
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
501
517
|
VCounter: typeof import('vuetify/components')['VCounter']
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
|
506
|
-
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
507
|
-
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
508
|
-
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
509
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
518
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
519
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
520
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
510
521
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
511
522
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
512
523
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
513
524
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
514
525
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
515
526
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
516
|
-
VField: typeof import('vuetify/components')['VField']
|
517
|
-
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
518
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
519
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
520
527
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
521
528
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
522
529
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
523
530
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
524
|
-
|
531
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
532
|
+
VDataTable: typeof import('vuetify/components')['VDataTable']
|
533
|
+
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
534
|
+
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
535
|
+
VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
|
536
|
+
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
537
|
+
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
538
|
+
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
525
539
|
VFab: typeof import('vuetify/components')['VFab']
|
540
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
541
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
542
|
+
VField: typeof import('vuetify/components')['VField']
|
543
|
+
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
526
544
|
VFooter: typeof import('vuetify/components')['VFooter']
|
545
|
+
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
546
|
+
VItem: typeof import('vuetify/components')['VItem']
|
547
|
+
VInput: typeof import('vuetify/components')['VInput']
|
527
548
|
VIcon: typeof import('vuetify/components')['VIcon']
|
528
549
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
529
550
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
530
551
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
531
552
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
532
553
|
VImg: typeof import('vuetify/components')['VImg']
|
533
|
-
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
534
|
-
VItem: typeof import('vuetify/components')['VItem']
|
535
554
|
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
536
|
-
|
555
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
556
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
557
|
+
VMain: typeof import('vuetify/components')['VMain']
|
558
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
559
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
537
560
|
VList: typeof import('vuetify/components')['VList']
|
538
561
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
539
562
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -543,74 +566,69 @@ interface _GlobalComponents {
|
|
543
566
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
544
567
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
545
568
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
546
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
547
|
-
VKbd: typeof import('vuetify/components')['VKbd']
|
548
|
-
VMain: typeof import('vuetify/components')['VMain']
|
549
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
550
569
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
551
570
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
552
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
553
571
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
554
|
-
VPagination: typeof import('vuetify/components')['VPagination']
|
555
|
-
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
556
572
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
573
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
557
574
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
575
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
558
576
|
VRating: typeof import('vuetify/components')['VRating']
|
559
577
|
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
560
578
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
561
|
-
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
562
579
|
VSelect: typeof import('vuetify/components')['VSelect']
|
563
|
-
VSheet: typeof import('vuetify/components')['VSheet']
|
564
|
-
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
565
580
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
566
581
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
582
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
583
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
584
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
585
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
586
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
567
587
|
VStepper: typeof import('vuetify/components')['VStepper']
|
568
588
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
569
589
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
570
590
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
571
591
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
572
592
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
573
|
-
|
593
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
594
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
595
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
574
596
|
VTab: typeof import('vuetify/components')['VTab']
|
575
597
|
VTabs: typeof import('vuetify/components')['VTabs']
|
576
598
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
577
599
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
578
|
-
VSwitch: typeof import('vuetify/components')['VSwitch']
|
579
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
580
600
|
VTable: typeof import('vuetify/components')['VTable']
|
581
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
582
|
-
VTimeline: typeof import('vuetify/components')['VTimeline']
|
583
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
584
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
585
601
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
586
602
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
587
603
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
588
604
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
605
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
589
606
|
VWindow: typeof import('vuetify/components')['VWindow']
|
590
607
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
608
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
591
609
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
592
610
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
593
611
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
594
612
|
VForm: typeof import('vuetify/components')['VForm']
|
613
|
+
VHover: typeof import('vuetify/components')['VHover']
|
595
614
|
VContainer: typeof import('vuetify/components')['VContainer']
|
596
615
|
VCol: typeof import('vuetify/components')['VCol']
|
597
616
|
VRow: typeof import('vuetify/components')['VRow']
|
598
617
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
599
|
-
VHover: typeof import('vuetify/components')['VHover']
|
600
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
601
618
|
VLayout: typeof import('vuetify/components')['VLayout']
|
602
619
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
620
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
603
621
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
604
|
-
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
605
622
|
VParallax: typeof import('vuetify/components')['VParallax']
|
606
623
|
VRadio: typeof import('vuetify/components')['VRadio']
|
607
|
-
|
624
|
+
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
608
625
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
609
|
-
|
626
|
+
VResponsive: typeof import('vuetify/components')['VResponsive']
|
610
627
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
628
|
+
VSparkline: typeof import('vuetify/components')['VSparkline']
|
611
629
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
612
|
-
VValidation: typeof import('vuetify/components')['VValidation']
|
613
630
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
631
|
+
VValidation: typeof import('vuetify/components')['VValidation']
|
614
632
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
615
633
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
616
634
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
@@ -627,55 +645,31 @@ interface _GlobalComponents {
|
|
627
645
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
628
646
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
629
647
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
648
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
649
|
+
VAppBar: typeof import('vuetify/components')['VAppBar']
|
650
|
+
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
651
|
+
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
652
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
653
|
+
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
654
|
+
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
655
|
+
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
656
|
+
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
630
657
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
631
658
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
632
659
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
633
660
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
634
661
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
635
662
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
636
|
-
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
637
663
|
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
638
664
|
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
639
665
|
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
640
666
|
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
641
667
|
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
642
|
-
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
643
|
-
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
644
|
-
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
645
668
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
646
669
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
647
670
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
648
671
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
649
672
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
650
673
|
VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
|
651
|
-
}
|
652
|
-
declare module 'vue' {
|
653
|
-
export type JSXComponent<Props = any> = { new (): ComponentPublicInstance<Props> } | FunctionalComponent<Props>
|
654
|
-
export interface GlobalComponents extends _GlobalComponents {}
|
655
|
-
}
|
656
|
-
|
657
|
-
declare module '@vue/runtime-dom' {
|
658
|
-
export interface HTMLAttributes {
|
659
|
-
$children?: VNodeChild
|
660
|
-
}
|
661
|
-
export interface SVGAttributes {
|
662
|
-
$children?: VNodeChild
|
663
|
-
}
|
664
|
-
export interface GlobalComponents extends _GlobalComponents {}
|
665
|
-
}
|
666
|
-
|
667
|
-
declare module '@vue/runtime-core' {
|
668
|
-
interface Vuetify {
|
669
|
-
defaults: DefaultsInstance
|
670
|
-
display: UnwrapNestedRefs<DisplayInstance>
|
671
|
-
theme: UnwrapNestedRefs<ThemeInstance>
|
672
|
-
icons: IconOptions
|
673
|
-
locale: UnwrapNestedRefs<LocaleInstance & RtlInstance>
|
674
|
-
date: DateInstance
|
675
|
-
}
|
676
|
-
|
677
|
-
export interface ComponentCustomProperties {
|
678
|
-
$vuetify: Vuetify
|
679
674
|
}
|
680
|
-
export interface GlobalComponents extends _GlobalComponents {}
|
681
675
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as vue from 'vue';
|
2
|
-
import { ComponentPropsOptions, ExtractPropTypes, PropType,
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent } from 'vue';
|
3
3
|
|
4
4
|
type ClassValue = any;
|
5
5
|
|
@@ -38,6 +38,9 @@ interface ValidationProps {
|
|
38
38
|
validationValue: any;
|
39
39
|
}
|
40
40
|
|
41
|
+
type JSXComponent<Props = any> = {
|
42
|
+
new (): ComponentPublicInstance<Props>;
|
43
|
+
} | FunctionalComponent<Props>;
|
41
44
|
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
42
45
|
declare const IconValue: PropType<IconValue>;
|
43
46
|
|
@@ -53,7 +53,13 @@ export const VNumberInput = genericComponent()({
|
|
53
53
|
const model = computed({
|
54
54
|
get: () => _model.value,
|
55
55
|
set(val) {
|
56
|
-
if (
|
56
|
+
if (val === null) {
|
57
|
+
_model.value = null;
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
if (!isNaN(+val) && +val <= props.max && +val >= props.min) {
|
61
|
+
_model.value = +val;
|
62
|
+
}
|
57
63
|
}
|
58
64
|
});
|
59
65
|
const vTextFieldRef = ref();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VNumberInput.mjs","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useForm","forwardRefs","useProxiedModel","computed","nextTick","onMounted","ref","clamp","genericComponent","getDecimals","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","modelValue","Number","min","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","step","VNumberInput","name","props","emits","val","setup","_ref","slots","_model","model","get","value","set","vTextFieldRef","stepDecimals","modelDecimals","form","controlsDisabled","disabled","readonly","isReadonly","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","click","onClickUp","decrementSlotProps","onClickDown","clampModel","toggleUpDown","increment","arguments","length","undefined","decimals","Math","toFixed","e","stopPropagation","onBeforeinput","data","existingTxt","target","selectionStart","selectionEnd","potentialNewInputVal","slice","test","preventDefault","onKeydown","includes","key","ctrlKey","onControlMousedown","inputText","isNaN","_","textFieldProps","filterProps","incrementControlNode","_createVNode","flat","height","size","icon","decrementControlNode","decrement","controlNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","$event","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 { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref } 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 modelValue: {\n type: Number as PropType<Number | null>,\n default: null,\n },\n min: {\n type: Number,\n default: Number.MIN_SAFE_INTEGER,\n },\n max: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER,\n },\n step: {\n type: Number,\n default: 1,\n },\n\n ...omit(makeVTextFieldProps({}), ['appendInnerIcon', 'modelValue', 'prependInnerIcon']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { slots }) {\n const _model = useProxiedModel(props, 'modelValue')\n\n const model = computed({\n get: () => _model.value,\n set (val) {\n if (typeof val !== 'string') _model.value = val\n },\n })\n\n const vTextFieldRef = ref<VTextField | undefined>()\n\n const stepDecimals = computed(() => getDecimals(props.step))\n const modelDecimals = computed(() => typeof model.value === 'number' ? 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 return (model.value ?? 0) as number + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number - props.step >= props.min\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementIcon = computed(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = computed(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = computed(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = computed(() => ({ click: onClickUp }))\n\n const decrementSlotProps = computed(() => ({ click: onClickDown }))\n\n onMounted(() => {\n if (!props.readonly && !props.disabled) {\n clampModel()\n }\n })\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n model.value = clamp(0, props.min, props.max)\n return\n }\n\n const decimals = Math.max(modelDecimals.value, stepDecimals.value)\n if (increment) {\n if (canIncrease.value) model.value = +((((model.value as number) + props.step).toFixed(decimals)))\n } else {\n if (canDecrease.value) model.value = +((((model.value as number) - 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 onBeforeinput (e: InputEvent) {\n if (!e.data) return\n const existingTxt = (e.target as HTMLInputElement)?.value\n const selectionStart = (e.target as HTMLInputElement)?.selectionStart\n const selectionEnd = (e.target as HTMLInputElement)?.selectionEnd\n const potentialNewInputVal =\n existingTxt\n ? existingTxt.slice(0, selectionStart as number | undefined) + e.data + existingTxt.slice(selectionEnd as number | undefined)\n : e.data\n // Only numbers, \"-\", \".\" are allowed\n // AND \"-\", \".\" are allowed only once\n // AND \"-\" is only allowed at the start\n if (!/^-?(\\d+(\\.\\d*)?|(\\.\\d+)|\\d*|\\.)$/.test(potentialNewInputVal)) {\n e.preventDefault()\n }\n }\n\n async function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n clampModel()\n // _model is controlled, so need to wait until props['modelValue'] is updated\n await nextTick()\n if (e.key === 'ArrowDown') {\n toggleUpDown(false)\n } else {\n toggleUpDown()\n }\n }\n }\n\n function onControlMousedown (e: MouseEvent) {\n e.stopPropagation()\n }\n\n function clampModel () {\n if (!vTextFieldRef.value) return\n const inputText = vTextFieldRef.value.value\n if (inputText && !isNaN(+inputText)) {\n model.value = clamp(+(inputText), props.min, props.max)\n } else {\n model.value = null\n }\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n disabled={ !canIncrease.value }\n flat\n key=\"increment-btn\"\n height={ controlNodeDefaultHeight.value }\n name=\"increment-btn\"\n icon={ incrementIcon.value }\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n },\n }}\n >\n { slots.increment(incrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n disabled={ !canDecrease.value }\n flat\n key=\"decrement-btn\"\n height={ controlNodeDefaultHeight.value }\n name=\"decrement-btn\"\n icon={ decrementIcon.value }\n size={ controlNodeSize.value }\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: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n },\n }}\n >\n { slots.decrement(decrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function controlNode () {\n return (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n { incrementControlNode() }\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 { incrementControlNode() }\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 { decrementControlNode() }\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 ref={ vTextFieldRef }\n v-model={ model.value }\n onBeforeinput={ onBeforeinput }\n onChange={ clampModel }\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 return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VNumberInput.mjs","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useForm","forwardRefs","useProxiedModel","computed","nextTick","onMounted","ref","clamp","genericComponent","getDecimals","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","modelValue","Number","min","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","step","VNumberInput","name","props","emits","val","setup","_ref","slots","_model","model","get","value","set","isNaN","vTextFieldRef","stepDecimals","modelDecimals","form","controlsDisabled","disabled","readonly","isReadonly","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","click","onClickUp","decrementSlotProps","onClickDown","clampModel","toggleUpDown","increment","arguments","length","undefined","decimals","Math","toFixed","e","stopPropagation","onBeforeinput","data","existingTxt","target","selectionStart","selectionEnd","potentialNewInputVal","slice","test","preventDefault","onKeydown","includes","key","ctrlKey","onControlMousedown","inputText","_","textFieldProps","filterProps","incrementControlNode","_createVNode","flat","height","size","icon","decrementControlNode","decrement","controlNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","$event","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 { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref } 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 modelValue: {\n type: Number as PropType<Number | null>,\n default: null,\n },\n min: {\n type: Number,\n default: Number.MIN_SAFE_INTEGER,\n },\n max: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER,\n },\n step: {\n type: Number,\n default: 1,\n },\n\n ...omit(makeVTextFieldProps({}), ['appendInnerIcon', 'modelValue', 'prependInnerIcon']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { slots }) {\n const _model = useProxiedModel(props, 'modelValue')\n\n const model = computed({\n get: () => _model.value,\n set (val) {\n if (val === null) {\n _model.value = null\n return\n }\n\n if (!isNaN(+val) && +val <= props.max && +val >= props.min) {\n _model.value = +val\n }\n },\n })\n\n const vTextFieldRef = ref<VTextField | undefined>()\n\n const stepDecimals = computed(() => getDecimals(props.step))\n const modelDecimals = computed(() => typeof model.value === 'number' ? 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 return (model.value ?? 0) as number + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number - props.step >= props.min\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementIcon = computed(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = computed(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = computed(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = computed(() => ({ click: onClickUp }))\n\n const decrementSlotProps = computed(() => ({ click: onClickDown }))\n\n onMounted(() => {\n if (!props.readonly && !props.disabled) {\n clampModel()\n }\n })\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n model.value = clamp(0, props.min, props.max)\n return\n }\n\n const decimals = Math.max(modelDecimals.value, stepDecimals.value)\n if (increment) {\n if (canIncrease.value) model.value = +((((model.value as number) + props.step).toFixed(decimals)))\n } else {\n if (canDecrease.value) model.value = +((((model.value as number) - 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 onBeforeinput (e: InputEvent) {\n if (!e.data) return\n const existingTxt = (e.target as HTMLInputElement)?.value\n const selectionStart = (e.target as HTMLInputElement)?.selectionStart\n const selectionEnd = (e.target as HTMLInputElement)?.selectionEnd\n const potentialNewInputVal =\n existingTxt\n ? existingTxt.slice(0, selectionStart as number | undefined) + e.data + existingTxt.slice(selectionEnd as number | undefined)\n : e.data\n // Only numbers, \"-\", \".\" are allowed\n // AND \"-\", \".\" are allowed only once\n // AND \"-\" is only allowed at the start\n if (!/^-?(\\d+(\\.\\d*)?|(\\.\\d+)|\\d*|\\.)$/.test(potentialNewInputVal)) {\n e.preventDefault()\n }\n }\n\n async function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n clampModel()\n // _model is controlled, so need to wait until props['modelValue'] is updated\n await nextTick()\n if (e.key === 'ArrowDown') {\n toggleUpDown(false)\n } else {\n toggleUpDown()\n }\n }\n }\n\n function onControlMousedown (e: MouseEvent) {\n e.stopPropagation()\n }\n\n function clampModel () {\n if (!vTextFieldRef.value) return\n const inputText = vTextFieldRef.value.value\n if (inputText && !isNaN(+inputText)) {\n model.value = clamp(+(inputText), props.min, props.max)\n } else {\n model.value = null\n }\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n disabled={ !canIncrease.value }\n flat\n key=\"increment-btn\"\n height={ controlNodeDefaultHeight.value }\n name=\"increment-btn\"\n icon={ incrementIcon.value }\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n },\n }}\n >\n { slots.increment(incrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n disabled={ !canDecrease.value }\n flat\n key=\"decrement-btn\"\n height={ controlNodeDefaultHeight.value }\n name=\"decrement-btn\"\n icon={ decrementIcon.value }\n size={ controlNodeSize.value }\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: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n },\n }}\n >\n { slots.decrement(decrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function controlNode () {\n return (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n { incrementControlNode() }\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 { incrementControlNode() }\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 { decrementControlNode() }\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 ref={ vTextFieldRef }\n v-model={ model.value }\n onBeforeinput={ onBeforeinput }\n onChange={ clampModel }\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 return forwardRefs({}, vTextFieldRef)\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,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,GAAG,QAAQ,KAAK;AAAA,SAC/CC,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,UAAU,EAAE;IACVN,IAAI,EAAEO,MAAiC;IACvCL,OAAO,EAAE;EACX,CAAC;EACDM,GAAG,EAAE;IACHR,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAEK,MAAM,CAACE;EAClB,CAAC;EACDC,GAAG,EAAE;IACHV,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAEK,MAAM,CAACI;EAClB,CAAC;EACDC,IAAI,EAAE;IACJZ,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAE;EACX,CAAC;EAED,GAAGP,IAAI,CAACZ,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,CAAC;AACxF,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAM8B,YAAY,GAAGpB,gBAAgB,CAAoB,CAAC,CAAC;EAChEqB,IAAI,EAAE,cAAc;EAEpBC,KAAK,EAAE;IACL,GAAGjB,qBAAqB,CAAC;EAC3B,CAAC;EAEDkB,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAW,IAAK;EACxC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,MAAM,GAAGlC,eAAe,CAAC4B,KAAK,EAAE,YAAY,CAAC;IAEnD,MAAMO,KAAK,GAAGlC,QAAQ,CAAC;MACrBmC,GAAG,EAAEA,CAAA,KAAMF,MAAM,CAACG,KAAK;MACvBC,GAAGA,CAAER,GAAG,EAAE;QACR,IAAIA,GAAG,KAAK,IAAI,EAAE;UAChBI,MAAM,CAACG,KAAK,GAAG,IAAI;UACnB;QACF;QAEA,IAAI,CAACE,KAAK,CAAC,CAACT,GAAG,CAAC,IAAI,CAACA,GAAG,IAAIF,KAAK,CAACL,GAAG,IAAI,CAACO,GAAG,IAAIF,KAAK,CAACP,GAAG,EAAE;UAC1Da,MAAM,CAACG,KAAK,GAAG,CAACP,GAAG;QACrB;MACF;IACF,CAAC,CAAC;IAEF,MAAMU,aAAa,GAAGpC,GAAG,CAAyB,CAAC;IAEnD,MAAMqC,YAAY,GAAGxC,QAAQ,CAAC,MAAMM,WAAW,CAACqB,KAAK,CAACH,IAAI,CAAC,CAAC;IAC5D,MAAMiB,aAAa,GAAGzC,QAAQ,CAAC,MAAM,OAAOkC,KAAK,CAACE,KAAK,KAAK,QAAQ,GAAG9B,WAAW,CAAC4B,KAAK,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC;IAEpG,MAAMM,IAAI,GAAG7C,OAAO,CAAC,CAAC;IACtB,MAAM8C,gBAAgB,GAAG3C,QAAQ,CAAC,MAChC2B,KAAK,CAACiB,QAAQ,IAAIjB,KAAK,CAACkB,QAAQ,IAAIH,IAAI,EAAEI,UAAU,CAACV,KACtD,CAAC;IAEF,MAAMW,WAAW,GAAG/C,QAAQ,CAAC,MAAM;MACjC,IAAI2C,gBAAgB,CAACP,KAAK,EAAE,OAAO,KAAK;MACxC,OAAO,CAACF,KAAK,CAACE,KAAK,IAAI,CAAC,IAAcT,KAAK,CAACH,IAAI,IAAIG,KAAK,CAACL,GAAG;IAC/D,CAAC,CAAC;IACF,MAAM0B,WAAW,GAAGhD,QAAQ,CAAC,MAAM;MACjC,IAAI2C,gBAAgB,CAACP,KAAK,EAAE,OAAO,KAAK;MACxC,OAAO,CAACF,KAAK,CAACE,KAAK,IAAI,CAAC,IAAcT,KAAK,CAACH,IAAI,IAAIG,KAAK,CAACP,GAAG;IAC/D,CAAC,CAAC;IAEF,MAAMT,cAAc,GAAGX,QAAQ,CAAC,MAAM;MACpC,OAAO2B,KAAK,CAACV,SAAS,GAAG,SAAS,GAAGU,KAAK,CAAChB,cAAc;IAC3D,CAAC,CAAC;IAEF,MAAMsC,aAAa,GAAGjD,QAAQ,CAAC,MAAMW,cAAc,CAACyB,KAAK,KAAK,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;IAC9F,MAAMc,aAAa,GAAGlD,QAAQ,CAAC,MAAMW,cAAc,CAACyB,KAAK,KAAK,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7F,MAAMe,eAAe,GAAGnD,QAAQ,CAAC,MAAMW,cAAc,CAACyB,KAAK,KAAK,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9F,MAAMgB,wBAAwB,GAAGpD,QAAQ,CAAC,MAAMW,cAAc,CAACyB,KAAK,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAErG,MAAMiB,kBAAkB,GAAGrD,QAAQ,CAAC,OAAO;MAAEsD,KAAK,EAAEC;IAAU,CAAC,CAAC,CAAC;IAEjE,MAAMC,kBAAkB,GAAGxD,QAAQ,CAAC,OAAO;MAAEsD,KAAK,EAAEG;IAAY,CAAC,CAAC,CAAC;IAEnEvD,SAAS,CAAC,MAAM;MACd,IAAI,CAACyB,KAAK,CAACkB,QAAQ,IAAI,CAAClB,KAAK,CAACiB,QAAQ,EAAE;QACtCc,UAAU,CAAC,CAAC;MACd;IACF,CAAC,CAAC;IAEF,SAASC,YAAYA,CAAA,EAAoB;MAAA,IAAlBC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MACrC,IAAIlB,gBAAgB,CAACP,KAAK,EAAE;MAC5B,IAAIF,KAAK,CAACE,KAAK,IAAI,IAAI,EAAE;QACvBF,KAAK,CAACE,KAAK,GAAGhC,KAAK,CAAC,CAAC,EAAEuB,KAAK,CAACP,GAAG,EAAEO,KAAK,CAACL,GAAG,CAAC;QAC5C;MACF;MAEA,MAAM0C,QAAQ,GAAGC,IAAI,CAAC3C,GAAG,CAACmB,aAAa,CAACL,KAAK,EAAEI,YAAY,CAACJ,KAAK,CAAC;MAClE,IAAIwB,SAAS,EAAE;QACb,IAAIb,WAAW,CAACX,KAAK,EAAEF,KAAK,CAACE,KAAK,GAAG,CAAG,CAAEF,KAAK,CAACE,KAAK,GAAcT,KAAK,CAACH,IAAI,EAAE0C,OAAO,CAACF,QAAQ,CAAG;MACpG,CAAC,MAAM;QACL,IAAIhB,WAAW,CAACZ,KAAK,EAAEF,KAAK,CAACE,KAAK,GAAG,CAAG,CAAEF,KAAK,CAACE,KAAK,GAAcT,KAAK,CAACH,IAAI,EAAE0C,OAAO,CAACF,QAAQ,CAAG;MACpG;IACF;IAEA,SAAST,SAASA,CAAEY,CAAa,EAAE;MACjCA,CAAC,CAACC,eAAe,CAAC,CAAC;MACnBT,YAAY,CAAC,CAAC;IAChB;IAEA,SAASF,WAAWA,CAAEU,CAAa,EAAE;MACnCA,CAAC,CAACC,eAAe,CAAC,CAAC;MACnBT,YAAY,CAAC,KAAK,CAAC;IACrB;IAEA,SAASU,aAAaA,CAAEF,CAAa,EAAE;MACrC,IAAI,CAACA,CAAC,CAACG,IAAI,EAAE;MACb,MAAMC,WAAW,GAAIJ,CAAC,CAACK,MAAM,EAAuBpC,KAAK;MACzD,MAAMqC,cAAc,GAAIN,CAAC,CAACK,MAAM,EAAuBC,cAAc;MACrE,MAAMC,YAAY,GAAIP,CAAC,CAACK,MAAM,EAAuBE,YAAY;MACjE,MAAMC,oBAAoB,GACxBJ,WAAW,GACPA,WAAW,CAACK,KAAK,CAAC,CAAC,EAAEH,cAAoC,CAAC,GAAGN,CAAC,CAACG,IAAI,GAAGC,WAAW,CAACK,KAAK,CAACF,YAAkC,CAAC,GAC3HP,CAAC,CAACG,IAAI;MACZ;MACA;MACA;MACA,IAAI,CAAC,kCAAkC,CAACO,IAAI,CAACF,oBAAoB,CAAC,EAAE;QAClER,CAAC,CAACW,cAAc,CAAC,CAAC;MACpB;IACF;IAEA,eAAeC,SAASA,CAAEZ,CAAgB,EAAE;MAC1C,IACE,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAACa,QAAQ,CAACb,CAAC,CAACc,GAAG,CAAC,IAClFd,CAAC,CAACe,OAAO,EACT;MAEF,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAACF,QAAQ,CAACb,CAAC,CAACc,GAAG,CAAC,EAAE;QAC5Cd,CAAC,CAACW,cAAc,CAAC,CAAC;QAClBpB,UAAU,CAAC,CAAC;QACZ;QACA,MAAMzD,QAAQ,CAAC,CAAC;QAChB,IAAIkE,CAAC,CAACc,GAAG,KAAK,WAAW,EAAE;UACzBtB,YAAY,CAAC,KAAK,CAAC;QACrB,CAAC,MAAM;UACLA,YAAY,CAAC,CAAC;QAChB;MACF;IACF;IAEA,SAASwB,kBAAkBA,CAAEhB,CAAa,EAAE;MAC1CA,CAAC,CAACC,eAAe,CAAC,CAAC;IACrB;IAEA,SAASV,UAAUA,CAAA,EAAI;MACrB,IAAI,CAACnB,aAAa,CAACH,KAAK,EAAE;MAC1B,MAAMgD,SAAS,GAAG7C,aAAa,CAACH,KAAK,CAACA,KAAK;MAC3C,IAAIgD,SAAS,IAAI,CAAC9C,KAAK,CAAC,CAAC8C,SAAS,CAAC,EAAE;QACnClD,KAAK,CAACE,KAAK,GAAGhC,KAAK,CAAC,CAAEgF,SAAU,EAAEzD,KAAK,CAACP,GAAG,EAAEO,KAAK,CAACL,GAAG,CAAC;MACzD,CAAC,MAAM;QACLY,KAAK,CAACE,KAAK,GAAG,IAAI;MACpB;IACF;IAEA3B,SAAS,CAAC,MAAM;MACd,MAAM;QAAES,UAAU,EAAEmE,CAAC;QAAE,GAAGC;MAAe,CAAC,GAAG1F,UAAU,CAAC2F,WAAW,CAAC5D,KAAK,CAAC;MAE1E,SAAS6D,oBAAoBA,CAAA,EAAI;QAC/B,OAAO,CAACxD,KAAK,CAAC4B,SAAS,GAAA6B,YAAA,CAAAjG,IAAA;UAAA,YAER,CAACuD,WAAW,CAACX,KAAK;UAAA;UAAA;UAAA,UAGpBgB,wBAAwB,CAAChB,KAAK;UAAA;UAAA,QAEhCa,aAAa,CAACb,KAAK;UAAA,WAChBmB,SAAS;UAAA,eACL4B,kBAAkB;UAAA,QACzBhC,eAAe,CAACf,KAAK;UAAA;QAAA,WAAAqD,YAAA,CAAAhG,iBAAA;UAAA;UAAA,YAMlB;YACRD,IAAI,EAAE;cACJoD,QAAQ,EAAE,CAACG,WAAW,CAACX,KAAK;cAC5BsD,IAAI,EAAE,IAAI;cACVC,MAAM,EAAEvC,wBAAwB,CAAChB,KAAK;cACtCwD,IAAI,EAAEzC,eAAe,CAACf,KAAK;cAC3ByD,IAAI,EAAE5C,aAAa,CAACb;YACtB;UACF;QAAC;UAAAtB,OAAA,EAAAA,CAAA,MAECkB,KAAK,CAAC4B,SAAS,CAACP,kBAAkB,CAACjB,KAAK,CAAC;QAAA,EAE9C;MACH;MAEA,SAAS0D,oBAAoBA,CAAA,EAAI;QAC/B,OAAO,CAAC9D,KAAK,CAAC+D,SAAS,GAAAN,YAAA,CAAAjG,IAAA;UAAA,YAER,CAACwD,WAAW,CAACZ,KAAK;UAAA;UAAA;UAAA,UAGpBgB,wBAAwB,CAAChB,KAAK;UAAA;UAAA,QAEhCc,aAAa,CAACd,KAAK;UAAA,QACnBe,eAAe,CAACf,KAAK;UAAA;UAAA,WAElBqB,WAAW;UAAA,eACP0B;QAAkB,WAAAM,YAAA,CAAAhG,iBAAA;UAAA;UAAA,YAKtB;YACRD,IAAI,EAAE;cACJoD,QAAQ,EAAE,CAACI,WAAW,CAACZ,KAAK;cAC5BsD,IAAI,EAAE,IAAI;cACVC,MAAM,EAAEvC,wBAAwB,CAAChB,KAAK;cACtCwD,IAAI,EAAEzC,eAAe,CAACf,KAAK;cAC3ByD,IAAI,EAAE3C,aAAa,CAACd;YACtB;UACF;QAAC;UAAAtB,OAAA,EAAAA,CAAA,MAECkB,KAAK,CAAC+D,SAAS,CAACvC,kBAAkB,CAACpB,KAAK,CAAC;QAAA,EAE9C;MACH;MAEA,SAAS4D,WAAWA,CAAA,EAAI;QACtB,OAAAP,YAAA;UAAA;QAAA,IAEMK,oBAAoB,CAAC,CAAC,EAAAL,YAAA,CAAA/F,QAAA;UAAA,YAGXiB,cAAc,CAACyB,KAAK,KAAK;QAAS,UAG7CoD,oBAAoB,CAAC,CAAC;MAG9B;MAEA,SAASS,WAAWA,CAAA,EAAI;QACtB,OAAO,CAACtE,KAAK,CAACV,SAAS,IAAI,CAACU,KAAK,CAACZ,KAAK,GAAA0E,YAAA,CAAA/F,QAAA;UAAA;QAAA,WAA2BqE,SAAS;MAC7E;MAEA,MAAMmC,kBAAkB,GACtBvF,cAAc,CAACyB,KAAK,KAAK,OAAO,GAAAqD,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAA/F,QAAA;QAAA;MAAA,UAKxB8F,oBAAoB,CAAC,CAAC,KAEvB,CAAC7D,KAAK,CAACwE,OAAO,GAAAV,YAAA,CAAAW,SAAA,SACXH,WAAW,CAAC,CAAC,EAAID,WAAW,CAAC,CAAC,KAClCjC,SAAU;MAElB,MAAMsC,cAAc,GAAGrE,KAAK,CAAC,cAAc,CAAC,IAAIkE,kBAAkB;MAElE,MAAMI,mBAAmB,GACvB3F,cAAc,CAACyB,KAAK,KAAK,OAAO,GAAAqD,YAAA;QAAA;MAAA,IAGxBK,oBAAoB,CAAC,CAAC,EAAAL,YAAA,CAAA/F,QAAA;QAAA;MAAA,aAIvBiC,KAAK,CAACwE,OAAO,GAAAV,YAAA,CAAAW,SAAA,SACVJ,WAAW,CAAC,CAAC,EAAIC,WAAW,CAAC,CAAC,KAClClC,SAAU;MAElB,MAAMwC,eAAe,GAAGvE,KAAK,CAAC,eAAe,CAAC,IAAIsE,mBAAmB;MAErE,OAAAb,YAAA,CAAA7F,UAAA,EAAA4G,WAAA;QAAA,OAEUjE,aAAa;QAAA,cACTL,KAAK,CAACE,KAAK;QAAA,uBAAAqE,MAAA,IAAXvE,KAAK,CAACE,KAAK,GAAAqE,MAAA;QAAA,iBACLpC,aAAa;QAAA,YAClBX,UAAU;QAAA,aACTqB,SAAS;QAAA,SACd,CACL,gBAAgB,EAChB;UACE,yBAAyB,EAAEpE,cAAc,CAACyB,KAAK,KAAK,SAAS;UAC7D,4BAA4B,EAAET,KAAK,CAACV,SAAS;UAC7C,uBAAuB,EAAEU,KAAK,CAACZ,KAAK;UACpC,yBAAyB,EAAEY,KAAK,CAACwE,OAAO;UACxC,uBAAuB,EAAExF,cAAc,CAACyB,KAAK,KAAK,OAAO;UACzD,yBAAyB,EAAEzB,cAAc,CAACyB,KAAK,KAAK;QACtD,CAAC,EACDT,KAAK,CAAC+E,KAAK;MACZ,GACIpB,cAAc;QAAA,SACX3D,KAAK,CAACgF,KAAK;QAAA;MAAA;QAIjB,GAAG3E,KAAK;QACR,cAAc,EAAEqE,cAAc,GAAG;UAAA,SAAAO,IAAA,GAAA/C,SAAA,CAAAC,MAAA,EAAI+C,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAAlD,SAAA,CAAAkD,IAAA;UAAA;UAAA,OAAAtB,YAAA,CAAAW,SAAA,SAEnCpE,KAAK,CAAC,cAAc,CAAC,GAAG,GAAG6E,IAAI,CAAC,EAChCX,kBAAkB;QAAA,CAEvB,GAAGnC,SAAS;QACb,eAAe,EAAEwC,eAAe,GAAG;UAAA,SAAAS,KAAA,GAAAnD,SAAA,CAAAC,MAAA,EAAI+C,IAAI,OAAAC,KAAA,CAAAE,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;YAAJJ,IAAI,CAAAI,KAAA,IAAApD,SAAA,CAAAoD,KAAA;UAAA;UAAA,OAAAxB,YAAA,CAAAW,SAAA,SAErCE,mBAAmB,EACnBtE,KAAK,CAAC,eAAe,CAAC,GAAG,GAAG6E,IAAI,CAAC;QAAA,CAEtC,GAAG9C;MAAS;IAIrB,CAAC,CAAC;IAEF,OAAOjE,WAAW,CAAC,CAAC,CAAC,EAAEyC,aAAa,CAAC;EACvC;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as vue from 'vue';
|
2
|
-
import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, PropType,
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, PropType, ComponentPublicInstance, FunctionalComponent, ComputedRef, Ref, nextTick } from 'vue';
|
3
3
|
|
4
4
|
type ClassValue = any;
|
5
5
|
|
@@ -68,6 +68,9 @@ interface ValidationProps {
|
|
68
68
|
validationValue: any;
|
69
69
|
}
|
70
70
|
|
71
|
+
type JSXComponent<Props = any> = {
|
72
|
+
new (): ComponentPublicInstance<Props>;
|
73
|
+
} | FunctionalComponent<Props>;
|
71
74
|
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
72
75
|
declare const IconValue: PropType<IconValue>;
|
73
76
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as vue from 'vue';
|
2
|
-
import { ComponentPropsOptions, ExtractPropTypes,
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, DirectiveBinding } from 'vue';
|
3
3
|
|
4
4
|
interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
|
5
5
|
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
|
@@ -7,6 +7,9 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
7
7
|
|
8
8
|
type ClassValue = any;
|
9
9
|
|
10
|
+
type JSXComponent<Props = any> = {
|
11
|
+
new (): ComponentPublicInstance<Props>;
|
12
|
+
} | FunctionalComponent<Props>;
|
10
13
|
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
11
14
|
declare const IconValue: PropType<IconValue>;
|
12
15
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as vue from 'vue';
|
2
|
-
import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode,
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, PropType, ComponentPublicInstance, FunctionalComponent, DirectiveBinding } from 'vue';
|
3
3
|
// @ts-ignore
|
4
4
|
import * as vue_router from 'vue-router';
|
5
5
|
|
@@ -42,6 +42,9 @@ type Density = null | 'default' | 'comfortable' | 'compact';
|
|
42
42
|
declare const allowedVariants: readonly ["elevated", "flat", "tonal", "outlined", "text", "plain"];
|
43
43
|
type Variant = typeof allowedVariants[number];
|
44
44
|
|
45
|
+
type JSXComponent<Props = any> = {
|
46
|
+
new (): ComponentPublicInstance<Props>;
|
47
|
+
} | FunctionalComponent<Props>;
|
45
48
|
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
46
49
|
declare const IconValue: PropType<IconValue>;
|
47
50
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as vue from 'vue';
|
2
|
-
import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, PropType, ComponentPublicInstance,
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, PropType, ComponentPublicInstance, FunctionalComponent, ComputedRef, Ref, nextTick, DirectiveBinding, EffectScope } from 'vue';
|
3
3
|
// @ts-ignore
|
4
4
|
import * as vue_router from 'vue-router';
|
5
5
|
|
@@ -1822,6 +1822,9 @@ interface ValidationProps {
|
|
1822
1822
|
validationValue: any;
|
1823
1823
|
}
|
1824
1824
|
|
1825
|
+
type JSXComponent<Props = any> = {
|
1826
|
+
new (): ComponentPublicInstance<Props>;
|
1827
|
+
} | FunctionalComponent<Props>;
|
1825
1828
|
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
1826
1829
|
declare const IconValue: PropType<IconValue>;
|
1827
1830
|
|
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.7.0-
|
4
|
+
"version": "3.7.0-master.2024-08-17",
|
5
5
|
"author": {
|
6
6
|
"name": "John Leider",
|
7
7
|
"email": "john@vuetifyjs.com"
|
@@ -181,16 +181,12 @@
|
|
181
181
|
"typescript": ">=4.7",
|
182
182
|
"vite-plugin-vuetify": ">=1.0.0",
|
183
183
|
"vue": "^3.3.0",
|
184
|
-
"vue-i18n": "^9.0.0",
|
185
184
|
"webpack-plugin-vuetify": ">=2.0.0"
|
186
185
|
},
|
187
186
|
"peerDependenciesMeta": {
|
188
187
|
"typescript": {
|
189
188
|
"optional": true
|
190
189
|
},
|
191
|
-
"vue-i18n": {
|
192
|
-
"optional": true
|
193
|
-
},
|
194
190
|
"webpack-plugin-vuetify": {
|
195
191
|
"optional": true
|
196
192
|
},
|