@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.
Files changed (85) hide show
  1. package/dist/json/attributes.json +267 -267
  2. package/dist/json/importMap-labs.json +16 -16
  3. package/dist/json/importMap.json +194 -194
  4. package/dist/json/web-types.json +400 -400
  5. package/dist/vuetify-labs.css +4425 -4425
  6. package/dist/vuetify-labs.d.ts +5 -2
  7. package/dist/vuetify-labs.esm.js +10 -4
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +10 -4
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +1723 -1723
  12. package/dist/vuetify.d.ts +90 -96
  13. package/dist/vuetify.esm.js +3 -3
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +3 -3
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +3 -3
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.mts +4 -1
  21. package/lib/blueprints/md1.d.mts +4 -1
  22. package/lib/blueprints/md2.d.mts +4 -1
  23. package/lib/blueprints/md3.d.mts +4 -1
  24. package/lib/components/VAlert/index.d.mts +4 -1
  25. package/lib/components/VAppBar/index.d.mts +4 -1
  26. package/lib/components/VAutocomplete/index.d.mts +4 -1
  27. package/lib/components/VAvatar/index.d.mts +4 -1
  28. package/lib/components/VBadge/index.d.mts +4 -1
  29. package/lib/components/VBanner/index.d.mts +4 -1
  30. package/lib/components/VBreadcrumbs/index.d.mts +4 -1
  31. package/lib/components/VBtn/index.d.mts +4 -1
  32. package/lib/components/VCard/index.d.mts +4 -1
  33. package/lib/components/VCarousel/index.d.mts +4 -1
  34. package/lib/components/VCheckbox/index.d.mts +4 -1
  35. package/lib/components/VChip/index.d.mts +4 -1
  36. package/lib/components/VChipGroup/index.d.mts +4 -1
  37. package/lib/components/VCombobox/index.d.mts +4 -1
  38. package/lib/components/VDataTable/index.d.mts +4 -1
  39. package/lib/components/VDatePicker/index.d.mts +4 -1
  40. package/lib/components/VEmptyState/index.d.mts +4 -1
  41. package/lib/components/VExpansionPanel/index.d.mts +4 -1
  42. package/lib/components/VFab/index.d.mts +4 -1
  43. package/lib/components/VField/index.d.mts +4 -1
  44. package/lib/components/VFileInput/index.d.mts +4 -1
  45. package/lib/components/VIcon/index.d.mts +4 -1
  46. package/lib/components/VInput/index.d.mts +4 -1
  47. package/lib/components/VList/index.d.mts +4 -1
  48. package/lib/components/VPagination/index.d.mts +4 -1
  49. package/lib/components/VRadio/index.d.mts +4 -1
  50. package/lib/components/VRadioGroup/index.d.mts +4 -1
  51. package/lib/components/VRangeSlider/index.d.mts +4 -1
  52. package/lib/components/VRating/index.d.mts +4 -1
  53. package/lib/components/VSelect/index.d.mts +4 -1
  54. package/lib/components/VSelectionControl/index.d.mts +4 -1
  55. package/lib/components/VSelectionControlGroup/index.d.mts +4 -1
  56. package/lib/components/VSlideGroup/index.d.mts +4 -1
  57. package/lib/components/VSlider/index.d.mts +4 -1
  58. package/lib/components/VSwitch/index.d.mts +4 -1
  59. package/lib/components/VTabs/index.d.mts +4 -1
  60. package/lib/components/VTextField/index.d.mts +4 -1
  61. package/lib/components/VTextarea/index.d.mts +4 -1
  62. package/lib/components/VTimeline/index.d.mts +4 -1
  63. package/lib/components/VWindow/index.d.mts +4 -1
  64. package/lib/components/index.d.mts +4 -1
  65. package/lib/composables/icons.mjs.map +1 -1
  66. package/lib/composables/index.mjs.map +1 -1
  67. package/lib/entry-bundler.mjs +1 -1
  68. package/lib/entry-bundler.mjs.map +1 -1
  69. package/lib/framework.mjs +1 -1
  70. package/lib/framework.mjs.map +1 -1
  71. package/lib/iconsets/fa-svg.d.mts +4 -1
  72. package/lib/iconsets/fa.d.mts +4 -1
  73. package/lib/iconsets/fa4.d.mts +4 -1
  74. package/lib/iconsets/md.d.mts +4 -1
  75. package/lib/iconsets/mdi-svg.d.mts +4 -1
  76. package/lib/iconsets/mdi.d.mts +4 -1
  77. package/lib/index.d.mts +90 -96
  78. package/lib/labs/VDateInput/index.d.mts +4 -1
  79. package/lib/labs/VNumberInput/VNumberInput.mjs +7 -1
  80. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  81. package/lib/labs/VNumberInput/index.d.mts +4 -1
  82. package/lib/labs/VStepperVertical/index.d.mts +4 -1
  83. package/lib/labs/VTreeview/index.d.mts +4 -1
  84. package/lib/labs/components.d.mts +4 -1
  85. 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, JSXComponent, PropType, CSSProperties, App } from 'vue';
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 { FunctionalComponent, UnwrapNestedRefs, VNodeChild } from 'vue'
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
- interface _GlobalComponents {
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
- VApp: typeof import('vuetify/components')['VApp']
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
- VCombobox: typeof import('vuetify/components')['VCombobox']
515
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
516
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
501
517
  VCounter: typeof import('vuetify/components')['VCounter']
502
- VDataTable: typeof import('vuetify/components')['VDataTable']
503
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
504
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
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
- VFileInput: typeof import('vuetify/components')['VFileInput']
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
- VInput: typeof import('vuetify/components')['VInput']
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
- VSlider: typeof import('vuetify/components')['VSlider']
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
- VResponsive: typeof import('vuetify/components')['VResponsive']
624
+ VNoSsr: typeof import('vuetify/components')['VNoSsr']
608
625
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
609
- VSparkline: typeof import('vuetify/components')['VSparkline']
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, JSXComponent } from 'vue';
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 (typeof val !== 'string') _model.value = val;
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":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, PropType, JSXComponent, ComputedRef, Ref, nextTick } from 'vue';
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, JSXComponent, PropType, DirectiveBinding } from 'vue';
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, JSXComponent, PropType, DirectiveBinding } from 'vue';
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, JSXComponent, ComputedRef, Ref, nextTick, DirectiveBinding, EffectScope } from 'vue';
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-dev.2024-08-16",
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
  },