vuetify 3.5.3 → 3.5.5

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 (159) hide show
  1. package/dist/json/attributes.json +2771 -2523
  2. package/dist/json/importMap-labs.json +12 -8
  3. package/dist/json/importMap.json +100 -100
  4. package/dist/json/tags.json +236 -169
  5. package/dist/json/web-types.json +3218 -2563
  6. package/dist/vuetify-labs.css +2265 -2242
  7. package/dist/vuetify-labs.d.ts +1234 -152
  8. package/dist/vuetify-labs.esm.js +582 -88
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +582 -88
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +1316 -1293
  13. package/dist/vuetify.d.ts +894 -187
  14. package/dist/vuetify.esm.js +148 -87
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +148 -87
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +652 -647
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/index.d.mts +9 -0
  22. package/lib/components/VAppBar/index.d.mts +18 -0
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  25. package/lib/components/VAutocomplete/index.d.mts +33 -6
  26. package/lib/components/VAvatar/VAvatar.mjs +2 -2
  27. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  28. package/lib/components/VAvatar/index.d.mts +9 -0
  29. package/lib/components/VBadge/index.d.mts +9 -0
  30. package/lib/components/VBanner/index.d.mts +9 -0
  31. package/lib/components/VBottomNavigation/index.d.mts +9 -0
  32. package/lib/components/VBreadcrumbs/index.d.mts +9 -0
  33. package/lib/components/VBtn/index.d.mts +9 -0
  34. package/lib/components/VBtnGroup/index.d.mts +9 -0
  35. package/lib/components/VBtnToggle/index.d.mts +9 -0
  36. package/lib/components/VCard/index.d.mts +9 -0
  37. package/lib/components/VCarousel/index.d.mts +9 -0
  38. package/lib/components/VChip/index.d.mts +9 -0
  39. package/lib/components/VColorPicker/VColorPicker.mjs +24 -12
  40. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  41. package/lib/components/VColorPicker/index.d.mts +9 -0
  42. package/lib/components/VCombobox/index.d.mts +33 -6
  43. package/lib/components/VDataIterator/index.d.mts +3 -3
  44. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  45. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  46. package/lib/components/VDataTable/index.d.mts +355 -117
  47. package/lib/components/VDataTable/types.mjs.map +1 -1
  48. package/lib/components/VDatePicker/VDatePicker.css +2 -21
  49. package/lib/components/VDatePicker/VDatePicker.mjs +15 -11
  50. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  51. package/lib/components/VDatePicker/VDatePicker.sass +3 -18
  52. package/lib/components/VDatePicker/VDatePickerHeader.css +2 -0
  53. package/lib/components/VDatePicker/VDatePickerHeader.sass +3 -0
  54. package/lib/components/VDatePicker/VDatePickerMonth.css +11 -5
  55. package/lib/components/VDatePicker/VDatePickerMonth.mjs +2 -1
  56. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  57. package/lib/components/VDatePicker/VDatePickerMonth.sass +13 -5
  58. package/lib/components/VDatePicker/VDatePickerMonths.css +2 -3
  59. package/lib/components/VDatePicker/VDatePickerMonths.mjs +6 -3
  60. package/lib/components/VDatePicker/VDatePickerMonths.mjs.map +1 -1
  61. package/lib/components/VDatePicker/VDatePickerMonths.sass +4 -3
  62. package/lib/components/VDatePicker/VDatePickerYears.css +2 -2
  63. package/lib/components/VDatePicker/VDatePickerYears.mjs +8 -1
  64. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  65. package/lib/components/VDatePicker/VDatePickerYears.sass +4 -2
  66. package/lib/components/VDatePicker/_variables.scss +14 -34
  67. package/lib/components/VDatePicker/index.d.mts +13 -4
  68. package/lib/components/VExpansionPanel/VExpansionPanel.css +14 -0
  69. package/lib/components/VExpansionPanel/VExpansionPanel.sass +14 -0
  70. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +9 -2
  71. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  72. package/lib/components/VExpansionPanel/index.d.mts +27 -0
  73. package/lib/components/VField/VField.css +20 -1
  74. package/lib/components/VField/VField.sass +19 -1
  75. package/lib/components/VField/index.d.mts +9 -0
  76. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  77. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  78. package/lib/components/VFileInput/index.d.mts +9 -0
  79. package/lib/components/VFooter/index.d.mts +9 -0
  80. package/lib/components/VImg/index.d.mts +9 -0
  81. package/lib/components/VList/VListItem.css +2 -1
  82. package/lib/components/VList/VListItem.sass +1 -0
  83. package/lib/components/VList/_variables.scss +2 -1
  84. package/lib/components/VList/index.d.mts +18 -0
  85. package/lib/components/VMenu/VMenu.mjs +5 -5
  86. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  87. package/lib/components/VMenu/shared.mjs.map +1 -1
  88. package/lib/components/VNavigationDrawer/index.d.mts +9 -0
  89. package/lib/components/VPagination/index.d.mts +9 -0
  90. package/lib/components/VProgressLinear/index.d.mts +9 -0
  91. package/lib/components/VRangeSlider/index.d.mts +9 -0
  92. package/lib/components/VSelect/VSelect.mjs +4 -3
  93. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  94. package/lib/components/VSelect/index.d.mts +33 -6
  95. package/lib/components/VSheet/index.d.mts +9 -0
  96. package/lib/components/VSlider/index.d.mts +9 -0
  97. package/lib/components/VSnackbar/VSnackbar.mjs +1 -2
  98. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  99. package/lib/components/VSnackbar/index.d.mts +9 -0
  100. package/lib/components/VStepper/index.d.mts +9 -0
  101. package/lib/components/VSystemBar/index.d.mts +9 -0
  102. package/lib/components/VTabs/index.d.mts +33 -6
  103. package/lib/components/VTextField/index.d.mts +33 -6
  104. package/lib/components/VTextarea/index.d.mts +9 -0
  105. package/lib/components/VTimeline/index.d.mts +9 -0
  106. package/lib/components/VToolbar/index.d.mts +9 -0
  107. package/lib/components/VTooltip/VTooltip.css +1 -0
  108. package/lib/components/VTooltip/VTooltip.sass +1 -0
  109. package/lib/components/VTooltip/_variables.scss +1 -0
  110. package/lib/components/index.d.mts +857 -151
  111. package/lib/composables/form.mjs +2 -1
  112. package/lib/composables/form.mjs.map +1 -1
  113. package/lib/composables/goto.mjs +16 -18
  114. package/lib/composables/goto.mjs.map +1 -1
  115. package/lib/composables/group.mjs +2 -0
  116. package/lib/composables/group.mjs.map +1 -1
  117. package/lib/composables/icons.mjs +17 -13
  118. package/lib/composables/icons.mjs.map +1 -1
  119. package/lib/composables/rounded.mjs +5 -1
  120. package/lib/composables/rounded.mjs.map +1 -1
  121. package/lib/composables/virtual.mjs +11 -3
  122. package/lib/composables/virtual.mjs.map +1 -1
  123. package/lib/entry-bundler.mjs +1 -1
  124. package/lib/framework.mjs +1 -1
  125. package/lib/iconsets/fa-svg.mjs +2 -1
  126. package/lib/iconsets/fa-svg.mjs.map +1 -1
  127. package/lib/index.d.mts +37 -36
  128. package/lib/labs/VCalendar/VCalendar.mjs +1 -1
  129. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  130. package/lib/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs +1 -1
  131. package/lib/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs.map +1 -1
  132. package/lib/labs/VPicker/VPicker.css +2 -2
  133. package/lib/labs/VPicker/VPicker.sass +2 -2
  134. package/lib/labs/VPicker/_variables.scss +2 -4
  135. package/lib/labs/VPicker/index.d.mts +9 -0
  136. package/lib/labs/VSparkline/VBarline.mjs +138 -0
  137. package/lib/labs/VSparkline/VBarline.mjs.map +1 -0
  138. package/lib/labs/VSparkline/VSparkline.mjs +49 -0
  139. package/lib/labs/VSparkline/VSparkline.mjs.map +1 -0
  140. package/lib/labs/VSparkline/VTrendline.mjs +143 -0
  141. package/lib/labs/VSparkline/VTrendline.mjs.map +1 -0
  142. package/lib/labs/VSparkline/index.d.mts +374 -0
  143. package/lib/labs/VSparkline/index.mjs +2 -0
  144. package/lib/labs/VSparkline/index.mjs.map +1 -0
  145. package/lib/labs/VSparkline/util/line.mjs +52 -0
  146. package/lib/labs/VSparkline/util/line.mjs.map +1 -0
  147. package/lib/labs/VSparkline/util/path.mjs +60 -0
  148. package/lib/labs/VSparkline/util/path.mjs.map +1 -0
  149. package/lib/labs/components.d.mts +376 -1
  150. package/lib/labs/components.mjs +1 -0
  151. package/lib/labs/components.mjs.map +1 -1
  152. package/lib/locale/nl.mjs +1 -1
  153. package/lib/locale/nl.mjs.map +1 -1
  154. package/lib/util/helpers.mjs +10 -0
  155. package/lib/util/helpers.mjs.map +1 -1
  156. package/package.json +2 -2
  157. package/lib/components/VDatePicker/VDatePickerTitle.mjs +0 -81
  158. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +0 -1
  159. package/lib/components/VDatePicker/VDatePickerTitle.sass +0 -33
package/lib/index.d.mts CHANGED
@@ -515,41 +515,42 @@ declare module '@vue/runtime-core' {
515
515
  }
516
516
 
517
517
  export interface GlobalComponents {
518
- VAlert: typeof import('vuetify/components')['VAlert']
519
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
518
+ VApp: typeof import('vuetify/components')['VApp']
520
519
  VAppBar: typeof import('vuetify/components')['VAppBar']
521
520
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
522
521
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
523
- VApp: typeof import('vuetify/components')['VApp']
522
+ VAlert: typeof import('vuetify/components')['VAlert']
523
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
524
524
  VAvatar: typeof import('vuetify/components')['VAvatar']
525
525
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
526
+ VBadge: typeof import('vuetify/components')['VBadge']
526
527
  VBanner: typeof import('vuetify/components')['VBanner']
527
528
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
528
529
  VBannerText: typeof import('vuetify/components')['VBannerText']
530
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
529
531
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
530
- VBadge: typeof import('vuetify/components')['VBadge']
532
+ VBtn: typeof import('vuetify/components')['VBtn']
531
533
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
532
534
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
533
535
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
534
- VBtn: typeof import('vuetify/components')['VBtn']
535
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
536
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
536
537
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
538
+ VCarousel: typeof import('vuetify/components')['VCarousel']
539
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
537
540
  VCard: typeof import('vuetify/components')['VCard']
538
541
  VCardActions: typeof import('vuetify/components')['VCardActions']
539
542
  VCardItem: typeof import('vuetify/components')['VCardItem']
540
543
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
541
544
  VCardText: typeof import('vuetify/components')['VCardText']
542
545
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
543
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
544
- VCarousel: typeof import('vuetify/components')['VCarousel']
545
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
546
546
  VChip: typeof import('vuetify/components')['VChip']
547
+ VCode: typeof import('vuetify/components')['VCode']
547
548
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
548
549
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
549
- VCode: typeof import('vuetify/components')['VCode']
550
+ VCombobox: typeof import('vuetify/components')['VCombobox']
550
551
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
551
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
552
552
  VCounter: typeof import('vuetify/components')['VCounter']
553
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
553
554
  VDataTable: typeof import('vuetify/components')['VDataTable']
554
555
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
555
556
  VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
@@ -562,29 +563,27 @@ declare module '@vue/runtime-core' {
562
563
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
563
564
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
564
565
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
565
- VCombobox: typeof import('vuetify/components')['VCombobox']
566
566
  VDialog: typeof import('vuetify/components')['VDialog']
567
567
  VDivider: typeof import('vuetify/components')['VDivider']
568
568
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
569
569
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
570
570
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
571
571
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
572
- VFooter: typeof import('vuetify/components')['VFooter']
573
572
  VField: typeof import('vuetify/components')['VField']
574
573
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
575
574
  VFileInput: typeof import('vuetify/components')['VFileInput']
576
- VImg: typeof import('vuetify/components')['VImg']
577
575
  VIcon: typeof import('vuetify/components')['VIcon']
578
576
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
579
577
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
580
578
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
581
579
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
580
+ VFooter: typeof import('vuetify/components')['VFooter']
581
+ VImg: typeof import('vuetify/components')['VImg']
582
+ VInput: typeof import('vuetify/components')['VInput']
582
583
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
583
584
  VItem: typeof import('vuetify/components')['VItem']
584
- VInput: typeof import('vuetify/components')['VInput']
585
- VKbd: typeof import('vuetify/components')['VKbd']
586
- VMain: typeof import('vuetify/components')['VMain']
587
585
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
586
+ VKbd: typeof import('vuetify/components')['VKbd']
588
587
  VLabel: typeof import('vuetify/components')['VLabel']
589
588
  VList: typeof import('vuetify/components')['VList']
590
589
  VListGroup: typeof import('vuetify/components')['VListGroup']
@@ -595,25 +594,25 @@ declare module '@vue/runtime-core' {
595
594
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
596
595
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
597
596
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
598
- VMessages: typeof import('vuetify/components')['VMessages']
597
+ VMain: typeof import('vuetify/components')['VMain']
599
598
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
600
599
  VMenu: typeof import('vuetify/components')['VMenu']
601
- VOverlay: typeof import('vuetify/components')['VOverlay']
600
+ VMessages: typeof import('vuetify/components')['VMessages']
602
601
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
602
+ VOverlay: typeof import('vuetify/components')['VOverlay']
603
603
  VPagination: typeof import('vuetify/components')['VPagination']
604
604
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
605
605
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
606
- VRating: typeof import('vuetify/components')['VRating']
607
606
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
608
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
607
+ VRating: typeof import('vuetify/components')['VRating']
609
608
  VSelect: typeof import('vuetify/components')['VSelect']
610
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
609
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
611
610
  VSheet: typeof import('vuetify/components')['VSheet']
612
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
611
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
612
+ VSlider: typeof import('vuetify/components')['VSlider']
613
613
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
614
614
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
615
- VSlider: typeof import('vuetify/components')['VSlider']
616
- VSwitch: typeof import('vuetify/components')['VSwitch']
615
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
617
616
  VStepper: typeof import('vuetify/components')['VStepper']
618
617
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
619
618
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
@@ -622,26 +621,27 @@ declare module '@vue/runtime-core' {
622
621
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
623
622
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
624
623
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
625
- VTabs: typeof import('vuetify/components')['VTabs']
626
- VTab: typeof import('vuetify/components')['VTab']
624
+ VSwitch: typeof import('vuetify/components')['VSwitch']
627
625
  VTable: typeof import('vuetify/components')['VTable']
628
626
  VTextarea: typeof import('vuetify/components')['VTextarea']
629
- VTooltip: typeof import('vuetify/components')['VTooltip']
630
- VTimeline: typeof import('vuetify/components')['VTimeline']
631
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
627
+ VTextField: typeof import('vuetify/components')['VTextField']
628
+ VTabs: typeof import('vuetify/components')['VTabs']
629
+ VTab: typeof import('vuetify/components')['VTab']
632
630
  VToolbar: typeof import('vuetify/components')['VToolbar']
633
631
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
634
632
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
635
- VTextField: typeof import('vuetify/components')['VTextField']
633
+ VTimeline: typeof import('vuetify/components')['VTimeline']
634
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
635
+ VTooltip: typeof import('vuetify/components')['VTooltip']
636
636
  VWindow: typeof import('vuetify/components')['VWindow']
637
637
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
638
638
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
639
639
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
640
- VForm: typeof import('vuetify/components')['VForm']
641
640
  VContainer: typeof import('vuetify/components')['VContainer']
642
641
  VCol: typeof import('vuetify/components')['VCol']
643
642
  VRow: typeof import('vuetify/components')['VRow']
644
643
  VSpacer: typeof import('vuetify/components')['VSpacer']
644
+ VForm: typeof import('vuetify/components')['VForm']
645
645
  VHover: typeof import('vuetify/components')['VHover']
646
646
  VLayout: typeof import('vuetify/components')['VLayout']
647
647
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
@@ -650,11 +650,11 @@ declare module '@vue/runtime-core' {
650
650
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
651
651
  VParallax: typeof import('vuetify/components')['VParallax']
652
652
  VRadio: typeof import('vuetify/components')['VRadio']
653
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
654
653
  VResponsive: typeof import('vuetify/components')['VResponsive']
654
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
655
655
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
656
- VValidation: typeof import('vuetify/components')['VValidation']
657
656
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
657
+ VValidation: typeof import('vuetify/components')['VValidation']
658
658
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
659
659
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
660
660
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -671,14 +671,15 @@ declare module '@vue/runtime-core' {
671
671
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
672
672
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
673
673
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
674
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
675
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
674
676
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
675
677
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
676
678
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
677
679
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
678
680
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
679
681
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
680
- VPicker: typeof import('vuetify/labs/components')['VPicker']
681
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
682
682
  VConfirmEdit: typeof import('vuetify/labs/components')['VConfirmEdit']
683
+ VSparkline: typeof import('vuetify/labs/components')['VSparkline']
683
684
  }
684
685
  }
@@ -93,7 +93,7 @@ export const VCalendar = genericComponent()({
93
93
  }, [!props.hideWeekNumber ? _createVNode("div", {
94
94
  "key": "weekNumber0",
95
95
  "class": "v-calendar-weekly__head-weeknumber"
96
- }, null) : '', props.weekdays.sort((a, b) => a - b).map(weekday => _createVNode("div", {
96
+ }, null) : '', props.weekdays.map(weekday => _createVNode("div", {
97
97
  "class": `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`
98
98
  }, [dayNames[weekday]]))]), props.viewMode === 'month' && _createVNode("div", {
99
99
  "key": "VCalendarMonth",
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendar.mjs","names":["makeVCalendarDayProps","VCalendarDay","makeVCalendarHeaderProps","VCalendarHeader","VCalendarMonthDay","makeCalendarProps","useCalendar","useDate","computed","chunkArray","genericComponent","propsFactory","useRender","makeVCalendarProps","hideHeader","Boolean","hideWeekNumber","VCalendar","name","props","emits","next","prev","setup","_ref","emit","slots","adapter","daysInMonth","daysInWeek","genDays","model","weekNumbers","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","Date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","_mergeProps","weekdays","length","hideDayHeader","sort","a","b","map","weekday","week","wi","day","isSameDay","date","undefined","events","filter","e","start","end","i"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendar.sass'\n\n// Components\nimport { makeVCalendarDayProps, VCalendarDay } from './VCalendarDay'\nimport { makeVCalendarHeaderProps, VCalendarHeader } from './VCalendarHeader'\nimport { VCalendarMonthDay } from './VCalendarMonthDay'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { chunkArray, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarProps = propsFactory({\n hideHeader: Boolean,\n hideWeekNumber: Boolean,\n\n ...makeCalendarProps(),\n ...makeVCalendarDayProps(),\n ...makeVCalendarHeaderProps(),\n}, 'VCalender')\n\nexport type VCalendarSlots = {\n header: { title: string }\n}\n\nexport const VCalendar = genericComponent<VCalendarSlots>()({\n name: 'VCalendar',\n\n props: makeVCalendarProps(),\n\n emits: {\n next: null,\n prev: null,\n 'update:modelValue': null,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n\n const { daysInMonth, daysInWeek, genDays, model, weekNumbers } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(model.value[0], 1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(model.value[0], 7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(model.value[0], 1)]\n }\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(model.value[0], -1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(model.value[0], -7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(model.value[0], -1)]\n }\n }\n\n function onClickToday () {\n model.value = [new Date()]\n }\n\n const title = computed(() => {\n return adapter.format(model.value[0], 'monthAndYear')\n })\n\n useRender(() => {\n const calendarDayProps = VCalendarDay.filterProps(props)\n const calendarHeaderProps = VCalendarHeader.filterProps(props)\n\n return (\n <div class={[\n 'v-calendar',\n {\n 'v-calendar-monthly': props.viewMode === 'month',\n 'v-calendar-weekly': props.viewMode === 'week',\n 'v-calendar-day': props.viewMode === 'day',\n },\n ]}\n >\n <div>\n { !props.hideHeader && (\n !slots.header ? (\n <VCalendarHeader\n key=\"calendar-header\"\n { ...calendarHeaderProps }\n title={ title.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:toToday={ onClickToday }\n />\n ) : (\n slots.header({ title: title.value })\n )\n )}\n </div>\n\n <div class={['v-calendar__container', `days__${props.weekdays.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : []),\n ]\n }\n key=\"calenderWeeklyHead\"\n >\n { !props.hideWeekNumber ? <div key=\"weekNumber0\" class=\"v-calendar-weekly__head-weeknumber\"></div> : '' }\n {\n props.weekdays.sort((a, b) => a - b).map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { dayNames[weekday] }\n </div>\n ))\n }\n </div>\n )}\n\n { props.viewMode === 'month' && (\n <div\n key=\"VCalendarMonth\"\n class={\n [\n 'v-calendar-month__days',\n `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, props.weekdays.length)\n .map((week, wi) => (\n [\n !props.hideWeekNumber ? <div class=\"v-calendar-month__weeknumber\">{ weekNumbers.value[wi] }</div> : '',\n week.map(day => (\n <VCalendarMonthDay\n color={ adapter.isSameDay(new Date(), day.date) ? 'primary' : undefined }\n day={ day }\n title={ day ? adapter.format(day.date, 'dayOfMonth') : 'NaN' }\n events={ props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end)) }\n ></VCalendarMonthDay>\n )),\n ]\n ))}\n </div>\n )}\n\n { props.viewMode === 'week' && (\n daysInWeek.value.map((day, i) => (\n <VCalendarDay\n { ...calendarDayProps }\n day={ day }\n dayIndex={ i }\n events={ props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)) }\n ></VCalendarDay>\n ))\n )}\n\n { props.viewMode === 'day' && (\n <VCalendarDay\n { ...calendarDayProps }\n day={ genDays([model.value[0] as Date], adapter.date() as Date)[0] }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([model.value[0] as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([model.value[0] as Date], adapter.date() as Date)[0].date)\n )\n }\n ></VCalendarDay>\n )}\n </div>\n </div>\n )\n })\n\n return { daysInMonth, daysInWeek, genDays }\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VCalendar.mjs","names":["makeVCalendarDayProps","VCalendarDay","makeVCalendarHeaderProps","VCalendarHeader","VCalendarMonthDay","makeCalendarProps","useCalendar","useDate","computed","chunkArray","genericComponent","propsFactory","useRender","makeVCalendarProps","hideHeader","Boolean","hideWeekNumber","VCalendar","name","props","emits","next","prev","setup","_ref","emit","slots","adapter","daysInMonth","daysInWeek","genDays","model","weekNumbers","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","Date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","_mergeProps","weekdays","length","hideDayHeader","map","weekday","week","wi","day","isSameDay","date","undefined","events","filter","e","start","end","i"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendar.sass'\n\n// Components\nimport { makeVCalendarDayProps, VCalendarDay } from './VCalendarDay'\nimport { makeVCalendarHeaderProps, VCalendarHeader } from './VCalendarHeader'\nimport { VCalendarMonthDay } from './VCalendarMonthDay'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { chunkArray, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarProps = propsFactory({\n hideHeader: Boolean,\n hideWeekNumber: Boolean,\n\n ...makeCalendarProps(),\n ...makeVCalendarDayProps(),\n ...makeVCalendarHeaderProps(),\n}, 'VCalender')\n\nexport type VCalendarSlots = {\n header: { title: string }\n}\n\nexport const VCalendar = genericComponent<VCalendarSlots>()({\n name: 'VCalendar',\n\n props: makeVCalendarProps(),\n\n emits: {\n next: null,\n prev: null,\n 'update:modelValue': null,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n\n const { daysInMonth, daysInWeek, genDays, model, weekNumbers } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(model.value[0], 1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(model.value[0], 7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(model.value[0], 1)]\n }\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(model.value[0], -1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(model.value[0], -7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(model.value[0], -1)]\n }\n }\n\n function onClickToday () {\n model.value = [new Date()]\n }\n\n const title = computed(() => {\n return adapter.format(model.value[0], 'monthAndYear')\n })\n\n useRender(() => {\n const calendarDayProps = VCalendarDay.filterProps(props)\n const calendarHeaderProps = VCalendarHeader.filterProps(props)\n\n return (\n <div class={[\n 'v-calendar',\n {\n 'v-calendar-monthly': props.viewMode === 'month',\n 'v-calendar-weekly': props.viewMode === 'week',\n 'v-calendar-day': props.viewMode === 'day',\n },\n ]}\n >\n <div>\n { !props.hideHeader && (\n !slots.header ? (\n <VCalendarHeader\n key=\"calendar-header\"\n { ...calendarHeaderProps }\n title={ title.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:toToday={ onClickToday }\n />\n ) : (\n slots.header({ title: title.value })\n )\n )}\n </div>\n\n <div class={['v-calendar__container', `days__${props.weekdays.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : []),\n ]\n }\n key=\"calenderWeeklyHead\"\n >\n { !props.hideWeekNumber ? <div key=\"weekNumber0\" class=\"v-calendar-weekly__head-weeknumber\"></div> : '' }\n {\n props.weekdays.map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { dayNames[weekday] }\n </div>\n ))\n }\n </div>\n )}\n\n { props.viewMode === 'month' && (\n <div\n key=\"VCalendarMonth\"\n class={\n [\n 'v-calendar-month__days',\n `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, props.weekdays.length)\n .map((week, wi) => (\n [\n !props.hideWeekNumber ? <div class=\"v-calendar-month__weeknumber\">{ weekNumbers.value[wi] }</div> : '',\n week.map(day => (\n <VCalendarMonthDay\n color={ adapter.isSameDay(new Date(), day.date) ? 'primary' : undefined }\n day={ day }\n title={ day ? adapter.format(day.date, 'dayOfMonth') : 'NaN' }\n events={ props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end)) }\n ></VCalendarMonthDay>\n )),\n ]\n ))}\n </div>\n )}\n\n { props.viewMode === 'week' && (\n daysInWeek.value.map((day, i) => (\n <VCalendarDay\n { ...calendarDayProps }\n day={ day }\n dayIndex={ i }\n events={ props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)) }\n ></VCalendarDay>\n ))\n )}\n\n { props.viewMode === 'day' && (\n <VCalendarDay\n { ...calendarDayProps }\n day={ genDays([model.value[0] as Date], adapter.date() as Date)[0] }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([model.value[0] as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([model.value[0] as Date], adapter.date() as Date)[0].date)\n )\n }\n ></VCalendarDay>\n )}\n </div>\n </div>\n )\n })\n\n return { daysInMonth, daysInWeek, genDays }\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":"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"}
@@ -20,7 +20,7 @@ describe('VConfirmEdit', () => {
20
20
  externalModel.value = 'bar';
21
21
  }).get('p').should('have.text', 'bar');
22
22
  });
23
- it.only(`doesn't mutate the original value`, () => {
23
+ it(`doesn't mutate the original value`, () => {
24
24
  const externalModel = ref(['foo']);
25
25
  cy.mount(_createVNode(VConfirmEdit, {
26
26
  "modelValue": externalModel.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VConfirmEdit.spec.cy.mjs","names":["VConfirmEdit","ref","describe","it","externalModel","cy","mount","_createVNode","value","default","_ref","model","get","should","then","only","$event","_ref2","_Fragment","join","onClick","push","_createTextVNode","click","expect","to","deep","equal","contains","_ref3","_ref4","actions","_ref5"],"sources":["../../../../src/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.tsx"],"sourcesContent":["/// <reference types=\"../../../../types/cypress\" />\n\nimport { VConfirmEdit } from '..'\n\n// Utilities\nimport { ref } from 'vue'\n\n// Tests\ndescribe('VConfirmEdit', () => {\n it('mirrors external updates', () => {\n const externalModel = ref('foo')\n\n cy.mount(() => (\n <VConfirmEdit modelValue={ externalModel.value }>\n { ({ model }) => (\n <p>{ model.value }</p>\n )}\n </VConfirmEdit>\n )).get('p')\n .should('have.text', 'foo')\n .then(() => {\n externalModel.value = 'bar'\n })\n .get('p')\n .should('have.text', 'bar')\n })\n it.only(`doesn't mutate the original value`, () => {\n const externalModel = ref(['foo'])\n\n cy.mount(\n <VConfirmEdit v-model={ externalModel.value } modelValue={ externalModel.value }>\n { ({ model }) => (\n <>\n <p>{ model.value.join(',') }</p>\n <button data-test=\"push\" onClick={ () => model.value.push('bar') }>Push</button>\n </>\n )}\n </VConfirmEdit>\n ).get('p')\n .should('have.text', 'foo')\n .get('[data-test=\"push\"]').click()\n .get('p')\n .should('have.text', 'foo,bar')\n .then(() => {\n expect(externalModel.value).to.deep.equal(['foo'])\n })\n cy.contains('.v-btn', 'OK').click()\n cy.get('p')\n .should('have.text', 'foo,bar')\n .then(() => {\n expect(externalModel.value).to.deep.equal(['foo', 'bar'])\n })\n })\n it('hides actions if used from the slot', () => {\n cy.mount(\n <VConfirmEdit></VConfirmEdit>\n ).get('.v-btn').should('have.length', 2)\n\n cy.mount(\n <VConfirmEdit>\n { ({ model }) => {\n void model\n }}\n </VConfirmEdit>\n ).get('.v-btn').should('have.length', 2)\n\n cy.mount(\n <VConfirmEdit>\n { ({ actions }) => {\n void actions\n }}\n </VConfirmEdit>\n ).get('.v-btn').should('have.length', 0)\n\n cy.mount(\n <VConfirmEdit>\n { ({ actions }) => actions }\n </VConfirmEdit>\n ).get('.v-btn').should('have.length', 2)\n })\n})\n"],"mappings":";AAAA;AAAA,SAESA,YAAY,wBAErB;AACA,SAASC,GAAG,QAAQ,KAAK;;AAEzB;AACAC,QAAQ,CAAC,cAAc,EAAE,MAAM;EAC7BC,EAAE,CAAC,0BAA0B,EAAE,MAAM;IACnC,MAAMC,aAAa,GAAGH,GAAG,CAAC,KAAK,CAAC;IAEhCI,EAAE,CAACC,KAAK,CAAC,MAAAC,YAAA,CAAAP,YAAA;MAAA,cACoBI,aAAa,CAACI;IAAK;MAAAC,OAAA,EAC1CC,IAAA;QAAA,IAAC;UAAEC;QAAM,CAAC,GAAAD,IAAA;QAAA,OAAAH,YAAA,aACLI,KAAK,CAACH,KAAK;MAAA;IACjB,EAEJ,CAAC,CAACI,GAAG,CAAC,GAAG,CAAC,CACRC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAC1BC,IAAI,CAAC,MAAM;MACVV,aAAa,CAACI,KAAK,GAAG,KAAK;IAC7B,CAAC,CAAC,CACDI,GAAG,CAAC,GAAG,CAAC,CACRC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;EAC/B,CAAC,CAAC;EACFV,EAAE,CAACY,IAAI,CAAE,mCAAkC,EAAE,MAAM;IACjD,MAAMX,aAAa,GAAGH,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAElCI,EAAE,CAACC,KAAK,CAAAC,YAAA,CAAAP,YAAA;MAAA,cACkBI,aAAa,CAACI,KAAK;MAAA,uBAAAQ,MAAA,IAAnBZ,aAAa,CAACI,KAAK,GAAAQ;IAAA;MAAAP,OAAA,EACvCQ,KAAA;QAAA,IAAC;UAAEN;QAAM,CAAC,GAAAM,KAAA;QAAA,OAAAV,YAAA,CAAAW,SAAA,SAAAX,YAAA,aAEHI,KAAK,CAACH,KAAK,CAACW,IAAI,CAAC,GAAG,CAAC,IAAAZ,YAAA;UAAA;UAAA,WACSa,CAAA,KAAMT,KAAK,CAACH,KAAK,CAACa,IAAI,CAAC,KAAK;QAAC,IAAAC,gBAAA;MAAA;IAEnE,EAEL,CAAC,CAACV,GAAG,CAAC,GAAG,CAAC,CACPC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAC1BD,GAAG,CAAC,oBAAoB,CAAC,CAACW,KAAK,CAAC,CAAC,CACjCX,GAAG,CAAC,GAAG,CAAC,CACRC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAC9BC,IAAI,CAAC,MAAM;MACVU,MAAM,CAACpB,aAAa,CAACI,KAAK,CAAC,CAACiB,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC;IACJtB,EAAE,CAACuB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAACL,KAAK,CAAC,CAAC;IACnClB,EAAE,CAACO,GAAG,CAAC,GAAG,CAAC,CACRC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAC9BC,IAAI,CAAC,MAAM;MACVU,MAAM,CAACpB,aAAa,CAACI,KAAK,CAAC,CAACiB,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC;EACN,CAAC,CAAC;EACFxB,EAAE,CAAC,qCAAqC,EAAE,MAAM;IAC9CE,EAAE,CAACC,KAAK,CAAAC,YAAA,CAAAP,YAAA,aAER,CAAC,CAACY,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IAExCR,EAAE,CAACC,KAAK,CAAAC,YAAA,CAAAP,YAAA;MAAAS,OAAA,EAEFoB,KAAA,IAAe;QAAA,IAAd;UAAElB;QAAM,CAAC,GAAAkB,KAAA;QACV,KAAKlB,KAAK;MACZ;IAAC,EAEL,CAAC,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IAExCR,EAAE,CAACC,KAAK,CAAAC,YAAA,CAAAP,YAAA;MAAAS,OAAA,EAEFqB,KAAA,IAAiB;QAAA,IAAhB;UAAEC;QAAQ,CAAC,GAAAD,KAAA;QACZ,KAAKC,OAAO;MACd;IAAC,EAEL,CAAC,CAACnB,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IAExCR,EAAE,CAACC,KAAK,CAAAC,YAAA,CAAAP,YAAA;MAAAS,OAAA,EAEFuB,KAAA;QAAA,IAAC;UAAED;QAAQ,CAAC,GAAAC,KAAA;QAAA,OAAKD,OAAO;MAAA;IAAA,EAE9B,CAAC,CAACnB,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;EAC1C,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"VConfirmEdit.spec.cy.mjs","names":["VConfirmEdit","ref","describe","it","externalModel","cy","mount","_createVNode","value","default","_ref","model","get","should","then","$event","_ref2","_Fragment","join","onClick","push","_createTextVNode","click","expect","to","deep","equal","contains","_ref3","_ref4","actions","_ref5"],"sources":["../../../../src/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.tsx"],"sourcesContent":["/// <reference types=\"../../../../types/cypress\" />\n\nimport { VConfirmEdit } from '..'\n\n// Utilities\nimport { ref } from 'vue'\n\n// Tests\ndescribe('VConfirmEdit', () => {\n it('mirrors external updates', () => {\n const externalModel = ref('foo')\n\n cy.mount(() => (\n <VConfirmEdit modelValue={ externalModel.value }>\n { ({ model }) => (\n <p>{ model.value }</p>\n )}\n </VConfirmEdit>\n )).get('p')\n .should('have.text', 'foo')\n .then(() => {\n externalModel.value = 'bar'\n })\n .get('p')\n .should('have.text', 'bar')\n })\n\n it(`doesn't mutate the original value`, () => {\n const externalModel = ref(['foo'])\n\n cy.mount(\n <VConfirmEdit v-model={ externalModel.value } modelValue={ externalModel.value }>\n { ({ model }) => (\n <>\n <p>{ model.value.join(',') }</p>\n <button data-test=\"push\" onClick={ () => model.value.push('bar') }>Push</button>\n </>\n )}\n </VConfirmEdit>\n ).get('p')\n .should('have.text', 'foo')\n .get('[data-test=\"push\"]').click()\n .get('p')\n .should('have.text', 'foo,bar')\n .then(() => {\n expect(externalModel.value).to.deep.equal(['foo'])\n })\n cy.contains('.v-btn', 'OK').click()\n cy.get('p')\n .should('have.text', 'foo,bar')\n .then(() => {\n expect(externalModel.value).to.deep.equal(['foo', 'bar'])\n })\n })\n\n it('hides actions if used from the slot', () => {\n cy.mount(\n <VConfirmEdit></VConfirmEdit>\n ).get('.v-btn').should('have.length', 2)\n\n cy.mount(\n <VConfirmEdit>\n { ({ model }) => {\n void model\n }}\n </VConfirmEdit>\n ).get('.v-btn').should('have.length', 2)\n\n cy.mount(\n <VConfirmEdit>\n { ({ actions }) => {\n void actions\n }}\n </VConfirmEdit>\n ).get('.v-btn').should('have.length', 0)\n\n cy.mount(\n <VConfirmEdit>\n { ({ actions }) => actions }\n </VConfirmEdit>\n ).get('.v-btn').should('have.length', 2)\n })\n})\n"],"mappings":"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"}
@@ -20,7 +20,7 @@
20
20
 
21
21
  .v-picker__actions {
22
22
  grid-area: actions;
23
- padding: 0 12px 12px 12px;
23
+ padding: 0 12px 12px;
24
24
  display: flex;
25
25
  align-items: center;
26
26
  justify-content: flex-end;
@@ -47,6 +47,6 @@
47
47
  padding-inline: 24px 12px;
48
48
  padding-top: 16px;
49
49
  padding-bottom: 16px;
50
- font-weight: 600;
50
+ font-weight: 400;
51
51
  letter-spacing: 0.1666666667em;
52
52
  }
@@ -22,7 +22,7 @@
22
22
 
23
23
  .v-picker__actions
24
24
  grid-area: actions
25
- padding: 0 12px 12px 12px
25
+ padding: $picker-actions-padding
26
26
  display: flex
27
27
  align-items: center
28
28
  justify-content: flex-end
@@ -46,5 +46,5 @@
46
46
  padding-inline: 24px 12px
47
47
  padding-top: 16px
48
48
  padding-bottom: 16px
49
- font-weight: 600
49
+ font-weight: $picker-title-font-weight
50
50
  letter-spacing: .1666666667em
@@ -1,9 +1,7 @@
1
1
  @use '../../styles/settings';
2
2
 
3
+ $picker-actions-padding: 0 12px 12px !default;
3
4
  $picker-border-radius: settings.$border-radius-root !default;
4
5
  $picker-elevation: 0 !default;
5
- $picker-title-padding: 16px !default;
6
6
  $picker-inactive-btn-opacity: .6 !default;
7
- $picker-active-btn-opacity: 1 !default;
8
- $picker-landscape-title-width: 170px !default;
9
- $picker-font-size: 1rem !default;
7
+ $picker-title-font-weight: 400 !default;
@@ -16,6 +16,7 @@ declare const VPicker: {
16
16
  style: vue.StyleValue;
17
17
  tag: string;
18
18
  landscape: boolean;
19
+ tile: boolean;
19
20
  hideHeader: boolean;
20
21
  } & {
21
22
  location?: Anchor | undefined;
@@ -56,6 +57,7 @@ declare const VPicker: {
56
57
  style: vue.StyleValue;
57
58
  tag: string;
58
59
  landscape: boolean;
60
+ tile: boolean;
59
61
  hideHeader: boolean;
60
62
  } & {
61
63
  location?: Anchor | undefined;
@@ -97,6 +99,7 @@ declare const VPicker: {
97
99
  tag: string;
98
100
  landscape: boolean;
99
101
  rounded: string | number | boolean;
102
+ tile: boolean;
100
103
  hideHeader: boolean;
101
104
  }, true, {}, vue.SlotsType<Partial<{
102
105
  header: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -122,6 +125,7 @@ declare const VPicker: {
122
125
  style: vue.StyleValue;
123
126
  tag: string;
124
127
  landscape: boolean;
128
+ tile: boolean;
125
129
  hideHeader: boolean;
126
130
  } & {
127
131
  location?: Anchor | undefined;
@@ -163,6 +167,7 @@ declare const VPicker: {
163
167
  tag: string;
164
168
  landscape: boolean;
165
169
  rounded: string | number | boolean;
170
+ tile: boolean;
166
171
  hideHeader: boolean;
167
172
  }>;
168
173
  __isFragment?: undefined;
@@ -172,6 +177,7 @@ declare const VPicker: {
172
177
  style: vue.StyleValue;
173
178
  tag: string;
174
179
  landscape: boolean;
180
+ tile: boolean;
175
181
  hideHeader: boolean;
176
182
  } & {
177
183
  location?: Anchor | undefined;
@@ -213,6 +219,7 @@ declare const VPicker: {
213
219
  tag: string;
214
220
  landscape: boolean;
215
221
  rounded: string | number | boolean;
222
+ tile: boolean;
216
223
  hideHeader: boolean;
217
224
  }, {}, string, vue.SlotsType<Partial<{
218
225
  header: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -237,6 +244,7 @@ declare const VPicker: {
237
244
  type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
238
245
  default: undefined;
239
246
  };
247
+ tile: BooleanConstructor;
240
248
  position: {
241
249
  type: vue.PropType<"fixed" | "absolute" | "static" | "sticky" | "relative">;
242
250
  validator: (v: any) => boolean;
@@ -273,6 +281,7 @@ declare const VPicker: {
273
281
  type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
274
282
  default: undefined;
275
283
  };
284
+ tile: BooleanConstructor;
276
285
  position: {
277
286
  type: vue.PropType<"fixed" | "absolute" | "static" | "sticky" | "relative">;
278
287
  validator: (v: any) => boolean;
@@ -0,0 +1,138 @@
1
+ import { Fragment as _Fragment, createVNode as _createVNode } from "vue";
2
+ // Utilities
3
+ import { computed } from 'vue';
4
+ import { makeLineProps } from "./util/line.mjs";
5
+ import { genericComponent, getUid, propsFactory, useRender } from "../../util/index.mjs"; // Types
6
+ export const makeVBarlineProps = propsFactory({
7
+ autoLineWidth: Boolean,
8
+ ...makeLineProps()
9
+ }, 'VBarline');
10
+ export const VBarline = genericComponent()({
11
+ name: 'VBarline',
12
+ props: makeVBarlineProps(),
13
+ setup(props, _ref) {
14
+ let {
15
+ slots
16
+ } = _ref;
17
+ const uid = getUid();
18
+ const id = computed(() => props.id || `barline-${uid}`);
19
+ const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || 500);
20
+ const hasLabels = computed(() => {
21
+ return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label);
22
+ });
23
+ const lineWidth = computed(() => parseFloat(props.lineWidth) || 4);
24
+ const totalWidth = computed(() => Math.max(props.modelValue.length * lineWidth.value, Number(props.width)));
25
+ const boundary = computed(() => {
26
+ return {
27
+ minX: 0,
28
+ maxX: totalWidth.value,
29
+ minY: 0,
30
+ maxY: parseInt(props.height, 10)
31
+ };
32
+ });
33
+ function genBars(values, boundary) {
34
+ const {
35
+ minX,
36
+ maxX,
37
+ minY,
38
+ maxY
39
+ } = boundary;
40
+ const totalValues = values.length;
41
+ let maxValue = Math.max(...values);
42
+ let minValue = Math.min(...values);
43
+ if (minValue > 0) minValue = 0;
44
+ if (maxValue < 0) maxValue = 0;
45
+ const gridX = maxX / totalValues;
46
+ const gridY = (maxY - minY) / (maxValue - minValue || 1);
47
+ const horizonY = maxY - Math.abs(minValue * gridY);
48
+ return values.map((value, index) => {
49
+ const height = Math.abs(gridY * value);
50
+ return {
51
+ x: minX + index * gridX,
52
+ y: horizonY - height + +(value < 0) * height,
53
+ height,
54
+ value
55
+ };
56
+ });
57
+ }
58
+ const parsedLabels = computed(() => {
59
+ const labels = [];
60
+ const points = genBars(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value);
61
+ const len = points.length;
62
+ for (let i = 0; labels.length < len; i++) {
63
+ const item = points[i];
64
+ let value = props.labels[i];
65
+ if (!value) {
66
+ value = typeof item === 'object' ? item.value : item;
67
+ }
68
+ labels.push({
69
+ x: item.x,
70
+ value: String(value)
71
+ });
72
+ }
73
+ return labels;
74
+ });
75
+ const bars = computed(() => genBars(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value));
76
+ const offsetX = computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
77
+ useRender(() => {
78
+ const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
79
+ return _createVNode("svg", {
80
+ "display": "block"
81
+ }, [_createVNode("defs", null, [_createVNode("linearGradient", {
82
+ "id": id.value,
83
+ "gradientUnits": "userSpaceOnUse",
84
+ "x1": props.gradientDirection === 'left' ? '100%' : '0',
85
+ "y1": props.gradientDirection === 'top' ? '100%' : '0',
86
+ "x2": props.gradientDirection === 'right' ? '100%' : '0',
87
+ "y2": props.gradientDirection === 'bottom' ? '100%' : '0'
88
+ }, [gradientData.map((color, index) => _createVNode("stop", {
89
+ "offset": index / Math.max(gradientData.length - 1, 1),
90
+ "stop-color": color || 'currentColor'
91
+ }, null))])]), _createVNode("clipPath", {
92
+ "id": `${id.value}-clip`
93
+ }, [bars.value.map(item => _createVNode("rect", {
94
+ "x": item.x + offsetX.value,
95
+ "y": item.y,
96
+ "width": lineWidth.value,
97
+ "height": item.height,
98
+ "rx": typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0,
99
+ "ry": typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0
100
+ }, [props.autoDraw && _createVNode(_Fragment, null, [_createVNode("animate", {
101
+ "attributeName": "y",
102
+ "from": item.y + item.height,
103
+ "to": item.y,
104
+ "dur": `${autoDrawDuration.value}ms`,
105
+ "fill": "freeze"
106
+ }, null), _createVNode("animate", {
107
+ "attributeName": "height",
108
+ "from": "0",
109
+ "to": item.height,
110
+ "dur": `${autoDrawDuration.value}ms`,
111
+ "fill": "freeze"
112
+ }, null)])]))]), hasLabels.value && _createVNode("g", {
113
+ "key": "labels",
114
+ "style": {
115
+ textAnchor: 'middle',
116
+ dominantBaseline: 'mathematical',
117
+ fill: 'currentColor'
118
+ }
119
+ }, [parsedLabels.value.map((item, i) => _createVNode("text", {
120
+ "x": item.x + offsetX.value + lineWidth.value / 2,
121
+ "y": parseInt(props.height, 10) - 2 + (parseInt(props.labelSize, 10) || 7 * 0.75),
122
+ "font-size": Number(props.labelSize) || 7
123
+ }, [slots.label?.({
124
+ index: i,
125
+ value: item.value
126
+ }) ?? item.value]))]), _createVNode("g", {
127
+ "clip-path": `url(#${id.value}-clip)`,
128
+ "fill": `url(#${id.value})`
129
+ }, [_createVNode("rect", {
130
+ "x": 0,
131
+ "y": 0,
132
+ "width": Math.max(props.modelValue.length * lineWidth.value, Number(props.width)),
133
+ "height": props.height
134
+ }, null)])]);
135
+ });
136
+ }
137
+ });
138
+ //# sourceMappingURL=VBarline.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VBarline.mjs","names":["computed","makeLineProps","genericComponent","getUid","propsFactory","useRender","makeVBarlineProps","autoLineWidth","Boolean","VBarline","name","props","setup","_ref","slots","uid","id","autoDrawDuration","Number","hasLabels","showLabels","labels","length","label","lineWidth","parseFloat","totalWidth","Math","max","modelValue","value","width","boundary","minX","maxX","minY","maxY","parseInt","height","genBars","values","totalValues","maxValue","minValue","min","gridX","gridY","horizonY","abs","map","index","x","y","parsedLabels","points","item","len","i","push","String","bars","offsetX","gradientData","gradient","slice","reverse","_createVNode","gradientDirection","color","smooth","autoDraw","_Fragment","textAnchor","dominantBaseline","fill","labelSize"],"sources":["../../../src/labs/VSparkline/VBarline.tsx"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { makeLineProps } from './util/line'\nimport { genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VBarlineSlots = {\n default: void\n label: { index: number, value: string }\n}\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\nexport const makeVBarlineProps = propsFactory({\n autoLineWidth: Boolean,\n\n ...makeLineProps(),\n}, 'VBarline')\n\nexport const VBarline = genericComponent<VBarlineSlots>()({\n name: 'VBarline',\n\n props: makeVBarlineProps(),\n\n setup (props, { slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `barline-${uid}`)\n const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || 500)\n\n const hasLabels = computed(() => {\n return Boolean(\n props.showLabels ||\n props.labels.length > 0 ||\n !!slots?.label\n )\n })\n\n const lineWidth = computed(() => parseFloat(props.lineWidth) || 4)\n\n const totalWidth = computed(() => Math.max(props.modelValue.length * lineWidth.value, Number(props.width)))\n\n const boundary = computed<Boundary>(() => {\n return {\n minX: 0,\n maxX: totalWidth.value,\n minY: 0,\n maxY: parseInt(props.height, 10),\n }\n })\n\n function genBars (\n values: number[],\n boundary: Boundary\n ): Bar[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n let maxValue = Math.max(...values)\n let minValue = Math.min(...values)\n\n if (minValue > 0) minValue = 0\n if (maxValue < 0) maxValue = 0\n\n const gridX = maxX / totalValues\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n const horizonY = maxY - Math.abs(minValue * gridY)\n\n return values.map((value, index) => {\n const height = Math.abs(gridY * value)\n\n return {\n x: minX + index * gridX,\n y: horizonY - height +\n +(value < 0) * height,\n height,\n value,\n }\n })\n }\n\n const parsedLabels = computed(() => {\n const labels = []\n const points = genBars(\n props.modelValue.map(item => (typeof item === 'number' ? item : item.value)),\n boundary.value\n )\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = props.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n })\n\n const bars = computed(() => genBars(props.modelValue.map(item => (typeof item === 'number' ? item : item.value)), boundary.value))\n const offsetX = computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2)\n\n useRender(() => {\n const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse()\n return (\n <svg\n display=\"block\"\n >\n <defs>\n <linearGradient\n id={ id.value }\n gradientUnits=\"userSpaceOnUse\"\n x1={ props.gradientDirection === 'left' ? '100%' : '0' }\n y1={ props.gradientDirection === 'top' ? '100%' : '0' }\n x2={ props.gradientDirection === 'right' ? '100%' : '0' }\n y2={ props.gradientDirection === 'bottom' ? '100%' : '0' }\n >\n {\n gradientData.map((color, index) => (\n <stop offset={ index / (Math.max(gradientData.length - 1, 1)) } stop-color={ color || 'currentColor' } />\n ))\n }\n </linearGradient>\n </defs>\n\n <clipPath id={ `${id.value}-clip` }>\n {\n bars.value.map(item => (\n <rect\n x={ item.x + offsetX.value }\n y={ item.y }\n width={ lineWidth.value }\n height={ item.height }\n rx={ typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0 }\n ry={ typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0 }\n >\n { props.autoDraw && (\n <>\n <animate\n attributeName=\"y\"\n from={ item.y + item.height }\n to={ item.y }\n dur={ `${autoDrawDuration.value}ms` }\n fill=\"freeze\"\n />\n <animate\n attributeName=\"height\"\n from=\"0\"\n to={ item.height }\n dur={ `${autoDrawDuration.value}ms` }\n fill=\"freeze\"\n />\n </>\n )}\n </rect>\n ))\n }\n </clipPath>\n\n { hasLabels.value && (\n <g\n key=\"labels\"\n style={{\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n }}\n >\n {\n parsedLabels.value.map((item, i) => (\n <text\n x={ item.x + offsetX.value + lineWidth.value / 2 }\n y={ (parseInt(props.height, 10) - 2) + (parseInt(props.labelSize, 10) || 7 * 0.75) }\n font-size={ Number(props.labelSize) || 7 }\n >\n { slots.label?.({ index: i, value: item.value }) ?? item.value }\n </text>\n ))\n }\n </g>\n )}\n\n <g\n clip-path={ `url(#${id.value}-clip)` }\n fill={ `url(#${id.value})` }\n >\n <rect\n x={ 0 }\n y={ 0 }\n width={ Math.max(props.modelValue.length * lineWidth.value, Number(props.width)) }\n height={ props.height }\n ></rect>\n </g>\n </svg>\n )\n })\n },\n})\n\nexport type VBarline = InstanceType<typeof VBarline>\n"],"mappings":"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"}