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.
- package/dist/json/attributes.json +2771 -2523
- package/dist/json/importMap-labs.json +12 -8
- package/dist/json/importMap.json +100 -100
- package/dist/json/tags.json +236 -169
- package/dist/json/web-types.json +3218 -2563
- package/dist/vuetify-labs.css +2265 -2242
- package/dist/vuetify-labs.d.ts +1234 -152
- package/dist/vuetify-labs.esm.js +582 -88
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +582 -88
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1316 -1293
- package/dist/vuetify.d.ts +894 -187
- package/dist/vuetify.esm.js +148 -87
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +148 -87
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +652 -647
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/index.d.mts +9 -0
- package/lib/components/VAppBar/index.d.mts +18 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +33 -6
- package/lib/components/VAvatar/VAvatar.mjs +2 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/index.d.mts +9 -0
- package/lib/components/VBadge/index.d.mts +9 -0
- package/lib/components/VBanner/index.d.mts +9 -0
- package/lib/components/VBottomNavigation/index.d.mts +9 -0
- package/lib/components/VBreadcrumbs/index.d.mts +9 -0
- package/lib/components/VBtn/index.d.mts +9 -0
- package/lib/components/VBtnGroup/index.d.mts +9 -0
- package/lib/components/VBtnToggle/index.d.mts +9 -0
- package/lib/components/VCard/index.d.mts +9 -0
- package/lib/components/VCarousel/index.d.mts +9 -0
- package/lib/components/VChip/index.d.mts +9 -0
- package/lib/components/VColorPicker/VColorPicker.mjs +24 -12
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.mts +9 -0
- package/lib/components/VCombobox/index.d.mts +33 -6
- package/lib/components/VDataIterator/index.d.mts +3 -3
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +355 -117
- package/lib/components/VDataTable/types.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.css +2 -21
- package/lib/components/VDatePicker/VDatePicker.mjs +15 -11
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.sass +3 -18
- package/lib/components/VDatePicker/VDatePickerHeader.css +2 -0
- package/lib/components/VDatePicker/VDatePickerHeader.sass +3 -0
- package/lib/components/VDatePicker/VDatePickerMonth.css +11 -5
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +2 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.sass +13 -5
- package/lib/components/VDatePicker/VDatePickerMonths.css +2 -3
- package/lib/components/VDatePicker/VDatePickerMonths.mjs +6 -3
- package/lib/components/VDatePicker/VDatePickerMonths.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.sass +4 -3
- package/lib/components/VDatePicker/VDatePickerYears.css +2 -2
- package/lib/components/VDatePicker/VDatePickerYears.mjs +8 -1
- package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.sass +4 -2
- package/lib/components/VDatePicker/_variables.scss +14 -34
- package/lib/components/VDatePicker/index.d.mts +13 -4
- package/lib/components/VExpansionPanel/VExpansionPanel.css +14 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +14 -0
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +9 -2
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +27 -0
- package/lib/components/VField/VField.css +20 -1
- package/lib/components/VField/VField.sass +19 -1
- package/lib/components/VField/index.d.mts +9 -0
- package/lib/components/VFileInput/VFileInput.mjs +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.mts +9 -0
- package/lib/components/VFooter/index.d.mts +9 -0
- package/lib/components/VImg/index.d.mts +9 -0
- package/lib/components/VList/VListItem.css +2 -1
- package/lib/components/VList/VListItem.sass +1 -0
- package/lib/components/VList/_variables.scss +2 -1
- package/lib/components/VList/index.d.mts +18 -0
- package/lib/components/VMenu/VMenu.mjs +5 -5
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/shared.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.mts +9 -0
- package/lib/components/VPagination/index.d.mts +9 -0
- package/lib/components/VProgressLinear/index.d.mts +9 -0
- package/lib/components/VRangeSlider/index.d.mts +9 -0
- package/lib/components/VSelect/VSelect.mjs +4 -3
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +33 -6
- package/lib/components/VSheet/index.d.mts +9 -0
- package/lib/components/VSlider/index.d.mts +9 -0
- package/lib/components/VSnackbar/VSnackbar.mjs +1 -2
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.mts +9 -0
- package/lib/components/VStepper/index.d.mts +9 -0
- package/lib/components/VSystemBar/index.d.mts +9 -0
- package/lib/components/VTabs/index.d.mts +33 -6
- package/lib/components/VTextField/index.d.mts +33 -6
- package/lib/components/VTextarea/index.d.mts +9 -0
- package/lib/components/VTimeline/index.d.mts +9 -0
- package/lib/components/VToolbar/index.d.mts +9 -0
- package/lib/components/VTooltip/VTooltip.css +1 -0
- package/lib/components/VTooltip/VTooltip.sass +1 -0
- package/lib/components/VTooltip/_variables.scss +1 -0
- package/lib/components/index.d.mts +857 -151
- package/lib/composables/form.mjs +2 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/goto.mjs +16 -18
- package/lib/composables/goto.mjs.map +1 -1
- package/lib/composables/group.mjs +2 -0
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/icons.mjs +17 -13
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/rounded.mjs +5 -1
- package/lib/composables/rounded.mjs.map +1 -1
- package/lib/composables/virtual.mjs +11 -3
- package/lib/composables/virtual.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/fa-svg.mjs +2 -1
- package/lib/iconsets/fa-svg.mjs.map +1 -1
- package/lib/index.d.mts +37 -36
- package/lib/labs/VCalendar/VCalendar.mjs +1 -1
- package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs +1 -1
- package/lib/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs.map +1 -1
- package/lib/labs/VPicker/VPicker.css +2 -2
- package/lib/labs/VPicker/VPicker.sass +2 -2
- package/lib/labs/VPicker/_variables.scss +2 -4
- package/lib/labs/VPicker/index.d.mts +9 -0
- package/lib/labs/VSparkline/VBarline.mjs +138 -0
- package/lib/labs/VSparkline/VBarline.mjs.map +1 -0
- package/lib/labs/VSparkline/VSparkline.mjs +49 -0
- package/lib/labs/VSparkline/VSparkline.mjs.map +1 -0
- package/lib/labs/VSparkline/VTrendline.mjs +143 -0
- package/lib/labs/VSparkline/VTrendline.mjs.map +1 -0
- package/lib/labs/VSparkline/index.d.mts +374 -0
- package/lib/labs/VSparkline/index.mjs +2 -0
- package/lib/labs/VSparkline/index.mjs.map +1 -0
- package/lib/labs/VSparkline/util/line.mjs +52 -0
- package/lib/labs/VSparkline/util/line.mjs.map +1 -0
- package/lib/labs/VSparkline/util/path.mjs +60 -0
- package/lib/labs/VSparkline/util/path.mjs.map +1 -0
- package/lib/labs/components.d.mts +376 -1
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/nl.mjs +1 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/util/helpers.mjs +10 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
- package/lib/components/VDatePicker/VDatePickerTitle.mjs +0 -81
- package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +0 -1
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
597
|
+
VMain: typeof import('vuetify/components')['VMain']
|
|
599
598
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
|
600
599
|
VMenu: typeof import('vuetify/components')['VMenu']
|
|
601
|
-
|
|
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
|
-
|
|
607
|
+
VRating: typeof import('vuetify/components')['VRating']
|
|
609
608
|
VSelect: typeof import('vuetify/components')['VSelect']
|
|
610
|
-
|
|
609
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
|
611
610
|
VSheet: typeof import('vuetify/components')['VSheet']
|
|
612
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
630
|
-
|
|
631
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
|
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","
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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-
|
|
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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"}
|