@vuetify/nightly 3.6.14-master.2024-08-01 → 3.6.14-master.2024-08-02
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/importMap-labs.json +18 -18
- package/dist/json/importMap.json +136 -136
- package/dist/json/web-types.json +1 -1
- package/dist/vuetify-labs.css +3587 -3588
- package/dist/vuetify-labs.esm.js +5 -5
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +5 -5
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2688 -2689
- package/dist/vuetify.d.ts +43 -43
- package/dist/vuetify.esm.js +5 -5
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +5 -5
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +4 -4
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs.map +1 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableColumn.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/components/VDataTable/composables/group.mjs.map +1 -1
- package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
- package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
- package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VEmptyState/VEmptyState.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VFab/VFab.mjs.map +1 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/components/VInput/InputIcon.mjs.map +1 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSparkline/VBarline.mjs.map +1 -1
- package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
- package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
- package/lib/components/VSparkline/util/path.mjs.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/expand-transition.mjs.map +1 -1
- package/lib/composables/border.mjs.map +1 -1
- package/lib/composables/color.mjs.map +1 -1
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/composables/density.mjs.map +1 -1
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/elevation.mjs.map +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/goto.mjs.map +1 -1
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/locale.mjs.map +1 -1
- package/lib/composables/location.mjs.map +1 -1
- package/lib/composables/position.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/rounded.mjs.map +1 -1
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/teleport.mjs.map +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/touch.mjs.map +1 -1
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/directives/color/index.mjs.map +1 -1
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +43 -43
- package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.mjs.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs.map +1 -1
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/services/goto/index.mjs.map +1 -1
- package/lib/services/goto/util.mjs.map +1 -1
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/helpers.mjs +2 -2
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.d.mts
CHANGED
@@ -464,41 +464,41 @@ declare global {
|
|
464
464
|
}
|
465
465
|
}
|
466
466
|
interface _GlobalComponents {
|
467
|
+
VApp: typeof import('vuetify/components')['VApp']
|
467
468
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
468
469
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
469
470
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
470
|
-
VApp: typeof import('vuetify/components')['VApp']
|
471
471
|
VAlert: typeof import('vuetify/components')['VAlert']
|
472
472
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
473
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
474
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
475
|
-
VBadge: typeof import('vuetify/components')['VBadge']
|
476
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
477
|
-
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
478
473
|
VBanner: typeof import('vuetify/components')['VBanner']
|
479
474
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
480
475
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
476
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
477
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
481
478
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
482
479
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
483
480
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
481
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
482
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
483
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
484
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
485
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
486
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
487
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
488
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
484
489
|
VCard: typeof import('vuetify/components')['VCard']
|
485
490
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
486
491
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
487
492
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
488
493
|
VCardText: typeof import('vuetify/components')['VCardText']
|
489
494
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
490
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
491
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
492
|
-
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
493
|
-
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
494
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
495
495
|
VChip: typeof import('vuetify/components')['VChip']
|
496
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
496
497
|
VCode: typeof import('vuetify/components')['VCode']
|
497
|
-
|
498
|
-
|
499
|
-
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
498
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
499
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
500
500
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
501
|
-
|
501
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
502
502
|
VCounter: typeof import('vuetify/components')['VCounter']
|
503
503
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
504
504
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
@@ -514,17 +514,16 @@ interface _GlobalComponents {
|
|
514
514
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
515
515
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
516
516
|
VDialog: typeof import('vuetify/components')['VDialog']
|
517
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
518
517
|
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
519
|
-
|
518
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
520
519
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
521
520
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
522
521
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
523
522
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
523
|
+
VFab: typeof import('vuetify/components')['VFab']
|
524
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
524
525
|
VField: typeof import('vuetify/components')['VField']
|
525
526
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
526
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
527
|
-
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
528
527
|
VFooter: typeof import('vuetify/components')['VFooter']
|
529
528
|
VIcon: typeof import('vuetify/components')['VIcon']
|
530
529
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
@@ -532,10 +531,10 @@ interface _GlobalComponents {
|
|
532
531
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
533
532
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
534
533
|
VImg: typeof import('vuetify/components')['VImg']
|
535
|
-
|
536
|
-
VInput: typeof import('vuetify/components')['VInput']
|
534
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
537
535
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
538
536
|
VItem: typeof import('vuetify/components')['VItem']
|
537
|
+
VInput: typeof import('vuetify/components')['VInput']
|
539
538
|
VLabel: typeof import('vuetify/components')['VLabel']
|
540
539
|
VList: typeof import('vuetify/components')['VList']
|
541
540
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
@@ -546,47 +545,42 @@ interface _GlobalComponents {
|
|
546
545
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
547
546
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
548
547
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
548
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
549
549
|
VMain: typeof import('vuetify/components')['VMain']
|
550
550
|
VMenu: typeof import('vuetify/components')['VMenu']
|
551
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
551
552
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
552
553
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
553
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
554
554
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
555
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
555
556
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
556
557
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
557
|
-
VPagination: typeof import('vuetify/components')['VPagination']
|
558
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
559
558
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
560
559
|
VRating: typeof import('vuetify/components')['VRating']
|
561
560
|
VSelect: typeof import('vuetify/components')['VSelect']
|
562
|
-
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
563
561
|
VSheet: typeof import('vuetify/components')['VSheet']
|
562
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
563
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
564
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
564
565
|
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
565
566
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
566
567
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
567
568
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
568
|
-
VStepper: typeof import('vuetify/components')['VStepper']
|
569
|
-
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
570
|
-
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
571
|
-
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
572
|
-
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
573
|
-
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
574
569
|
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
575
|
-
|
570
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
576
571
|
VTab: typeof import('vuetify/components')['VTab']
|
577
572
|
VTabs: typeof import('vuetify/components')['VTabs']
|
578
573
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
579
574
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
580
|
-
VSwitch: typeof import('vuetify/components')['VSwitch']
|
581
|
-
VTable: typeof import('vuetify/components')['VTable']
|
582
575
|
VTextField: typeof import('vuetify/components')['VTextField']
|
583
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
584
576
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
585
577
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
586
578
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
579
|
+
VTable: typeof import('vuetify/components')['VTable']
|
580
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
581
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
587
582
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
588
583
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
589
|
-
VTooltip: typeof import('vuetify/components')['VTooltip']
|
590
584
|
VWindow: typeof import('vuetify/components')['VWindow']
|
591
585
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
592
586
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
@@ -600,13 +594,13 @@ interface _GlobalComponents {
|
|
600
594
|
VHover: typeof import('vuetify/components')['VHover']
|
601
595
|
VLayout: typeof import('vuetify/components')['VLayout']
|
602
596
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
603
|
-
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
604
597
|
VLazy: typeof import('vuetify/components')['VLazy']
|
598
|
+
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
605
599
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
606
600
|
VParallax: typeof import('vuetify/components')['VParallax']
|
607
601
|
VRadio: typeof import('vuetify/components')['VRadio']
|
608
|
-
VResponsive: typeof import('vuetify/components')['VResponsive']
|
609
602
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
603
|
+
VResponsive: typeof import('vuetify/components')['VResponsive']
|
610
604
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
611
605
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
612
606
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
@@ -628,13 +622,22 @@ interface _GlobalComponents {
|
|
628
622
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
629
623
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
630
624
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
625
|
+
VStepper: typeof import('vuetify/components')['VStepper']
|
626
|
+
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
627
|
+
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
628
|
+
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
629
|
+
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
630
|
+
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
631
|
+
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
631
632
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
632
633
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
633
634
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
634
635
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
635
636
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
636
637
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
637
|
-
|
638
|
+
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
639
|
+
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
640
|
+
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
638
641
|
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
639
642
|
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
640
643
|
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
@@ -643,12 +646,9 @@ interface _GlobalComponents {
|
|
643
646
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
644
647
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
645
648
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
646
|
-
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
647
|
-
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
648
|
-
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
649
649
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
650
|
-
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
651
650
|
VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
|
651
|
+
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
652
652
|
}
|
653
653
|
declare module 'vue' {
|
654
654
|
export type JSXComponent<Props = any> = { new (): ComponentPublicInstance<Props> } | FunctionalComponent<Props>
|
@@ -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","displayValue","weekNumbers","weekDays","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","_mergeProps","length","hideDayHeader","map","weekday","week","wi","day","isSameDay","undefined","events","filter","e","start","end","event","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 event: { day?: Object, allDay: boolean, event: Record<string, unknown> }\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, displayValue, weekNumbers, weekDays } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, 1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, 7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, 1)]\n }\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, -1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, -7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, -1)]\n }\n }\n\n function onClickToday () {\n model.value = [adapter.date()]\n }\n\n const title = computed(() => {\n return adapter.format(displayValue.value, '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__${weekDays.value.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${weekDays.value.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 weekDays.value.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' : ''}__${weekDays.value.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, weekDays.value.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(adapter.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 v-slots={{\n event: slots.event,\n }}\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([displayValue.value as Date], adapter.date() as Date)[0] }\n dayIndex={ 0 }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([displayValue.value as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([displayValue.value 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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","ignoreList":[]}
|
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","displayValue","weekNumbers","weekDays","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","_mergeProps","length","hideDayHeader","map","weekday","week","wi","day","isSameDay","undefined","events","filter","e","start","end","event","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 event: { day?: Object, allDay: boolean, event: Record<string, unknown> }\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, displayValue, weekNumbers, weekDays } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, 1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, 7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, 1)]\n }\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, -1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, -7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, -1)]\n }\n }\n\n function onClickToday () {\n model.value = [adapter.date()]\n }\n\n const title = computed(() => {\n return adapter.format(displayValue.value, '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__${weekDays.value.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${weekDays.value.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 weekDays.value.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' : ''}__${weekDays.value.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, weekDays.value.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(adapter.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 v-slots={{\n event: slots.event,\n }}\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([displayValue.value as Date], adapter.date() as Date)[0] }\n dayIndex={ 0 }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([displayValue.value as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([displayValue.value 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":";AAAA;AACA;;AAEA;AAAA,SACSA,qBAAqB,EAAEC,YAAY;AAAA,SACnCC,wBAAwB,EAAEC,eAAe;AAAA,SACzCC,iBAAiB,mCAE1B;AAAA,SACSC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,OAAO,2CAEhB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,UAAU,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAE9D,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7CG,UAAU,EAAEC,OAAO;EACnBC,cAAc,EAAED,OAAO;EAEvB,GAAGV,iBAAiB,CAAC,CAAC;EACtB,GAAGL,qBAAqB,CAAC,CAAC;EAC1B,GAAGE,wBAAwB,CAAC;AAC9B,CAAC,EAAE,WAAW,CAAC;AAOf,OAAO,MAAMe,SAAS,GAAGP,gBAAgB,CAAiB,CAAC,CAAC;EAC1DQ,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAEN,kBAAkB,CAAC,CAAC;EAE3BO,KAAK,EAAE;IACLC,IAAI,EAAE,IAAI;IACVC,IAAI,EAAE,IAAI;IACV,mBAAmB,EAAE;EACvB,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,OAAO,GAAGpB,OAAO,CAAC,CAAC;IAEzB,MAAM;MAAEqB,WAAW;MAAEC,UAAU;MAAEC,OAAO;MAAEC,KAAK;MAAEC,YAAY;MAAEC,WAAW;MAAEC;IAAS,CAAC,GAAG5B,WAAW,CAACa,KAAY,CAAC;IAElH,MAAMgB,QAAQ,GAAGR,OAAO,CAACS,WAAW,CAAC,CAAC;IAEtC,SAASC,WAAWA,CAAA,EAAI;MACtB,IAAIlB,KAAK,CAACmB,QAAQ,KAAK,OAAO,EAAE;QAC9BP,KAAK,CAACQ,KAAK,GAAG,CAACZ,OAAO,CAACa,SAAS,CAACR,YAAY,CAACO,KAAK,EAAE,CAAC,CAAC,CAAC;MAC1D;MACA,IAAIpB,KAAK,CAACmB,QAAQ,KAAK,MAAM,EAAE;QAC7BP,KAAK,CAACQ,KAAK,GAAG,CAACZ,OAAO,CAACc,OAAO,CAACT,YAAY,CAACO,KAAK,EAAE,CAAC,CAAC,CAAC;MACxD;MACA,IAAIpB,KAAK,CAACmB,QAAQ,KAAK,KAAK,EAAE;QAC5BP,KAAK,CAACQ,KAAK,GAAG,CAACZ,OAAO,CAACc,OAAO,CAACT,YAAY,CAACO,KAAK,EAAE,CAAC,CAAC,CAAC;MACxD;IACF;IAEA,SAASG,WAAWA,CAAA,EAAI;MACtB,IAAIvB,KAAK,CAACmB,QAAQ,KAAK,OAAO,EAAE;QAC9BP,KAAK,CAACQ,KAAK,GAAG,CAACZ,OAAO,CAACa,SAAS,CAACR,YAAY,CAACO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC3D;MACA,IAAIpB,KAAK,CAACmB,QAAQ,KAAK,MAAM,EAAE;QAC7BP,KAAK,CAACQ,KAAK,GAAG,CAACZ,OAAO,CAACc,OAAO,CAACT,YAAY,CAACO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MACzD;MACA,IAAIpB,KAAK,CAACmB,QAAQ,KAAK,KAAK,EAAE;QAC5BP,KAAK,CAACQ,KAAK,GAAG,CAACZ,OAAO,CAACc,OAAO,CAACT,YAAY,CAACO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MACzD;IACF;IAEA,SAASI,YAAYA,CAAA,EAAI;MACvBZ,KAAK,CAACQ,KAAK,GAAG,CAACZ,OAAO,CAACiB,IAAI,CAAC,CAAC,CAAC;IAChC;IAEA,MAAMC,KAAK,GAAGrC,QAAQ,CAAC,MAAM;MAC3B,OAAOmB,OAAO,CAACmB,MAAM,CAACd,YAAY,CAACO,KAAK,EAAE,cAAc,CAAC;IAC3D,CAAC,CAAC;IAEF3B,SAAS,CAAC,MAAM;MACd,MAAMmC,gBAAgB,GAAG9C,YAAY,CAAC+C,WAAW,CAAC7B,KAAK,CAAC;MACxD,MAAM8B,mBAAmB,GAAG9C,eAAe,CAAC6C,WAAW,CAAC7B,KAAK,CAAC;MAE9D,OAAA+B,YAAA;QAAA,SACc,CACV,YAAY,EACZ;UACE,oBAAoB,EAAE/B,KAAK,CAACmB,QAAQ,KAAK,OAAO;UAChD,mBAAmB,EAAEnB,KAAK,CAACmB,QAAQ,KAAK,MAAM;UAC9C,gBAAgB,EAAEnB,KAAK,CAACmB,QAAQ,KAAK;QACvC,CAAC;MACF,IAAAY,YAAA,eAGK,CAAC/B,KAAK,CAACL,UAAU,KACjB,CAACY,KAAK,CAACyB,MAAM,GAAAD,YAAA,CAAA/C,eAAA,EAAAiD,WAAA;QAAA;MAAA,GAGJH,mBAAmB;QAAA,SAChBJ,KAAK,CAACN,KAAK;QAAA,gBACJF,WAAW;QAAA,gBACXK,WAAW;QAAA,mBACRC;MAAY,YAGhCjB,KAAK,CAACyB,MAAM,CAAC;QAAEN,KAAK,EAAEA,KAAK,CAACN;MAAM,CAAC,CACpC,CACF,IAAAW,YAAA;QAAA,SAGS,CAAC,uBAAuB,EAAE,SAAShB,QAAQ,CAACK,KAAK,CAACc,MAAM,EAAE;MAAC,IACnElC,KAAK,CAACmB,QAAQ,KAAK,OAAO,IAAI,CAACnB,KAAK,CAACmC,aAAa,IAAAJ,YAAA;QAAA,SAG9C,CACE,yBAAyB,EACzB,SAAShB,QAAQ,CAACK,KAAK,CAACc,MAAM,EAAE,EAChC,IAAI,CAAClC,KAAK,CAACH,cAAc,GAAG,CAAC,qCAAqC,CAAC,GAAG,EAAE,CAAC,CAC1E;QAAA;MAAA,IAID,CAACG,KAAK,CAACH,cAAc,GAAAkC,YAAA;QAAA;QAAA;MAAA,WAA8E,EAAE,EAErGhB,QAAQ,CAACK,KAAK,CAACgB,GAAG,CAACC,OAAO,IAAAN,YAAA;QAAA,SACX,kCAAkC,CAAC/B,KAAK,CAACH,cAAc,GAAG,kBAAkB,GAAG,EAAE;MAAE,IAC5FmB,QAAQ,CAACqB,OAAO,CAAC,EAEtB,CAAC,EAGP,EAECrC,KAAK,CAACmB,QAAQ,KAAK,OAAO,IAAAY,YAAA;QAAA;QAAA,SAItB,CACE,wBAAwB,EACxB,OAAO,CAAC/B,KAAK,CAACH,cAAc,GAAG,mBAAmB,GAAG,EAAE,KAAKkB,QAAQ,CAACK,KAAK,CAACc,MAAM,EAAE,EACnF,IAAI,CAAClC,KAAK,CAACH,cAAc,GAAG,CAAC,+BAA+B,CAAC,GAAG,EAAE,CAAC;MACpE,IAGDP,UAAU,CAACmB,WAAW,CAACW,KAAK,EAAEL,QAAQ,CAACK,KAAK,CAACc,MAAM,CAAC,CACnDE,GAAG,CAAC,CAACE,IAAI,EAAEC,EAAE,KACZ,CACE,CAACvC,KAAK,CAACH,cAAc,GAAAkC,YAAA;QAAA;MAAA,IAA+CjB,WAAW,CAACM,KAAK,CAACmB,EAAE,CAAC,KAAW,EAAE,EACtGD,IAAI,CAACF,GAAG,CAACI,GAAG,IAAAT,YAAA,CAAA9C,iBAAA;QAAA,SAEAuB,OAAO,CAACiC,SAAS,CAACjC,OAAO,CAACiB,IAAI,CAAC,CAAC,EAAEe,GAAG,CAACf,IAAI,CAAC,GAAG,SAAS,GAAGiB,SAAS;QAAA,OACrEF,GAAG;QAAA,SACDA,GAAG,GAAGhC,OAAO,CAACmB,MAAM,CAACa,GAAG,CAACf,IAAI,EAAE,YAAY,CAAC,GAAG,KAAK;QAAA,UACnDzB,KAAK,CAAC2C,MAAM,EAAEC,MAAM,CAACC,CAAC,IAAIrC,OAAO,CAACiC,SAAS,CAACD,GAAG,CAACf,IAAI,EAAEoB,CAAC,CAACC,KAAK,CAAC,IAAItC,OAAO,CAACiC,SAAS,CAACD,GAAG,CAACf,IAAI,EAAEoB,CAAC,CAACE,GAAG,CAAC;MAAC,GACrG;QACPC,KAAK,EAAEzC,KAAK,CAACyC;MACf,CAAC,CAEJ,CAAC,CAEL,CAAC,EAEP,EAEChD,KAAK,CAACmB,QAAQ,KAAK,MAAM,IACzBT,UAAU,CAACU,KAAK,CAACgB,GAAG,CAAC,CAACI,GAAG,EAAES,CAAC,KAAAlB,YAAA,CAAAjD,YAAA,EAAAmD,WAAA,CAEnBL,gBAAgB;QAAA,OACfY,GAAG;QAAA,YACES,CAAC;QAAA,UACHjD,KAAK,CAAC2C,MAAM,EAAEC,MAAM,CAACC,CAAC,IAAIrC,OAAO,CAACiC,SAAS,CAACI,CAAC,CAACC,KAAK,EAAEN,GAAG,CAACf,IAAI,CAAC,IAAIjB,OAAO,CAACiC,SAAS,CAACI,CAAC,CAACE,GAAG,EAAEP,GAAG,CAACf,IAAI,CAAC;MAAC,SAEjH,CACF,EAECzB,KAAK,CAACmB,QAAQ,KAAK,KAAK,IAAAY,YAAA,CAAAjD,YAAA,EAAAmD,WAAA,CAEjBL,gBAAgB;QAAA,OACfjB,OAAO,CAAC,CAACE,YAAY,CAACO,KAAK,CAAS,EAAEZ,OAAO,CAACiB,IAAI,CAAC,CAAS,CAAC,CAAC,CAAC,CAAC;QAAA,YAC3D,CAAC;QAAA,UAEVzB,KAAK,CAAC2C,MAAM,EAAEC,MAAM,CAACC,CAAC,IACpBrC,OAAO,CAACiC,SAAS,CAACI,CAAC,CAACC,KAAK,EAAEnC,OAAO,CAAC,CAACE,YAAY,CAACO,KAAK,CAAS,EAAEZ,OAAO,CAACiB,IAAI,CAAC,CAAS,CAAC,CAAC,CAAC,CAAC,CAACA,IAAI,CAAC,IACjGjB,OAAO,CAACiC,SAAS,CAACI,CAAC,CAACE,GAAG,EAAEpC,OAAO,CAAC,CAACE,YAAY,CAACO,KAAK,CAAS,EAAEZ,OAAO,CAACiB,IAAI,CAAC,CAAS,CAAC,CAAC,CAAC,CAAC,CAACA,IAAI,CAChG;MAAC,SAGN;IAIT,CAAC,CAAC;IAEF,OAAO;MAAEhB,WAAW;MAAEC,UAAU;MAAEC;IAAQ,CAAC;EAC7C;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VCalendarInterval.mjs","names":["VCalendarIntervalEvent","useDate","computed","convertToUnit","genericComponent","propsFactory","useRender","makeVCalendarIntervalProps","day","type","Object","default","dayIndex","Number","events","Array","intervalDivisions","intervalDuration","intervalHeight","intervalFormat","String","Function","intervalStart","VCalendarInterval","name","props","index","required","setup","_ref","emit","slots","adapter","interval","start","addMinutes","startOfDay","date","end","label","format","filter","e","allDay","isEqual","isWithinRange","map","first","last","_createVNode","value","some","event"],"sources":["../../../src/labs/VCalendar/VCalendarInterval.tsx"],"sourcesContent":["// Styles\nimport './VCalendarInterval.sass'\n\n// Components\nimport { VCalendarIntervalEvent } from './VCalendarIntervalEvent'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarIntervalProps = propsFactory({\n day: {\n type: Object,\n default: () => ({}),\n },\n dayIndex: Number,\n events: Array<any>,\n intervalDivisions: {\n type: Number,\n default: 2,\n },\n intervalDuration: {\n type: Number,\n default: 60,\n },\n intervalHeight: {\n type: Number,\n default: 48,\n },\n intervalFormat: {\n type: [String, Function],\n default: 'fullTime12h',\n },\n intervalStart: {\n type: Number,\n default: 0,\n },\n}, 'VCalendarInterval')\n\nexport const VCalendarInterval = genericComponent()({\n name: 'VCalendarInterval',\n\n props: {\n index: {\n type: Number,\n required: true,\n },\n\n ...makeVCalendarIntervalProps(),\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const interval = computed(() => {\n const start = adapter.addMinutes(adapter.startOfDay(props.day.date), (props.intervalDuration * (props.index + props.intervalStart)))\n const end = adapter.addMinutes(\n adapter.startOfDay(props.day.date),\n (props.intervalDuration * (props.index + props.intervalStart + 1)) - 1\n )\n return {\n ...props.day,\n label: adapter.format(start, 'fullTime24h'),\n start,\n end,\n events: props.events\n ? props.events\n .filter(e => !e.allDay &&\n (adapter.isEqual(start, e.start) ||\n adapter.isWithinRange(e.start, [start, end]) ||\n adapter.isWithinRange(start, [e.start, e.end]) ||\n adapter.isEqual(end, e.end))\n )\n .map(e => {\n return {\n ...e,\n first: adapter.isEqual(start, e.start) || adapter.isWithinRange(e.start, [start, end]),\n last: adapter.isEqual(end, e.end) || adapter.isWithinRange(e.end, [start, end]),\n }\n })\n : [],\n }\n })\n\n useRender(() => {\n return (\n props.dayIndex === 0 ? (\n <div class=\"v-calendar-day__row-with-label\" style={ `height: ${convertToUnit(props.intervalHeight)}` }>\n <div class=\"v-calendar-day__row-label\">\n <slot name=\"intervalFormat\" interval={ interval.value }>\n { props.index\n ? props.intervalFormat\n ? typeof props.intervalFormat === 'string'\n ? adapter.format(interval.value.start, 'hours12h')\n : props.intervalFormat(interval.value)\n : interval.value.label\n : ''\n }\n </slot>\n </div>\n <div class=\"v-calendar-day__row-hairline\"></div>\n <div class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n >\n <slot name=\"intervalBody\" interval={ interval.value }>\n { interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n />\n ))}\n </slot>\n </div>\n </div>\n ) : (\n <div class=\"v-calendar-day__row-without-label\" style={ `height: ${convertToUnit(props.intervalHeight)}` }>\n <div class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n >\n <slot name=\"intervalBody\" interval={ interval.value }>\n { interval.value.events?.filter(event => !event.allDay).map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n />\n ))}\n </slot>\n </div>\n </div>\n )\n )\n })\n\n return { interval }\n },\n})\n\nexport type VCalendarInterval = InstanceType<typeof VCalendarInterval>\n"],"mappings":"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
|
1
|
+
{"version":3,"file":"VCalendarInterval.mjs","names":["VCalendarIntervalEvent","useDate","computed","convertToUnit","genericComponent","propsFactory","useRender","makeVCalendarIntervalProps","day","type","Object","default","dayIndex","Number","events","Array","intervalDivisions","intervalDuration","intervalHeight","intervalFormat","String","Function","intervalStart","VCalendarInterval","name","props","index","required","setup","_ref","emit","slots","adapter","interval","start","addMinutes","startOfDay","date","end","label","format","filter","e","allDay","isEqual","isWithinRange","map","first","last","_createVNode","value","some","event"],"sources":["../../../src/labs/VCalendar/VCalendarInterval.tsx"],"sourcesContent":["// Styles\nimport './VCalendarInterval.sass'\n\n// Components\nimport { VCalendarIntervalEvent } from './VCalendarIntervalEvent'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarIntervalProps = propsFactory({\n day: {\n type: Object,\n default: () => ({}),\n },\n dayIndex: Number,\n events: Array<any>,\n intervalDivisions: {\n type: Number,\n default: 2,\n },\n intervalDuration: {\n type: Number,\n default: 60,\n },\n intervalHeight: {\n type: Number,\n default: 48,\n },\n intervalFormat: {\n type: [String, Function],\n default: 'fullTime12h',\n },\n intervalStart: {\n type: Number,\n default: 0,\n },\n}, 'VCalendarInterval')\n\nexport const VCalendarInterval = genericComponent()({\n name: 'VCalendarInterval',\n\n props: {\n index: {\n type: Number,\n required: true,\n },\n\n ...makeVCalendarIntervalProps(),\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const interval = computed(() => {\n const start = adapter.addMinutes(adapter.startOfDay(props.day.date), (props.intervalDuration * (props.index + props.intervalStart)))\n const end = adapter.addMinutes(\n adapter.startOfDay(props.day.date),\n (props.intervalDuration * (props.index + props.intervalStart + 1)) - 1\n )\n return {\n ...props.day,\n label: adapter.format(start, 'fullTime24h'),\n start,\n end,\n events: props.events\n ? props.events\n .filter(e => !e.allDay &&\n (adapter.isEqual(start, e.start) ||\n adapter.isWithinRange(e.start, [start, end]) ||\n adapter.isWithinRange(start, [e.start, e.end]) ||\n adapter.isEqual(end, e.end))\n )\n .map(e => {\n return {\n ...e,\n first: adapter.isEqual(start, e.start) || adapter.isWithinRange(e.start, [start, end]),\n last: adapter.isEqual(end, e.end) || adapter.isWithinRange(e.end, [start, end]),\n }\n })\n : [],\n }\n })\n\n useRender(() => {\n return (\n props.dayIndex === 0 ? (\n <div class=\"v-calendar-day__row-with-label\" style={ `height: ${convertToUnit(props.intervalHeight)}` }>\n <div class=\"v-calendar-day__row-label\">\n <slot name=\"intervalFormat\" interval={ interval.value }>\n { props.index\n ? props.intervalFormat\n ? typeof props.intervalFormat === 'string'\n ? adapter.format(interval.value.start, 'hours12h')\n : props.intervalFormat(interval.value)\n : interval.value.label\n : ''\n }\n </slot>\n </div>\n <div class=\"v-calendar-day__row-hairline\"></div>\n <div class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n >\n <slot name=\"intervalBody\" interval={ interval.value }>\n { interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n />\n ))}\n </slot>\n </div>\n </div>\n ) : (\n <div class=\"v-calendar-day__row-without-label\" style={ `height: ${convertToUnit(props.intervalHeight)}` }>\n <div class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n >\n <slot name=\"intervalBody\" interval={ interval.value }>\n { interval.value.events?.filter(event => !event.allDay).map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n />\n ))}\n </slot>\n </div>\n </div>\n )\n )\n })\n\n return { interval }\n },\n})\n\nexport type VCalendarInterval = InstanceType<typeof VCalendarInterval>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VCalendarIntervalEvent.mjs","names":["VSheet","useDate","convertToUnit","genericComponent","propsFactory","useRender","makeVCalendarIntervalEventProps","allDay","Boolean","interval","Object","intervalDivisions","type","Number","required","intervalDuration","intervalHeight","event","VCalendarIntervalEvent","name","props","setup","adapter","calcHeight","first","last","isEqual","start","height","margin","Array","from","length","x","reduce","total","div","index","isBefore","addMinutes","_createVNode","color","undefined","default","title"],"sources":["../../../src/labs/VCalendar/VCalendarIntervalEvent.tsx"],"sourcesContent":["// Styles\nimport './VCalendarIntervalEvent.sass'\n\n// Components\nimport { VSheet } from '@/components/VSheet'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarIntervalEventProps = propsFactory({\n allDay: Boolean,\n interval: Object,\n intervalDivisions: {\n type: Number,\n required: true,\n },\n intervalDuration: {\n type: Number,\n required: true,\n },\n intervalHeight: {\n type: Number,\n required: true,\n },\n event: Object,\n}, 'VCalendarIntervalEvent')\n\nexport const VCalendarIntervalEvent = genericComponent()({\n name: 'VCalendarIntervalEvent',\n\n props: makeVCalendarIntervalEventProps(),\n\n setup (props) {\n const adapter = useDate()\n const calcHeight = () => {\n if ((!props.event?.first && !props.event?.last) || adapter.isEqual(props.event?.start, props.interval?.start)) {\n return { height: '100%', margin: convertToUnit(0) }\n } else {\n const { height, margin } = Array.from({ length: props.intervalDivisions },\n (x: number) => x * (props.intervalDuration / props.intervalDivisions)).reduce((total, div, index) => {\n if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.start)) {\n return {\n height: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n margin: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n }\n }\n return { height: total.height, margin: total.margin }\n }, { height: '', margin: '' })\n return { height, margin }\n }\n }\n\n useRender(() => {\n return (\n <VSheet\n height={ calcHeight().height }\n density=\"comfortable\"\n style={ `margin-top: ${calcHeight().margin}` }\n class=\"v-calendar-internal-event\"\n color={ props.event?.color ?? undefined }\n rounded={ props.event?.first && props.event?.last\n ? true\n : props.event?.first\n ? 't'\n : props.event?.last\n ? 'b'\n : false }\n >\n { props.event?.first ? props.event?.title : '' }\n </VSheet>\n )\n })\n\n return {}\n },\n\n})\n\nexport type VCalendarIntervalEvent = InstanceType<typeof VCalendarIntervalEvent>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,MAAM,6CAEf;AAAA,SACSC,OAAO,4CAEhB;AAAA,SACSC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAEjE,OAAO,MAAMC,+BAA+B,GAAGF,YAAY,CAAC;EAC1DG,MAAM,EAAEC,OAAO;EACfC,QAAQ,EAAEC,MAAM;EAChBC,iBAAiB,EAAE;IACjBC,IAAI,EAAEC,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDC,gBAAgB,EAAE;IAChBH,IAAI,EAAEC,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDE,cAAc,EAAE;IACdJ,IAAI,EAAEC,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDG,KAAK,EAAEP;AACT,CAAC,EAAE,wBAAwB,CAAC;AAE5B,OAAO,MAAMQ,sBAAsB,GAAGf,gBAAgB,CAAC,CAAC,CAAC;EACvDgB,IAAI,EAAE,wBAAwB;EAE9BC,KAAK,EAAEd,+BAA+B,CAAC,CAAC;EAExCe,KAAKA,CAAED,KAAK,EAAE;IACZ,MAAME,OAAO,GAAGrB,OAAO,CAAC,CAAC;IACzB,MAAMsB,UAAU,GAAGA,CAAA,KAAM;MACvB,IAAK,CAACH,KAAK,CAACH,KAAK,EAAEO,KAAK,IAAI,CAACJ,KAAK,CAACH,KAAK,EAAEQ,IAAI,IAAKH,OAAO,CAACI,OAAO,CAACN,KAAK,CAACH,KAAK,EAAEU,KAAK,EAAEP,KAAK,CAACX,QAAQ,EAAEkB,KAAK,CAAC,EAAE;QAC7G,OAAO;UAAEC,MAAM,EAAE,MAAM;UAAEC,MAAM,EAAE3B,aAAa,CAAC,CAAC;QAAE,CAAC;MACrD,CAAC,MAAM;QACL,MAAM;UAAE0B,MAAM;UAAEC;QAAO,CAAC,GAAGC,KAAK,CAACC,IAAI,CAAC;UAAEC,MAAM,EAAEZ,KAAK,CAACT;QAAkB,CAAC,EACtEsB,CAAS,IAAKA,CAAC,IAAIb,KAAK,CAACL,gBAAgB,GAAGK,KAAK,CAACT,iBAAiB,CAAC,CAAC,CAACuB,MAAM,CAAC,CAACC,KAAK,EAAEC,GAAG,EAAEC,KAAK,KAAK;UACrG,IAAIf,OAAO,CAACgB,QAAQ,CAAChB,OAAO,CAACiB,UAAU,CAACnB,KAAK,CAACX,QAAQ,EAAEkB,KAAK,EAAES,GAAG,CAAC,EAAEhB,KAAK,CAACH,KAAK,EAAEU,KAAK,CAAC,EAAE;YACxF,OAAO;cACLC,MAAM,EAAE1B,aAAa,CAAEkB,KAAK,CAACJ,cAAc,GAAGI,KAAK,CAACT,iBAAiB,GAAI0B,KAAK,CAAC;cAC/ER,MAAM,EAAE3B,aAAa,CAAEkB,KAAK,CAACJ,cAAc,GAAGI,KAAK,CAACT,iBAAiB,GAAI0B,KAAK;YAChF,CAAC;UACH;UACA,OAAO;YAAET,MAAM,EAAEO,KAAK,CAACP,MAAM;YAAEC,MAAM,EAAEM,KAAK,CAACN;UAAO,CAAC;QACvD,CAAC,EAAE;UAAED,MAAM,EAAE,EAAE;UAAEC,MAAM,EAAE;QAAG,CAAC,CAAC;QAC9B,OAAO;UAAED,MAAM;UAAEC;QAAO,CAAC;MAC3B;IACF,CAAC;IAEDxB,SAAS,CAAC,MAAM;MACd,OAAAmC,YAAA,CAAAxC,MAAA;QAAA,UAEauB,UAAU,CAAC,CAAC,CAACK,MAAM;QAAA;QAAA,
|
1
|
+
{"version":3,"file":"VCalendarIntervalEvent.mjs","names":["VSheet","useDate","convertToUnit","genericComponent","propsFactory","useRender","makeVCalendarIntervalEventProps","allDay","Boolean","interval","Object","intervalDivisions","type","Number","required","intervalDuration","intervalHeight","event","VCalendarIntervalEvent","name","props","setup","adapter","calcHeight","first","last","isEqual","start","height","margin","Array","from","length","x","reduce","total","div","index","isBefore","addMinutes","_createVNode","color","undefined","default","title"],"sources":["../../../src/labs/VCalendar/VCalendarIntervalEvent.tsx"],"sourcesContent":["// Styles\nimport './VCalendarIntervalEvent.sass'\n\n// Components\nimport { VSheet } from '@/components/VSheet'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarIntervalEventProps = propsFactory({\n allDay: Boolean,\n interval: Object,\n intervalDivisions: {\n type: Number,\n required: true,\n },\n intervalDuration: {\n type: Number,\n required: true,\n },\n intervalHeight: {\n type: Number,\n required: true,\n },\n event: Object,\n}, 'VCalendarIntervalEvent')\n\nexport const VCalendarIntervalEvent = genericComponent()({\n name: 'VCalendarIntervalEvent',\n\n props: makeVCalendarIntervalEventProps(),\n\n setup (props) {\n const adapter = useDate()\n const calcHeight = () => {\n if ((!props.event?.first && !props.event?.last) || adapter.isEqual(props.event?.start, props.interval?.start)) {\n return { height: '100%', margin: convertToUnit(0) }\n } else {\n const { height, margin } = Array.from({ length: props.intervalDivisions },\n (x: number) => x * (props.intervalDuration / props.intervalDivisions)).reduce((total, div, index) => {\n if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.start)) {\n return {\n height: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n margin: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n }\n }\n return { height: total.height, margin: total.margin }\n }, { height: '', margin: '' })\n return { height, margin }\n }\n }\n\n useRender(() => {\n return (\n <VSheet\n height={ calcHeight().height }\n density=\"comfortable\"\n style={ `margin-top: ${calcHeight().margin}` }\n class=\"v-calendar-internal-event\"\n color={ props.event?.color ?? undefined }\n rounded={ props.event?.first && props.event?.last\n ? true\n : props.event?.first\n ? 't'\n : props.event?.last\n ? 'b'\n : false }\n >\n { props.event?.first ? props.event?.title : '' }\n </VSheet>\n )\n })\n\n return {}\n },\n\n})\n\nexport type VCalendarIntervalEvent = InstanceType<typeof VCalendarIntervalEvent>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDateInput.mjs","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeFocusProps","useFocus","useLocale","useProxiedModel","computed","shallowRef","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","hideActions","Boolean","placeholder","prependIcon","weeksInMonth","hideHeader","VDateInput","name","props","emits","val","setup","_ref","slots","t","adapter","isFocused","focus","blur","model","multiple","menu","display","value","length","start","end","isValid","format","isInteractive","disabled","readonly","onKeydown","e","key","target","date","onClick","preventDefault","stopPropagation","onSave","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","undefined","default","$event","_ref2","actions","proxyModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nexport interface VDateInputSlots {\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n hideActions: Boolean,\n\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps({\n placeholder: 'mm/dd/yyyy',\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n weeksInMonth: 'dynamic' as const,\n hideHeader: true,\n }), ['active']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(props, 'modelValue', props.multiple ? [] : null)\n const menu = shallowRef(false)\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n return adapter.isValid(start) && adapter.isValid(end)\n ? `${adapter.format(start, 'keyboardDate')} - ${adapter.format(end, 'keyboardDate')}`\n : ''\n }\n\n return adapter.isValid(model.value) ? adapter.format(model.value, 'keyboardDate') : ''\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n\n return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = adapter.date(target.value)\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n menu.value = true\n }\n\n function onSave () {\n menu.value = false\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active']))\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ blur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n >\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n >\n {{\n default: ({ actions, model: proxyModel }) => {\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ val => {\n if (!props.hideActions) {\n proxyModel.value = val\n } else {\n model.value = val\n\n if (!props.multiple) menu.value = false\n }\n }}\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => actions : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </VTextField>\n )\n })\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDateInput.mjs","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeFocusProps","useFocus","useLocale","useProxiedModel","computed","shallowRef","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","hideActions","Boolean","placeholder","prependIcon","weeksInMonth","hideHeader","VDateInput","name","props","emits","val","setup","_ref","slots","t","adapter","isFocused","focus","blur","model","multiple","menu","display","value","length","start","end","isValid","format","isInteractive","disabled","readonly","onKeydown","e","key","target","date","onClick","preventDefault","stopPropagation","onSave","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","undefined","default","$event","_ref2","actions","proxyModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nexport interface VDateInputSlots {\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n hideActions: Boolean,\n\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps({\n placeholder: 'mm/dd/yyyy',\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n weeksInMonth: 'dynamic' as const,\n hideHeader: true,\n }), ['active']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(props, 'modelValue', props.multiple ? [] : null)\n const menu = shallowRef(false)\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n return adapter.isValid(start) && adapter.isValid(end)\n ? `${adapter.format(start, 'keyboardDate')} - ${adapter.format(end, 'keyboardDate')}`\n : ''\n }\n\n return adapter.isValid(model.value) ? adapter.format(model.value, 'keyboardDate') : ''\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n\n return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = adapter.date(target.value)\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n menu.value = true\n }\n\n function onSave () {\n menu.value = false\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active']))\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ blur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n >\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n >\n {{\n default: ({ actions, model: proxyModel }) => {\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ val => {\n if (!props.hideActions) {\n proxyModel.value = val\n } else {\n model.value = val\n\n if (!props.multiple) menu.value = false\n }\n }}\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => actions : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </VTextField>\n )\n })\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VStepperVertical.mjs","names":["VStepperVerticalItem","makeVExpansionPanelsProps","VExpansionPanels","makeStepperProps","provideDefaults","useProxiedModel","computed","ref","toRefs","genericComponent","getPropertyFromItem","omit","propsFactory","useRender","makeVStepperVerticalProps","prevText","type","String","default","nextText","mandatory","variant","VStepperVertical","name","props","emits","val","setup","_ref","slots","vExpansionPanelsRef","color","eager","editable","hideActions","model","items","map","item","index","title","itemTitle","value","itemValue","raw","static","VStepperActions","expansionPanelProps","filterProps","_createVNode","_mergeProps","$event","altLabels","flat","nonLinear","mobile","class","style","_ref2","prev","next","_Fragment","_ref3","step"],"sources":["../../../src/labs/VStepperVertical/VStepperVertical.tsx"],"sourcesContent":["// Components\nimport { VStepperVerticalItem } from './VStepperVerticalItem'\nimport { makeVExpansionPanelsProps, VExpansionPanels } from '@/components/VExpansionPanel/VExpansionPanels'\nimport { makeStepperProps } from '@/components/VStepper/VStepper'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, toRefs } from 'vue'\nimport { genericComponent, getPropertyFromItem, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VStepperSlot } from '@/components/VStepper/VStepper'\nimport type { StepperItem, StepperItemSlot } from '@/components/VStepper/VStepperItem'\n\nexport type VStepperVerticalSlots = {\n actions: StepperItemSlot\n default: VStepperSlot & { step: unknown }\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n item: StepperItem\n prev: StepperItemSlot\n next: StepperItemSlot\n} & {\n [key: `header-item.${string}`]: StepperItemSlot\n [key: `item.${string}`]: StepperItem\n}\n\nexport const makeVStepperVerticalProps = propsFactory({\n prevText: {\n type: String,\n default: '$vuetify.stepper.prev',\n },\n nextText: {\n type: String,\n default: '$vuetify.stepper.next',\n },\n\n ...makeStepperProps(),\n ...omit(makeVExpansionPanelsProps({\n mandatory: 'force' as const,\n variant: 'accordion' as const,\n }), ['static']),\n}, 'VStepperVertical')\n\nexport const VStepperVertical = genericComponent<VStepperVerticalSlots>()({\n name: 'VStepperVertical',\n\n props: makeVStepperVerticalProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const vExpansionPanelsRef = ref<typeof VExpansionPanels>()\n const { color, eager, editable, prevText, nextText, hideActions } = toRefs(props)\n\n const model = useProxiedModel(props, 'modelValue')\n const items = computed(() => props.items.map((item, index) => {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, index + 1)\n\n return {\n title,\n value,\n raw: item,\n }\n }))\n\n provideDefaults({\n VStepperVerticalItem: {\n color,\n eager,\n editable,\n prevText,\n nextText,\n hideActions,\n static: true,\n },\n VStepperActions: {\n color,\n },\n })\n\n useRender(() => {\n const expansionPanelProps = VExpansionPanels.filterProps(props)\n\n return (\n <VExpansionPanels\n { ...expansionPanelProps }\n v-model={ model.value }\n ref={ vExpansionPanelsRef }\n class={[\n 'v-stepper',\n {\n 'v-stepper--alt-labels': props.altLabels,\n 'v-stepper--flat': props.flat,\n 'v-stepper--non-linear': props.nonLinear,\n 'v-stepper--mobile': props.mobile,\n },\n props.class,\n ]}\n style={ props.style }\n >\n {{\n ...slots,\n default: ({\n prev,\n next,\n }) => {\n return (\n <>\n { items.value.map(({ raw, ...item }) => (\n <VStepperVerticalItem { ...item }>\n {{\n ...slots,\n default: slots[`item.${item.value}`],\n }}\n </VStepperVerticalItem>\n ))}\n\n { slots.default?.({ prev, next, step: model.value }) }\n </>\n )\n },\n }}\n </VExpansionPanels>\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperVertical = InstanceType<typeof VStepperVertical>\n"],"mappings":"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
|
1
|
+
{"version":3,"file":"VStepperVertical.mjs","names":["VStepperVerticalItem","makeVExpansionPanelsProps","VExpansionPanels","makeStepperProps","provideDefaults","useProxiedModel","computed","ref","toRefs","genericComponent","getPropertyFromItem","omit","propsFactory","useRender","makeVStepperVerticalProps","prevText","type","String","default","nextText","mandatory","variant","VStepperVertical","name","props","emits","val","setup","_ref","slots","vExpansionPanelsRef","color","eager","editable","hideActions","model","items","map","item","index","title","itemTitle","value","itemValue","raw","static","VStepperActions","expansionPanelProps","filterProps","_createVNode","_mergeProps","$event","altLabels","flat","nonLinear","mobile","class","style","_ref2","prev","next","_Fragment","_ref3","step"],"sources":["../../../src/labs/VStepperVertical/VStepperVertical.tsx"],"sourcesContent":["// Components\nimport { VStepperVerticalItem } from './VStepperVerticalItem'\nimport { makeVExpansionPanelsProps, VExpansionPanels } from '@/components/VExpansionPanel/VExpansionPanels'\nimport { makeStepperProps } from '@/components/VStepper/VStepper'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, toRefs } from 'vue'\nimport { genericComponent, getPropertyFromItem, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VStepperSlot } from '@/components/VStepper/VStepper'\nimport type { StepperItem, StepperItemSlot } from '@/components/VStepper/VStepperItem'\n\nexport type VStepperVerticalSlots = {\n actions: StepperItemSlot\n default: VStepperSlot & { step: unknown }\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n item: StepperItem\n prev: StepperItemSlot\n next: StepperItemSlot\n} & {\n [key: `header-item.${string}`]: StepperItemSlot\n [key: `item.${string}`]: StepperItem\n}\n\nexport const makeVStepperVerticalProps = propsFactory({\n prevText: {\n type: String,\n default: '$vuetify.stepper.prev',\n },\n nextText: {\n type: String,\n default: '$vuetify.stepper.next',\n },\n\n ...makeStepperProps(),\n ...omit(makeVExpansionPanelsProps({\n mandatory: 'force' as const,\n variant: 'accordion' as const,\n }), ['static']),\n}, 'VStepperVertical')\n\nexport const VStepperVertical = genericComponent<VStepperVerticalSlots>()({\n name: 'VStepperVertical',\n\n props: makeVStepperVerticalProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const vExpansionPanelsRef = ref<typeof VExpansionPanels>()\n const { color, eager, editable, prevText, nextText, hideActions } = toRefs(props)\n\n const model = useProxiedModel(props, 'modelValue')\n const items = computed(() => props.items.map((item, index) => {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, index + 1)\n\n return {\n title,\n value,\n raw: item,\n }\n }))\n\n provideDefaults({\n VStepperVerticalItem: {\n color,\n eager,\n editable,\n prevText,\n nextText,\n hideActions,\n static: true,\n },\n VStepperActions: {\n color,\n },\n })\n\n useRender(() => {\n const expansionPanelProps = VExpansionPanels.filterProps(props)\n\n return (\n <VExpansionPanels\n { ...expansionPanelProps }\n v-model={ model.value }\n ref={ vExpansionPanelsRef }\n class={[\n 'v-stepper',\n {\n 'v-stepper--alt-labels': props.altLabels,\n 'v-stepper--flat': props.flat,\n 'v-stepper--non-linear': props.nonLinear,\n 'v-stepper--mobile': props.mobile,\n },\n props.class,\n ]}\n style={ props.style }\n >\n {{\n ...slots,\n default: ({\n prev,\n next,\n }) => {\n return (\n <>\n { items.value.map(({ raw, ...item }) => (\n <VStepperVerticalItem { ...item }>\n {{\n ...slots,\n default: slots[`item.${item.value}`],\n }}\n </VStepperVerticalItem>\n ))}\n\n { slots.default?.({ prev, next, step: model.value }) }\n </>\n )\n },\n }}\n </VExpansionPanels>\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperVertical = InstanceType<typeof VStepperVertical>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTimePicker.mjs","names":["VTimePickerClock","VTimePickerControls","pad","makeVPickerProps","VPicker","useLocale","computed","onMounted","ref","watch","SelectingTimes","createRange","genericComponent","omit","propsFactory","useRender","rangeHours24","rangeHours12am","rangeHours12pm","map","v","range60","selectingNames","makeVTimePickerProps","allowedHours","Function","Array","allowedMinutes","allowedSeconds","ampmInTitle","Boolean","disabled","format","type","String","default","max","min","modelValue","readonly","scrollable","useSeconds","title","VTimePicker","name","props","emits","val","setup","_ref","emit","slots","t","inputHour","inputMinute","inputSecond","lazyInputHour","lazyInputMinute","lazyInputSecond","period","selecting","Hour","controlsRef","clockRef","isAllowedHourCb","cb","includes","minHour","Number","split","maxHour","isAllowedMinuteCb","isHourAllowed","value","minMinute","maxMinute","minTime","maxTime","time","isAllowedSecondCb","isMinuteAllowed","minSecond","maxSecond","isAmPm","setInputData","genValue","emitValue","convert24to12","hour","convert12to24","Date","getHours","getMinutes","getSeconds","minute","second","trim","toLowerCase","match","parseInt","firstAllowed","allowedFn","range","first","find","length","setPeriod","newHour","onInput","Minute","onChange","emitChange","Second","pickerProps","filterProps","timePickerControlsProps","timePickerClockProps","_createVNode","_mergeProps","undefined","class","style","header","actions"],"sources":["../../../src/labs/VTimePicker/VTimePicker.tsx"],"sourcesContent":["// Styles\nimport './VTimePicker.sass'\n\n// Components\nimport { VTimePickerClock } from './VTimePickerClock'\nimport { VTimePickerControls } from './VTimePickerControls'\nimport { pad } from '@/components/VDatePicker/util'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { SelectingTimes } from './SelectingTimes'\nimport { createRange, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\ntype Period = 'am' | 'pm'\ntype AllowFunction = (val: number) => boolean\n\nconst rangeHours24 = createRange(24)\nconst rangeHours12am = createRange(12)\nconst rangeHours12pm = rangeHours12am.map(v => v + 12)\nconst range60 = createRange(60)\nconst selectingNames = { 1: 'hour', 2: 'minute', 3: 'second' }\n\nexport { SelectingTimes }\n\nexport type VTimePickerSlots = Omit<VPickerSlots, 'header'>\n\nexport const makeVTimePickerProps = propsFactory({\n allowedHours: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedMinutes: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedSeconds: [Function, Array] as PropType<AllowFunction | number[]>,\n ampmInTitle: Boolean,\n disabled: Boolean,\n format: {\n type: String as PropType<'ampm' | '24hr'>,\n default: 'ampm',\n },\n max: String,\n min: String,\n modelValue: null as any as PropType<any>,\n readonly: Boolean,\n scrollable: Boolean,\n useSeconds: Boolean,\n ...omit(makeVPickerProps({ title: '$vuetify.timePicker.title' }), ['landscape']),\n}, 'VTimePicker')\n\nexport const VTimePicker = genericComponent<VTimePickerSlots>()({\n name: 'VTimePicker',\n\n props: makeVTimePickerProps(),\n\n emits: {\n 'update:hour': (val: number) => true,\n 'update:minute': (val: number) => true,\n 'update:period': (val: Period) => true,\n 'update:second': (val: number) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const inputHour = ref(null as number | null)\n const inputMinute = ref(null as number | null)\n const inputSecond = ref(null as number | null)\n const lazyInputHour = ref(null as number | null)\n const lazyInputMinute = ref(null as number | null)\n const lazyInputSecond = ref(null as number | null)\n const period = ref('am' as Period)\n const selecting = ref(SelectingTimes.Hour)\n const controlsRef = ref<VTimePickerControls | null>(null)\n const clockRef = ref<VTimePickerClock | null>(null)\n\n const isAllowedHourCb = computed((): AllowFunction => {\n let cb: AllowFunction\n\n if (props.allowedHours instanceof Array) {\n cb = (val: number) => (props.allowedHours as number[]).includes(val)\n } else {\n cb = props.allowedHours as AllowFunction\n }\n\n if (!props.min && !props.max) return cb\n\n const minHour = props.min ? Number(props.min.split(':')[0]) : 0\n const maxHour = props.max ? Number(props.max.split(':')[0]) : 23\n\n return (val: number) => {\n return val >= minHour * 1 &&\n val <= maxHour * 1 &&\n (!cb || cb(val))\n }\n })\n\n const isAllowedMinuteCb = computed((): AllowFunction => {\n let cb: AllowFunction\n\n const isHourAllowed = !isAllowedHourCb.value || inputHour.value === null || isAllowedHourCb.value(inputHour.value)\n if (props.allowedMinutes instanceof Array) {\n cb = (val: number) => (props.allowedMinutes as number[]).includes(val)\n } else {\n cb = props.allowedMinutes as AllowFunction\n }\n\n if (!props.min && !props.max) {\n return isHourAllowed ? cb : () => false\n }\n\n const [minHour, minMinute] = props.min ? props.min.split(':').map(Number) : [0, 0]\n const [maxHour, maxMinute] = props.max ? props.max.split(':').map(Number) : [23, 59]\n const minTime = minHour * 60 + minMinute * 1\n const maxTime = maxHour * 60 + maxMinute * 1\n\n return (val: number) => {\n const time = 60 * inputHour.value! + val\n return time >= minTime &&\n time <= maxTime &&\n isHourAllowed &&\n (!cb || cb(val))\n }\n })\n\n const isAllowedSecondCb = computed((): AllowFunction => {\n let cb: AllowFunction\n\n const isHourAllowed = !isAllowedHourCb.value || inputHour.value === null || isAllowedHourCb.value(inputHour.value)\n const isMinuteAllowed = isHourAllowed &&\n (!isAllowedMinuteCb.value ||\n inputMinute.value === null ||\n isAllowedMinuteCb.value(inputMinute.value)\n )\n\n if (props.allowedSeconds instanceof Array) {\n cb = (val: number) => (props.allowedSeconds as number[]).includes(val)\n } else {\n cb = props.allowedSeconds as AllowFunction\n }\n\n if (!props.min && !props.max) {\n return isMinuteAllowed ? cb : () => false\n }\n\n const [minHour, minMinute, minSecond] = props.min ? props.min.split(':').map(Number) : [0, 0, 0]\n const [maxHour, maxMinute, maxSecond] = props.max ? props.max.split(':').map(Number) : [23, 59, 59]\n const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0) * 1\n const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0) * 1\n\n return (val: number) => {\n const time = 3600 * inputHour.value! + 60 * inputMinute.value! + val\n return time >= minTime &&\n time <= maxTime &&\n isMinuteAllowed &&\n (!cb || cb(val))\n }\n })\n\n const isAmPm = computed((): boolean => {\n return props.format === 'ampm'\n })\n\n watch(() => props.modelValue, val => setInputData(val))\n\n onMounted(() => {\n setInputData(props.modelValue)\n })\n\n function genValue () {\n if (inputHour.value != null && inputMinute.value != null && (!props.useSeconds || inputSecond.value != null)) {\n return `${pad(inputHour.value)}:${pad(inputMinute.value)}` + (props.useSeconds ? `:${pad(inputSecond.value!)}` : '')\n }\n\n return null\n }\n\n function emitValue () {\n const value = genValue()\n if (value !== null) emit('update:modelValue', value)\n }\n\n function convert24to12 (hour: number) {\n return hour ? ((hour - 1) % 12 + 1) : 12\n }\n\n function convert12to24 (hour: number, period: Period) {\n return hour % 12 + (period === 'pm' ? 12 : 0)\n }\n\n function setInputData (value: string | null | Date) {\n if (value == null || value === '') {\n inputHour.value = null\n inputMinute.value = null\n inputSecond.value = null\n } else if (value instanceof Date) {\n inputHour.value = value.getHours()\n inputMinute.value = value.getMinutes()\n inputSecond.value = value.getSeconds()\n } else {\n const [hour, , minute, , second, period] = value.trim().toLowerCase().match(/^(\\d+):(\\d+)(:(\\d+))?([ap]m)?$/) || new Array(6)\n\n inputHour.value = period ? convert12to24(parseInt(hour, 10), period as Period) : parseInt(hour, 10)\n inputMinute.value = parseInt(minute, 10)\n inputSecond.value = parseInt(second || 0, 10)\n }\n\n period.value = (inputHour.value == null || inputHour.value < 12) ? 'am' : 'pm'\n }\n\n function firstAllowed (type: 'hour' | 'minute' | 'second', value: number) {\n const allowedFn = type === 'hour' ? isAllowedHourCb.value : (type === 'minute' ? isAllowedMinuteCb.value : isAllowedSecondCb.value)\n if (!allowedFn) return value\n\n // TODO: clean up (Note from V2 code)\n const range = type === 'minute'\n ? range60\n : (type === 'second'\n ? range60\n : (isAmPm.value\n ? (value < 12\n ? rangeHours12am\n : rangeHours12pm)\n : rangeHours24))\n const first = range.find(v => allowedFn((v + value) % range.length + range[0]))\n return ((first || 0) + value) % range.length + range[0]\n }\n\n function setPeriod (val: Period) {\n period.value = val\n if (inputHour.value != null) {\n const newHour = inputHour.value! + (period.value === 'am' ? -12 : 12)\n inputHour.value = firstAllowed('hour', newHour)\n }\n emit('update:period', val)\n emitValue()\n return true\n }\n\n function onInput (value: number) {\n if (selecting.value === SelectingTimes.Hour) {\n inputHour.value = isAmPm.value ? convert12to24(value, period.value) : value\n } else if (selecting.value === SelectingTimes.Minute) {\n inputMinute.value = value\n } else {\n inputSecond.value = value\n }\n }\n\n function onChange (value: number) {\n switch (selectingNames[selecting.value]) {\n case 'hour':\n emit('update:hour', value)\n break\n case 'minute':\n emit('update:minute', value)\n break\n case 'second':\n emit('update:second', value)\n break\n default:\n break\n }\n\n const emitChange = selecting.value === (props.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute)\n\n if (selecting.value === SelectingTimes.Hour) {\n selecting.value = SelectingTimes.Minute\n } else if (props.useSeconds && selecting.value === SelectingTimes.Minute) {\n selecting.value = SelectingTimes.Second\n }\n\n if (inputHour.value === lazyInputHour.value &&\n inputMinute.value === lazyInputMinute.value &&\n (!props.useSeconds || inputSecond.value === lazyInputSecond.value)\n ) return\n\n const time = genValue()\n if (time === null) return\n\n lazyInputHour.value = inputHour.value\n lazyInputMinute.value = inputMinute.value\n props.useSeconds && (lazyInputSecond.value = inputSecond.value)\n\n emitChange && emitValue()\n }\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const timePickerControlsProps = VTimePickerControls.filterProps(props)\n const timePickerClockProps = VTimePickerClock.filterProps(omit(props, ['format', 'modelValue', 'min', 'max']))\n\n return (\n <VPicker\n { ...pickerProps }\n color={ undefined }\n class={[\n 'v-time-picker',\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-time-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => (\n <VTimePickerControls\n { ...timePickerControlsProps }\n ampm={ isAmPm.value || props.ampmInTitle }\n ampmReadonly={ isAmPm.value && !props.ampmInTitle }\n hour={ inputHour.value as number }\n minute={ inputMinute.value as number }\n period={ period.value }\n second={ inputSecond.value as number }\n selecting={ selecting.value }\n onUpdate:period={ (val: Period) => setPeriod(val) }\n onUpdate:selecting={ (value: 1 | 2 | 3) => (selecting.value = value) }\n ref={ controlsRef }\n />\n ),\n default: () => (\n <VTimePickerClock\n { ...timePickerClockProps }\n allowedValues={\n selecting.value === SelectingTimes.Hour\n ? isAllowedHourCb.value\n : (selecting.value === SelectingTimes.Minute\n ? isAllowedMinuteCb.value\n : isAllowedSecondCb.value)\n }\n double={ selecting.value === SelectingTimes.Hour && !isAmPm.value }\n format={ selecting.value === SelectingTimes.Hour\n ? (isAmPm.value ? convert24to12 : (val: number) => val)\n : (val: number) => pad(val, 2)\n }\n max={ selecting.value === SelectingTimes.Hour ? (isAmPm.value && period.value === 'am' ? 11 : 23) : 59 }\n min={ selecting.value === SelectingTimes.Hour && isAmPm.value && period.value === 'pm' ? 12 : 0 }\n size={ 20 }\n step={ selecting.value === SelectingTimes.Hour ? 1 : 5 }\n modelValue={ selecting.value === SelectingTimes.Hour\n ? inputHour.value as number\n : (selecting.value === SelectingTimes.Minute\n ? inputMinute.value as number\n : inputSecond.value as number)\n }\n onChange={ onChange }\n onInput={ onInput }\n ref={ clockRef }\n />\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n },\n})\n\nexport type VTimePicker = InstanceType<typeof VTimePicker>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VTimePicker.mjs","names":["VTimePickerClock","VTimePickerControls","pad","makeVPickerProps","VPicker","useLocale","computed","onMounted","ref","watch","SelectingTimes","createRange","genericComponent","omit","propsFactory","useRender","rangeHours24","rangeHours12am","rangeHours12pm","map","v","range60","selectingNames","makeVTimePickerProps","allowedHours","Function","Array","allowedMinutes","allowedSeconds","ampmInTitle","Boolean","disabled","format","type","String","default","max","min","modelValue","readonly","scrollable","useSeconds","title","VTimePicker","name","props","emits","val","setup","_ref","emit","slots","t","inputHour","inputMinute","inputSecond","lazyInputHour","lazyInputMinute","lazyInputSecond","period","selecting","Hour","controlsRef","clockRef","isAllowedHourCb","cb","includes","minHour","Number","split","maxHour","isAllowedMinuteCb","isHourAllowed","value","minMinute","maxMinute","minTime","maxTime","time","isAllowedSecondCb","isMinuteAllowed","minSecond","maxSecond","isAmPm","setInputData","genValue","emitValue","convert24to12","hour","convert12to24","Date","getHours","getMinutes","getSeconds","minute","second","trim","toLowerCase","match","parseInt","firstAllowed","allowedFn","range","first","find","length","setPeriod","newHour","onInput","Minute","onChange","emitChange","Second","pickerProps","filterProps","timePickerControlsProps","timePickerClockProps","_createVNode","_mergeProps","undefined","class","style","header","actions"],"sources":["../../../src/labs/VTimePicker/VTimePicker.tsx"],"sourcesContent":["// Styles\nimport './VTimePicker.sass'\n\n// Components\nimport { VTimePickerClock } from './VTimePickerClock'\nimport { VTimePickerControls } from './VTimePickerControls'\nimport { pad } from '@/components/VDatePicker/util'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { SelectingTimes } from './SelectingTimes'\nimport { createRange, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\ntype Period = 'am' | 'pm'\ntype AllowFunction = (val: number) => boolean\n\nconst rangeHours24 = createRange(24)\nconst rangeHours12am = createRange(12)\nconst rangeHours12pm = rangeHours12am.map(v => v + 12)\nconst range60 = createRange(60)\nconst selectingNames = { 1: 'hour', 2: 'minute', 3: 'second' }\n\nexport { SelectingTimes }\n\nexport type VTimePickerSlots = Omit<VPickerSlots, 'header'>\n\nexport const makeVTimePickerProps = propsFactory({\n allowedHours: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedMinutes: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedSeconds: [Function, Array] as PropType<AllowFunction | number[]>,\n ampmInTitle: Boolean,\n disabled: Boolean,\n format: {\n type: String as PropType<'ampm' | '24hr'>,\n default: 'ampm',\n },\n max: String,\n min: String,\n modelValue: null as any as PropType<any>,\n readonly: Boolean,\n scrollable: Boolean,\n useSeconds: Boolean,\n ...omit(makeVPickerProps({ title: '$vuetify.timePicker.title' }), ['landscape']),\n}, 'VTimePicker')\n\nexport const VTimePicker = genericComponent<VTimePickerSlots>()({\n name: 'VTimePicker',\n\n props: makeVTimePickerProps(),\n\n emits: {\n 'update:hour': (val: number) => true,\n 'update:minute': (val: number) => true,\n 'update:period': (val: Period) => true,\n 'update:second': (val: number) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const inputHour = ref(null as number | null)\n const inputMinute = ref(null as number | null)\n const inputSecond = ref(null as number | null)\n const lazyInputHour = ref(null as number | null)\n const lazyInputMinute = ref(null as number | null)\n const lazyInputSecond = ref(null as number | null)\n const period = ref('am' as Period)\n const selecting = ref(SelectingTimes.Hour)\n const controlsRef = ref<VTimePickerControls | null>(null)\n const clockRef = ref<VTimePickerClock | null>(null)\n\n const isAllowedHourCb = computed((): AllowFunction => {\n let cb: AllowFunction\n\n if (props.allowedHours instanceof Array) {\n cb = (val: number) => (props.allowedHours as number[]).includes(val)\n } else {\n cb = props.allowedHours as AllowFunction\n }\n\n if (!props.min && !props.max) return cb\n\n const minHour = props.min ? Number(props.min.split(':')[0]) : 0\n const maxHour = props.max ? Number(props.max.split(':')[0]) : 23\n\n return (val: number) => {\n return val >= minHour * 1 &&\n val <= maxHour * 1 &&\n (!cb || cb(val))\n }\n })\n\n const isAllowedMinuteCb = computed((): AllowFunction => {\n let cb: AllowFunction\n\n const isHourAllowed = !isAllowedHourCb.value || inputHour.value === null || isAllowedHourCb.value(inputHour.value)\n if (props.allowedMinutes instanceof Array) {\n cb = (val: number) => (props.allowedMinutes as number[]).includes(val)\n } else {\n cb = props.allowedMinutes as AllowFunction\n }\n\n if (!props.min && !props.max) {\n return isHourAllowed ? cb : () => false\n }\n\n const [minHour, minMinute] = props.min ? props.min.split(':').map(Number) : [0, 0]\n const [maxHour, maxMinute] = props.max ? props.max.split(':').map(Number) : [23, 59]\n const minTime = minHour * 60 + minMinute * 1\n const maxTime = maxHour * 60 + maxMinute * 1\n\n return (val: number) => {\n const time = 60 * inputHour.value! + val\n return time >= minTime &&\n time <= maxTime &&\n isHourAllowed &&\n (!cb || cb(val))\n }\n })\n\n const isAllowedSecondCb = computed((): AllowFunction => {\n let cb: AllowFunction\n\n const isHourAllowed = !isAllowedHourCb.value || inputHour.value === null || isAllowedHourCb.value(inputHour.value)\n const isMinuteAllowed = isHourAllowed &&\n (!isAllowedMinuteCb.value ||\n inputMinute.value === null ||\n isAllowedMinuteCb.value(inputMinute.value)\n )\n\n if (props.allowedSeconds instanceof Array) {\n cb = (val: number) => (props.allowedSeconds as number[]).includes(val)\n } else {\n cb = props.allowedSeconds as AllowFunction\n }\n\n if (!props.min && !props.max) {\n return isMinuteAllowed ? cb : () => false\n }\n\n const [minHour, minMinute, minSecond] = props.min ? props.min.split(':').map(Number) : [0, 0, 0]\n const [maxHour, maxMinute, maxSecond] = props.max ? props.max.split(':').map(Number) : [23, 59, 59]\n const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0) * 1\n const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0) * 1\n\n return (val: number) => {\n const time = 3600 * inputHour.value! + 60 * inputMinute.value! + val\n return time >= minTime &&\n time <= maxTime &&\n isMinuteAllowed &&\n (!cb || cb(val))\n }\n })\n\n const isAmPm = computed((): boolean => {\n return props.format === 'ampm'\n })\n\n watch(() => props.modelValue, val => setInputData(val))\n\n onMounted(() => {\n setInputData(props.modelValue)\n })\n\n function genValue () {\n if (inputHour.value != null && inputMinute.value != null && (!props.useSeconds || inputSecond.value != null)) {\n return `${pad(inputHour.value)}:${pad(inputMinute.value)}` + (props.useSeconds ? `:${pad(inputSecond.value!)}` : '')\n }\n\n return null\n }\n\n function emitValue () {\n const value = genValue()\n if (value !== null) emit('update:modelValue', value)\n }\n\n function convert24to12 (hour: number) {\n return hour ? ((hour - 1) % 12 + 1) : 12\n }\n\n function convert12to24 (hour: number, period: Period) {\n return hour % 12 + (period === 'pm' ? 12 : 0)\n }\n\n function setInputData (value: string | null | Date) {\n if (value == null || value === '') {\n inputHour.value = null\n inputMinute.value = null\n inputSecond.value = null\n } else if (value instanceof Date) {\n inputHour.value = value.getHours()\n inputMinute.value = value.getMinutes()\n inputSecond.value = value.getSeconds()\n } else {\n const [hour, , minute, , second, period] = value.trim().toLowerCase().match(/^(\\d+):(\\d+)(:(\\d+))?([ap]m)?$/) || new Array(6)\n\n inputHour.value = period ? convert12to24(parseInt(hour, 10), period as Period) : parseInt(hour, 10)\n inputMinute.value = parseInt(minute, 10)\n inputSecond.value = parseInt(second || 0, 10)\n }\n\n period.value = (inputHour.value == null || inputHour.value < 12) ? 'am' : 'pm'\n }\n\n function firstAllowed (type: 'hour' | 'minute' | 'second', value: number) {\n const allowedFn = type === 'hour' ? isAllowedHourCb.value : (type === 'minute' ? isAllowedMinuteCb.value : isAllowedSecondCb.value)\n if (!allowedFn) return value\n\n // TODO: clean up (Note from V2 code)\n const range = type === 'minute'\n ? range60\n : (type === 'second'\n ? range60\n : (isAmPm.value\n ? (value < 12\n ? rangeHours12am\n : rangeHours12pm)\n : rangeHours24))\n const first = range.find(v => allowedFn((v + value) % range.length + range[0]))\n return ((first || 0) + value) % range.length + range[0]\n }\n\n function setPeriod (val: Period) {\n period.value = val\n if (inputHour.value != null) {\n const newHour = inputHour.value! + (period.value === 'am' ? -12 : 12)\n inputHour.value = firstAllowed('hour', newHour)\n }\n emit('update:period', val)\n emitValue()\n return true\n }\n\n function onInput (value: number) {\n if (selecting.value === SelectingTimes.Hour) {\n inputHour.value = isAmPm.value ? convert12to24(value, period.value) : value\n } else if (selecting.value === SelectingTimes.Minute) {\n inputMinute.value = value\n } else {\n inputSecond.value = value\n }\n }\n\n function onChange (value: number) {\n switch (selectingNames[selecting.value]) {\n case 'hour':\n emit('update:hour', value)\n break\n case 'minute':\n emit('update:minute', value)\n break\n case 'second':\n emit('update:second', value)\n break\n default:\n break\n }\n\n const emitChange = selecting.value === (props.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute)\n\n if (selecting.value === SelectingTimes.Hour) {\n selecting.value = SelectingTimes.Minute\n } else if (props.useSeconds && selecting.value === SelectingTimes.Minute) {\n selecting.value = SelectingTimes.Second\n }\n\n if (inputHour.value === lazyInputHour.value &&\n inputMinute.value === lazyInputMinute.value &&\n (!props.useSeconds || inputSecond.value === lazyInputSecond.value)\n ) return\n\n const time = genValue()\n if (time === null) return\n\n lazyInputHour.value = inputHour.value\n lazyInputMinute.value = inputMinute.value\n props.useSeconds && (lazyInputSecond.value = inputSecond.value)\n\n emitChange && emitValue()\n }\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const timePickerControlsProps = VTimePickerControls.filterProps(props)\n const timePickerClockProps = VTimePickerClock.filterProps(omit(props, ['format', 'modelValue', 'min', 'max']))\n\n return (\n <VPicker\n { ...pickerProps }\n color={ undefined }\n class={[\n 'v-time-picker',\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-time-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => (\n <VTimePickerControls\n { ...timePickerControlsProps }\n ampm={ isAmPm.value || props.ampmInTitle }\n ampmReadonly={ isAmPm.value && !props.ampmInTitle }\n hour={ inputHour.value as number }\n minute={ inputMinute.value as number }\n period={ period.value }\n second={ inputSecond.value as number }\n selecting={ selecting.value }\n onUpdate:period={ (val: Period) => setPeriod(val) }\n onUpdate:selecting={ (value: 1 | 2 | 3) => (selecting.value = value) }\n ref={ controlsRef }\n />\n ),\n default: () => (\n <VTimePickerClock\n { ...timePickerClockProps }\n allowedValues={\n selecting.value === SelectingTimes.Hour\n ? isAllowedHourCb.value\n : (selecting.value === SelectingTimes.Minute\n ? isAllowedMinuteCb.value\n : isAllowedSecondCb.value)\n }\n double={ selecting.value === SelectingTimes.Hour && !isAmPm.value }\n format={ selecting.value === SelectingTimes.Hour\n ? (isAmPm.value ? convert24to12 : (val: number) => val)\n : (val: number) => pad(val, 2)\n }\n max={ selecting.value === SelectingTimes.Hour ? (isAmPm.value && period.value === 'am' ? 11 : 23) : 59 }\n min={ selecting.value === SelectingTimes.Hour && isAmPm.value && period.value === 'pm' ? 12 : 0 }\n size={ 20 }\n step={ selecting.value === SelectingTimes.Hour ? 1 : 5 }\n modelValue={ selecting.value === SelectingTimes.Hour\n ? inputHour.value as number\n : (selecting.value === SelectingTimes.Minute\n ? inputMinute.value as number\n : inputSecond.value as number)\n }\n onChange={ onChange }\n onInput={ onInput }\n ref={ clockRef }\n />\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n },\n})\n\nexport type VTimePicker = InstanceType<typeof VTimePicker>\n"],"mappings":"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","ignoreList":[]}
|