@dimailn/vuetify 2.7.2-alpha26 → 2.7.2-alpha27
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/vuetify.js +1109 -1021
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAlert/VAlert.js +1 -0
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VAppBar/VAppBar.js +17 -6
- package/es5/components/VAppBar/VAppBar.js.map +1 -1
- package/es5/components/VBadge/VBadge.js +1 -0
- package/es5/components/VBadge/VBadge.js.map +1 -1
- package/es5/components/VBanner/VBanner.js +11 -12
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +8 -7
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VBtn/VBtn.js +2 -2
- package/es5/components/VBtn/VBtn.js.map +1 -1
- package/es5/components/VCalendar/VCalendar.js +27 -29
- package/es5/components/VCalendar/VCalendar.js.map +1 -1
- package/es5/components/VCalendar/VCalendarCategory.js +26 -34
- package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/es5/components/VCalendar/VCalendarDaily.js +43 -60
- package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
- package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
- package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
- package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
- package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
- package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
- package/es5/components/VCalendar/mixins/times.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +10 -9
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCheckbox/VCheckbox.js +31 -2
- package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +0 -3
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VChip/VChip.js +14 -6
- package/es5/components/VChip/VChip.js.map +1 -1
- package/es5/components/VData/VData.js +1 -0
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +1 -0
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +1 -0
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +1 -6
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderMobile.js +1 -0
- package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/es5/components/VDataTable/VEditDialog.js +19 -18
- package/es5/components/VDataTable/VEditDialog.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +0 -6
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +13 -18
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +48 -26
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
- package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerTitle.js +4 -3
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerYears.js +11 -12
- package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +16 -13
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
- package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +1 -0
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
- package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -10
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VFileInput/VFileInput.js +1 -0
- package/es5/components/VFileInput/VFileInput.js.map +1 -1
- package/es5/components/VForm/VForm.js +1 -0
- package/es5/components/VForm/VForm.js.map +1 -1
- package/es5/components/VHover/VHover.js +1 -0
- package/es5/components/VHover/VHover.js.map +1 -1
- package/es5/components/VImg/VImg.js +3 -5
- package/es5/components/VImg/VImg.js.map +1 -1
- package/es5/components/VInput/VInput.js +1 -0
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VItemGroup/VItem.js +2 -1
- package/es5/components/VItemGroup/VItem.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +5 -1
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VLazy/VLazy.js +8 -15
- package/es5/components/VLazy/VLazy.js.map +1 -1
- package/es5/components/VList/VListGroup.js +3 -11
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +26 -12
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VList/VListItemAction.js +23 -9
- package/es5/components/VList/VListItemAction.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +1 -0
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -7
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +1 -5
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js +1 -0
- package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +1 -0
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +1 -3
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VPicker/VPicker.js +2 -3
- package/es5/components/VPicker/VPicker.js.map +1 -1
- package/es5/components/VProgressCircular/VProgressCircular.js +1 -10
- package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +4 -12
- package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/es5/components/VRadioGroup/VRadio.js +1 -0
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +111 -64
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +13 -17
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +1 -4
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideItem.js +2 -1
- package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +0 -3
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSnackbar/VSnackbar.js +1 -0
- package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
- package/es5/components/VSparkline/VSparkline.js +48 -68
- package/es5/components/VSparkline/VSparkline.js.map +1 -1
- package/es5/components/VSpeedDial/VSpeedDial.js +4 -10
- package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/es5/components/VStepper/VStepper.js +1 -0
- package/es5/components/VStepper/VStepper.js.map +1 -1
- package/es5/components/VStepper/VStepperStep.js +11 -19
- package/es5/components/VStepper/VStepperStep.js.map +1 -1
- package/es5/components/VSwitch/VSwitch.js +1 -3
- package/es5/components/VSwitch/VSwitch.js.map +1 -1
- package/es5/components/VTabs/VTab.js +1 -0
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +11 -4
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTabs/VTabsItems.js +1 -0
- package/es5/components/VTabs/VTabsItems.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +31 -27
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTimePicker/VTimePicker.js +72 -44
- package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
- package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
- package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
- package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
- package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
- package/es5/components/VToolbar/VToolbar.js +1 -3
- package/es5/components/VToolbar/VToolbar.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +6 -3
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
- package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +0 -3
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/components/VWindow/VWindowItem.js +1 -5
- package/es5/components/VWindow/VWindowItem.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/detachable/index.js +9 -5
- package/es5/mixins/detachable/index.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +1 -0
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.js +17 -6
- package/lib/components/VAppBar/VAppBar.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +1 -0
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +7 -11
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +2 -2
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VCalendar/VCalendar.js +26 -31
- package/lib/components/VCalendar/VCalendar.js.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.js +8 -10
- package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
- package/lib/components/VCalendar/VCalendarDaily.js +21 -33
- package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
- package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
- package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
- package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
- package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
- package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
- package/lib/components/VCalendar/mixins/times.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +12 -11
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.js +14 -1
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VChip/VChip.js +14 -6
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VData/VData.js +1 -0
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +1 -0
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +1 -0
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +2 -7
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
- package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/lib/components/VDataTable/VEditDialog.js +15 -14
- package/lib/components/VDataTable/VEditDialog.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +0 -5
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +11 -16
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.js +4 -3
- package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +17 -13
- package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +1 -0
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -4
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +1 -0
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VForm/VForm.js +1 -0
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VHover/VHover.js +1 -0
- package/lib/components/VHover/VHover.js.map +1 -1
- package/lib/components/VImg/VImg.js +2 -6
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInput/VInput.js +1 -0
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VItemGroup/VItem.js +2 -1
- package/lib/components/VItemGroup/VItem.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +6 -1
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VLazy/VLazy.js +8 -15
- package/lib/components/VLazy/VLazy.js.map +1 -1
- package/lib/components/VList/VListGroup.js +3 -5
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +25 -14
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/VListItemAction.js +15 -9
- package/lib/components/VList/VListItemAction.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +1 -0
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +2 -6
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -0
- package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +1 -0
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +1 -3
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VPicker/VPicker.js +3 -3
- package/lib/components/VPicker/VPicker.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VRadioGroup/VRadio.js +1 -0
- package/lib/components/VRadioGroup/VRadio.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +64 -19
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +13 -15
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +1 -4
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideItem.js +2 -1
- package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +0 -3
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.js +1 -0
- package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
- package/lib/components/VSparkline/VSparkline.js +48 -67
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
- package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/lib/components/VStepper/VStepper.js +1 -0
- package/lib/components/VStepper/VStepper.js.map +1 -1
- package/lib/components/VStepper/VStepperStep.js +7 -18
- package/lib/components/VStepper/VStepperStep.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.js +1 -3
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VTabs/VTab.js +1 -0
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +14 -4
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTabs/VTabsItems.js +1 -0
- package/lib/components/VTabs/VTabsItems.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +6 -15
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.js +65 -31
- package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
- package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
- package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
- package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
- package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +1 -3
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +1 -2
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +0 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/VWindow/VWindowItem.js +2 -6
- package/lib/components/VWindow/VWindowItem.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/detachable/index.js +9 -5
- package/lib/mixins/detachable/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VAlert/VAlert.ts +2 -0
- package/src/components/VAppBar/VAppBar.ts +12 -3
- package/src/components/VBadge/VBadge.ts +1 -1
- package/src/components/VBanner/VBanner.ts +14 -14
- package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
- package/src/components/VBtn/VBtn.ts +2 -2
- package/src/components/VCalendar/VCalendar.ts +29 -27
- package/src/components/VCalendar/VCalendarCategory.ts +9 -8
- package/src/components/VCalendar/VCalendarDaily.ts +18 -28
- package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
- package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
- package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
- package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
- package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
- package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
- package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
- package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
- package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
- package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
- package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
- package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
- package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
- package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
- package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
- package/src/components/VCalendar/mixins/times.ts +1 -1
- package/src/components/VCarousel/VCarousel.ts +13 -9
- package/src/components/VCheckbox/VCheckbox.ts +19 -1
- package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
- package/src/components/VChip/VChip.ts +16 -13
- package/src/components/VData/VData.ts +2 -0
- package/src/components/VDataIterator/VDataFooter.ts +2 -0
- package/src/components/VDataIterator/VDataIterator.ts +2 -0
- package/src/components/VDataTable/VDataTable.ts +2 -4
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
- package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
- package/src/components/VDataTable/VEditDialog.ts +19 -17
- package/src/components/VDataTable/mixins/header.ts +0 -4
- package/src/components/VDatePicker/VDatePicker.ts +13 -18
- package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
- package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
- package/src/components/VDatePicker/VDatePickerTitle.ts +7 -5
- package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
- package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
- package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
- package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
- package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
- package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
- package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
- package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
- package/src/components/VDatePicker/mixins/date-picker-table.ts +18 -13
- package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
- package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
- package/src/components/VDialog/VDialog.ts +7 -5
- package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +0 -1
- package/src/components/VFileInput/VFileInput.ts +2 -0
- package/src/components/VForm/VForm.ts +2 -0
- package/src/components/VHover/VHover.ts +2 -0
- package/src/components/VImg/VImg.ts +2 -1
- package/src/components/VInput/VInput.ts +2 -0
- package/src/components/VItemGroup/VItem.ts +4 -0
- package/src/components/VItemGroup/VItemGroup.ts +7 -1
- package/src/components/VLazy/VLazy.ts +11 -13
- package/src/components/VList/VListGroup.ts +7 -8
- package/src/components/VList/VListItem.ts +29 -15
- package/src/components/VList/VListItemAction.ts +11 -10
- package/src/components/VMenu/VMenu.ts +3 -1
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
- package/src/components/VOtpInput/VOtpInput.ts +2 -3
- package/src/components/VOverflowBtn/VOverflowBtn.ts +2 -0
- package/src/components/VOverlay/VOverlay.ts +2 -0
- package/src/components/VPagination/VPagination.ts +2 -1
- package/src/components/VPicker/VPicker.ts +8 -10
- package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
- package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
- package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
- package/src/components/VRadioGroup/VRadio.ts +2 -0
- package/src/components/VSelect/VSelect.ts +59 -19
- package/src/components/VSelect/VSelectList.ts +13 -9
- package/src/components/VSlideGroup/VSlideGroup.ts +2 -4
- package/src/components/VSlideGroup/VSlideItem.ts +2 -0
- package/src/components/VSlider/VSlider.ts +0 -3
- package/src/components/VSnackbar/VSnackbar.ts +1 -1
- package/src/components/VSparkline/VSparkline.ts +54 -92
- package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
- package/src/components/VStepper/VStepper.ts +3 -1
- package/src/components/VStepper/VStepperStep.ts +8 -15
- package/src/components/VSwitch/VSwitch.ts +4 -5
- package/src/components/VTabs/VTab.ts +2 -0
- package/src/components/VTabs/VTabs.ts +16 -10
- package/src/components/VTabs/VTabsItems.ts +2 -0
- package/src/components/VTextField/VTextField.ts +9 -12
- package/src/components/VTimePicker/VTimePicker.ts +199 -89
- package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
- package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
- package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
- package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
- package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
- package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +160 -40
- package/src/components/VToolbar/VToolbar.ts +1 -1
- package/src/components/VTooltip/VTooltip.ts +1 -1
- package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
- package/src/components/VWindow/VWindow.ts +0 -1
- package/src/components/VWindow/VWindowItem.ts +2 -3
- package/src/mixins/detachable/index.ts +11 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n normalizeClasses,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType, h, getCurrentInstance } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n modelValue: null as any as PropType<any>,\n },\n\n data () {\n return {\n lazyValue: this.modelValue,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this.$.uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n\n if('$_emitChangeEvent' in this) {\n this.$emit('change', val)\n }\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = /*(this.$options.model && this.$options.model.event) ||*/ 'update:modelValue'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return h('div', {\n class: 'v-input__control',\n title: this.attrs$.title,\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n ...(!hasListener\n ? {}\n : {\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n onMouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n }),\n }, extraData)\n\n return h('div', {\n class: {\n 'v-input__icon': true,\n [`v-input__icon--${kebabCase(type)}`]: type\n },\n }, [\n h(\n VIcon,\n data,\n () => icon\n ),\n ])\n },\n genInputSlot () {\n return h('div', this.setBackgroundColor(this.backgroundColor, {\n class: {'v-input__slot': true},\n style: { height: convertToUnit(this.height) },\n onClick: this.onClick,\n onMousedown: this.onMouseDown,\n onMouseup: this.onMouseUp,\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return h(VLabel, {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n }, () => getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return h(VMessages, {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n role: this.hasMessages ? 'alert' : null,\n }, {default: getSlot(this, 'message') })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n slot = slot.map(child => child instanceof Function ? child() : child)\n\n return h('div', {\n class: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (): VNode {\n const { class: additionalClasses, ...restAttrs } = this.$attrs as Record<string, any>\n\n return h('div', this.setTextColor(this.validationState, {\n class: { 'v-input': true, ...this.classes, ...normalizeClasses(additionalClasses) },\n ...restAttrs,\n }), {\n default: () => this.genContent(),\n })\n },\n})\n"],"sourceRoot":"","file":"VInput.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n normalizeClasses,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType, h, getCurrentInstance } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n modelValue: null as any as PropType<any>,\n },\n\n emits: ['click', 'mousedown', 'mouseup', 'touchstart', 'touchend'],\n\n data () {\n return {\n lazyValue: this.modelValue,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this.$.uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n\n if('$_emitChangeEvent' in this) {\n this.$emit('change', val)\n }\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = /*(this.$options.model && this.$options.model.event) ||*/ 'update:modelValue'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return h('div', {\n class: 'v-input__control',\n title: this.attrs$.title,\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n ...(!hasListener\n ? {}\n : {\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n onMouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n }),\n }, extraData)\n\n return h('div', {\n class: {\n 'v-input__icon': true,\n [`v-input__icon--${kebabCase(type)}`]: type\n },\n }, [\n h(\n VIcon,\n data,\n () => icon\n ),\n ])\n },\n genInputSlot () {\n return h('div', this.setBackgroundColor(this.backgroundColor, {\n class: {'v-input__slot': true},\n style: { height: convertToUnit(this.height) },\n onClick: this.onClick,\n onMousedown: this.onMouseDown,\n onMouseup: this.onMouseUp,\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return h(VLabel, {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n }, () => getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return h(VMessages, {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n role: this.hasMessages ? 'alert' : null,\n }, {default: getSlot(this, 'message') })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n slot = slot.map(child => child instanceof Function ? child() : child)\n\n return h('div', {\n class: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (): VNode {\n const { class: additionalClasses, ...restAttrs } = this.$attrs as Record<string, any>\n\n return h('div', this.setTextColor(this.validationState, {\n class: { 'v-input': true, ...this.classes, ...normalizeClasses(additionalClasses) },\n ...restAttrs,\n }), {\n default: () => this.genContent(),\n })\n },\n})\n"],"sourceRoot":"","file":"VInput.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VItemGroup/VItem.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,+CAAP,C,CAEA;;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,WAAT,QAA4B,oBAA5B;AACA,SAAS,eAAT,EAA0B,UAA1B,QAA4C,KAA5C;AAIA;;AACA,OAAO,MAAM,QAAQ,GAAG,eAAe,CAAC;AACtC,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE,MADR;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,QAAQ,EAAE;AADL,KAFF;AAKL,IAAA,QAAQ,EAAE;AALL,GAD+B;AAStC,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,QAAQ,EAAE;AADC,GAAP,CATgC;AAatC,EAAA,OAAO,EAAE;AACP,IAAA,MAAM,GAAA;AACJ,WAAK,QAAL,GAAgB,CAAC,KAAK,QAAtB;AACD;;AAHM,GAb6B;;AAmBtC,EAAA,MAAM,GAAA;AACJ,QAAI,CAAC,KAAK,MAAL,CAAY,OAAjB,EAA0B;AACxB,MAAA,WAAW,CAAC,wCAAD,EAA2C,IAA3C,CAAX;AACA,aAAO,IAAP;AACD;;AAED,UAAM,WAAW,GAAG,KAAK,MAAL,CAAY,OAAZ,CAAoB;AACtC,MAAA,MAAM,EAAE,KAAK,QADyB;AAEtC,MAAA,MAAM,EAAE,KAAK;AAFyB,KAApB,CAApB;;AAKA,QAAI,CAAC,WAAD,IAAgB,WAAW,CAAC,MAAZ,KAAuB,CAA3C,EAA8C;AAC5C,MAAA,WAAW,CAAC,oCAAD,EAAuC,IAAvC,CAAX;AACA,aAAO,IAAP;AACD;;AAED,QAAI,OAAO,GAAG,WAAW,CAAC,CAAD,CAAzB;;AAEA,QAAI,CAAC,OAAL,EAAc;AACZ,MAAA,WAAW,CAAC,4CAAD,EAA+C,IAA/C,CAAX;AACA,aAAO,IAAP;AACD;;AAED,QAAI,CAAC,OAAO,CAAC,IAAb,EAAmB;AACjB,MAAA,WAAW,CAAC,iDAAD,EAAoD,IAApD,CAAX;AACA,aAAO,OAAP;AACD;;AAED,IAAA,OAAO,CAAC,KAAR,GAAgB,UAAU,CAAC,OAAO,CAAC,KAAR,IAAiB,EAAlB,EAAsB;AAC9C,MAAA,KAAK,EAAE;AACL,SAAC,KAAK,WAAN,GAAoB,KAAK,QADpB;AAEL,4BAAoB,KAAK;AAFpB;AADuC,KAAtB,CAA1B;;AAOA,QAAI,KAAK,QAAT,EAAmB;AACjB,MAAA,OAAO,CAAC,KAAR,GAAgB,UAAU,CAAC,OAAO,CAAC,KAAR,IAAiB,EAAlB,EAAsB;AAC9C,QAAA,QAAQ,EAAE,CAAC;AADmC,OAAtB,CAA1B;AAGD;;AAED,WAAO,OAAP;AACD;;AA7DqC,CAAD,CAAhC;AAgEP,eAAe,MAAM,CACnB,QADmB,EAEnB,gBAAgB,CAAC,WAAD,EAAc,QAAd,EAAwB,cAAxB,CAFG,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VItemGroup/VItem.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,+CAAP,C,CAEA;;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,WAAT,QAA4B,oBAA5B;AACA,SAAS,eAAT,EAA0B,UAA1B,QAA4C,KAA5C;AAIA;;AACA,OAAO,MAAM,QAAQ,GAAG,eAAe,CAAC;AACtC,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE,MADR;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,QAAQ,EAAE;AADL,KAFF;AAKL,IAAA,QAAQ,EAAE;AALL,GAD+B;AAStC,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,QAAQ,EAAE;AADC,GAAP,CATgC;AAatC,EAAA,OAAO,EAAE;AACP,IAAA,MAAM,GAAA;AACJ,WAAK,QAAL,GAAgB,CAAC,KAAK,QAAtB;AACD;;AAHM,GAb6B;;AAmBtC,EAAA,MAAM,GAAA;AACJ,QAAI,CAAC,KAAK,MAAL,CAAY,OAAjB,EAA0B;AACxB,MAAA,WAAW,CAAC,wCAAD,EAA2C,IAA3C,CAAX;AACA,aAAO,IAAP;AACD;;AAED,UAAM,WAAW,GAAG,KAAK,MAAL,CAAY,OAAZ,CAAoB;AACtC,MAAA,MAAM,EAAE,KAAK,QADyB;AAEtC,MAAA,MAAM,EAAE,KAAK;AAFyB,KAApB,CAApB;;AAKA,QAAI,CAAC,WAAD,IAAgB,WAAW,CAAC,MAAZ,KAAuB,CAA3C,EAA8C;AAC5C,MAAA,WAAW,CAAC,oCAAD,EAAuC,IAAvC,CAAX;AACA,aAAO,IAAP;AACD;;AAED,QAAI,OAAO,GAAG,WAAW,CAAC,CAAD,CAAzB;;AAEA,QAAI,CAAC,OAAL,EAAc;AACZ,MAAA,WAAW,CAAC,4CAAD,EAA+C,IAA/C,CAAX;AACA,aAAO,IAAP;AACD;;AAED,QAAI,CAAC,OAAO,CAAC,IAAb,EAAmB;AACjB,MAAA,WAAW,CAAC,iDAAD,EAAoD,IAApD,CAAX;AACA,aAAO,OAAP;AACD;;AAED,IAAA,OAAO,CAAC,KAAR,GAAgB,UAAU,CAAC,OAAO,CAAC,KAAR,IAAiB,EAAlB,EAAsB;AAC9C,MAAA,KAAK,EAAE;AACL,SAAC,KAAK,WAAN,GAAoB,KAAK,QADpB;AAEL,4BAAoB,KAAK;AAFpB;AADuC,KAAtB,CAA1B;;AAOA,QAAI,KAAK,QAAT,EAAmB;AACjB,MAAA,OAAO,CAAC,KAAR,GAAgB,UAAU,CAAC,OAAO,CAAC,KAAR,IAAiB,EAAlB,EAAsB;AAC9C,QAAA,QAAQ,EAAE,CAAC;AADmC,OAAtB,CAA1B;AAGD;;AAED,WAAO,OAAP;AACD;;AA7DqC,CAAD,CAAhC;AAgEP,eAAe,MAAM,CACnB,QADmB,EAEnB,gBAAgB,CAAC,WAAD,EAAc,QAAd,EAAwB,cAAxB,CAFG,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,QADC;AAGP,EAAA,KAAK,EAAE,CACL,QADK;AAHA,CAHM,CAAf","sourcesContent":["// Styles\nimport './VItem.sass'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport { defineComponent, mergeProps } from \"vue\"\n\nimport type { VNode } from 'vue'\n\n/* @vue/component */\nexport const BaseItem = defineComponent({\n props: {\n activeClass: String,\n value: {\n required: false,\n },\n disabled: Boolean,\n },\n\n data: () => ({\n isActive: false,\n }),\n\n methods: {\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (): VNode | null {\n if (!this.$slots.default) {\n consoleWarn('v-item is missing a default scopedSlot', this)\n return null\n }\n\n const slotContent = this.$slots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n\n if (!slotContent || slotContent.length === 0) {\n consoleWarn('v-item slot returned empty content', this)\n return null\n }\n\n let element = slotContent[0]\n\n if (!element) {\n consoleWarn('v-item should contain at least one element', this)\n return null\n }\n\n if (!element.type) {\n consoleWarn('v-item should only contain valid VNode elements', this)\n return element\n }\n\n element.props = mergeProps(element.props || {}, {\n class: {\n [this.activeClass]: this.isActive,\n \"v-item--disabled\": this.disabled\n }\n })\n\n if (this.disabled) {\n element.props = mergeProps(element.props || {}, {\n tabindex: -1\n })\n }\n\n return element\n },\n})\n\nexport default mixins(\n BaseItem,\n GroupableFactory('itemGroup', 'v-item', 'v-item-group')\n).extend({\n name: 'v-item',\n\n emits: [\n 'change',\n ],\n})\n"],"sourceRoot":"","file":"VItem.js"}
|
|
@@ -12,6 +12,7 @@ import { getSlot } from '../../util/helpers';
|
|
|
12
12
|
import { defineComponent } from 'vue';
|
|
13
13
|
export const BaseItemGroup = mixins(Comparable, Proxyable, Themeable).extend({
|
|
14
14
|
name: 'base-item-group',
|
|
15
|
+
emits: ['update:modelValue'],
|
|
15
16
|
props: {
|
|
16
17
|
activeClass: {
|
|
17
18
|
type: String,
|
|
@@ -209,7 +210,11 @@ export const BaseItemGroup = mixins(Comparable, Proxyable, Themeable).extend({
|
|
|
209
210
|
},
|
|
210
211
|
|
|
211
212
|
render() {
|
|
212
|
-
|
|
213
|
+
const data = this.genData();
|
|
214
|
+
return h(this.tag, {
|
|
215
|
+
class: data.class,
|
|
216
|
+
...data.attrs
|
|
217
|
+
}, getSlot(this));
|
|
213
218
|
}
|
|
214
219
|
|
|
215
220
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VItemGroup/VItemGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\nimport { defineComponent } from 'vue'\n\nexport type GroupableInstance = InstanceType<typeof Groupable> & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.modelValue !== undefined\n ? this.modelValue\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState'\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n // TODO!!!\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (): VNode {\n return h(this.tag, this.genData(), getSlot(this))\n },\n})\n\nexport default defineComponent({\n name: 'v-item-group',\n extends: BaseItemGroup,\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VItemGroup.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VItemGroup/VItemGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\nimport { defineComponent } from 'vue'\n\nexport type GroupableInstance = InstanceType<typeof Groupable> & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n emits: ['update:modelValue'],\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.modelValue !== undefined\n ? this.modelValue\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState'\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n // TODO!!!\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (): VNode {\n const data = this.genData()\n return h(this.tag, {\n class: data.class,\n ...data.attrs,\n }, getSlot(this))\n },\n})\n\nexport default defineComponent({\n name: 'v-item-group',\n extends: BaseItemGroup,\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VItemGroup.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Transition, h } from 'vue'; // Mixins
|
|
1
|
+
import { Transition, h, withDirectives } from 'vue'; // Mixins
|
|
2
2
|
|
|
3
3
|
import Measurable from '../../mixins/measurable';
|
|
4
4
|
import Toggleable from '../../mixins/toggleable'; // Directives
|
|
@@ -9,9 +9,7 @@ import mixins from '../../util/mixins';
|
|
|
9
9
|
import { getSlot } from '../../util/helpers';
|
|
10
10
|
export default mixins(Measurable, Toggleable).extend({
|
|
11
11
|
name: 'VLazy',
|
|
12
|
-
|
|
13
|
-
intersect
|
|
14
|
-
},
|
|
12
|
+
emits: ['update:modelValue'],
|
|
15
13
|
props: {
|
|
16
14
|
options: {
|
|
17
15
|
type: Object,
|
|
@@ -55,19 +53,14 @@ export default mixins(Measurable, Toggleable).extend({
|
|
|
55
53
|
},
|
|
56
54
|
|
|
57
55
|
render() {
|
|
58
|
-
return h(this.tag, {
|
|
56
|
+
return withDirectives(h(this.tag, {
|
|
59
57
|
class: 'v-lazy',
|
|
60
|
-
|
|
61
|
-
directives: [{
|
|
62
|
-
name: 'intersect',
|
|
63
|
-
value: {
|
|
64
|
-
handler: this.onObserve,
|
|
65
|
-
options: this.options
|
|
66
|
-
}
|
|
67
|
-
}],
|
|
68
|
-
on: this.$listeners,
|
|
58
|
+
...this.$attrs,
|
|
69
59
|
style: this.styles
|
|
70
|
-
}, [this.genContent()])
|
|
60
|
+
}, [this.genContent()]), [[intersect, {
|
|
61
|
+
handler: this.onObserve,
|
|
62
|
+
options: this.options
|
|
63
|
+
}]]);
|
|
71
64
|
}
|
|
72
65
|
|
|
73
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VLazy/VLazy.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VLazy/VLazy.ts"],"names":[],"mappings":"AAAA,SAAS,UAAT,EAAqB,CAArB,EAAwB,cAAxB,QAA+D,KAA/D,C,CACA;;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,4BAAtB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAMA,eAAe,MAAM,CACnB,UADmB,EAEnB,UAFmB,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,OADC;AAGP,EAAA,KAAK,EAAE,CAAC,mBAAD,CAHA;AAMP,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP;AACA;AACA,MAAA,OAAO,EAAE,OAAO;AACd,QAAA,IAAI,EAAE,SADQ;AAEd,QAAA,UAAU,EAAE,SAFE;AAGd,QAAA,SAAS,EAAE;AAHG,OAAP;AAJF,KADJ;AAWL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAXA;AAeL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC;AAfP,GANA;AA2BP,EAAA,QAAQ,EAAE;AACR,IAAA,MAAM,GAAA;AACJ,aAAO,EACL,GAAG,KAAK;AADH,OAAP;AAGD;;AALO,GA3BH;AAmCP,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,YAAM,QAAQ,GAAG,KAAK,QAAL,IAAiB,OAAO,CAAC,IAAD,CAAzC;AAEA,aAAO,KAAK,UAAL,GACH,CAAC,CAAC,UAAD,EAAa;AACd,QAAA,IAAI,EAAE,KAAK;AADG,OAAb,EAEA,QAFA,CADE,GAIH,QAJJ;AAKD,KATM;;AAUP,IAAA,SAAS,CACP,OADO,EAEP,QAFO,EAGP,cAHO,EAGgB;AAEvB,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,cAAhB;AACD;;AAlBM,GAnCF;;AAwDP,EAAA,MAAM,GAAA;AACJ,WAAO,cAAc,CAAC,CAAC,CAAC,KAAK,GAAN,EAAW;AAChC,MAAA,KAAK,EAAE,QADyB;AAEhC,SAAG,KAAK,MAFwB;AAGhC,MAAA,KAAK,EAAE,KAAK;AAHoB,KAAX,EAIpB,CAAC,KAAK,UAAL,EAAD,CAJoB,CAAF,EAII,CACvB,CAAC,SAAD,EAAY;AACV,MAAA,OAAO,EAAE,KAAK,SADJ;AAEV,MAAA,OAAO,EAAE,KAAK;AAFJ,KAAZ,CADuB,CAJJ,CAArB;AAUD;;AAnEM,CAHM,CAAf","sourcesContent":["import { Transition, h, withDirectives, defineComponent } from 'vue'\n// Mixins\nimport Measurable from '../../mixins/measurable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Measurable,\n Toggleable\n).extend({\n name: 'VLazy',\n\n emits: ['update:modelValue'],\n\n\n props: {\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator<IntersectionObserverInit>,\n tag: {\n type: String,\n default: 'div',\n },\n transition: {\n type: String,\n default: 'fade-transition',\n },\n },\n\n computed: {\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n methods: {\n genContent () {\n const children = this.isActive && getSlot(this)\n\n return this.transition\n ? h(Transition, {\n name: this.transition,\n }, children)\n : children\n },\n onObserve (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n ) {\n if (this.isActive) return\n\n this.isActive = isIntersecting\n },\n },\n\n render (): VNode {\n return withDirectives(h(this.tag, {\n class: 'v-lazy',\n ...this.$attrs,\n style: this.styles,\n }, [this.genContent()]), [\n [intersect, {\n handler: this.onObserve,\n options: this.options,\n }]\n ])\n },\n})\n"],"sourceRoot":"","file":"VLazy.js"}
|
|
@@ -12,7 +12,7 @@ import Colorable from '../../mixins/colorable';
|
|
|
12
12
|
import Toggleable from '../../mixins/toggleable';
|
|
13
13
|
import { inject as RegistrableInject } from '../../mixins/registrable'; // Directives
|
|
14
14
|
|
|
15
|
-
import
|
|
15
|
+
import { Ripple } from '../../directives/ripple'; // Transitions
|
|
16
16
|
|
|
17
17
|
import { VExpandTransition } from '../transitions'; // Utils
|
|
18
18
|
|
|
@@ -21,9 +21,6 @@ import { getSlot } from '../../util/helpers';
|
|
|
21
21
|
const baseMixins = mixins(BindsAttrs, Bootable, Colorable, RegistrableInject('list'), Toggleable);
|
|
22
22
|
export default baseMixins.extend({
|
|
23
23
|
name: 'v-list-group',
|
|
24
|
-
directives: {
|
|
25
|
-
ripple
|
|
26
|
-
},
|
|
27
24
|
props: {
|
|
28
25
|
activeClass: {
|
|
29
26
|
type: String,
|
|
@@ -110,7 +107,8 @@ export default baseMixins.extend({
|
|
|
110
107
|
'v-list-group__header': true,
|
|
111
108
|
[this.activeClass]: this.isActive
|
|
112
109
|
},
|
|
113
|
-
|
|
110
|
+
link: true,
|
|
111
|
+
modelValue: this.isActive,
|
|
114
112
|
...this.listeners$,
|
|
115
113
|
onClick: this.click
|
|
116
114
|
}, () => [this.genPrependIcon(), getSlot(this, 'activator'), this.genAppendIcon()]), [[Ripple, this.ripple]]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"AAAA,SAAS,CAAT,EAAY,cAAZ,EAA4B,KAA5B,QAAgD,KAAhD,C,CACA;;AACA,OAAO,+CAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,UAAlB;AAEA,OAAO,SAAP,MAAsB,aAAtB;AACA,OAAO,aAAP,MAA0B,iBAA1B,C,CAEA;;AACA,OAAO,UAAP,MAAuB,0BAAvB;AACA,OAAO,QAAP,MAAqB,uBAArB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,SAAS,MAAM,IAAI,iBAAnB,QAA4C,0BAA5C,C,CAEA;;AACA,SAAiB,MAAjB,QAA+B,yBAA/B,C,CAEA;;AACA,SAAS,iBAAT,QAAkC,gBAAlC,C,CAEA;;AACA,OAAO,MAAP,MAAmC,mBAAnC;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAKA,MAAM,UAAU,GAAG,MAAM,CACvB,UADuB,EAEvB,QAFuB,EAGvB,SAHuB,EAIvB,iBAAiB,CAAC,MAAD,CAJM,EAKvB,UALuB,CAAzB;AAkBA,eAAe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,cADyB;AAI/B,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAAO,EAAE;AAFE,KADR;AAKL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KALP;AASL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KATF;AAaL,IAAA,QAAQ,EAAE,OAbL;AAcL,IAAA,KAAK,EAAE,CAAC,MAAD,EAAS,MAAT,CAdF;AAeL,IAAA,QAAQ,EAAE,OAfL;AAgBL,IAAA,WAAW,EAAE,MAhBR;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KAjBH;AAqBL,IAAA,QAAQ,EAAE;AArBL,GAJwB;AA4B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,gCAAwB,KAAK,QADxB;AAEL,kCAA0B,KAAK,QAF1B;AAGL,mCAA2B,KAAK,QAH3B;AAIL,mCAA2B,KAAK;AAJ3B,OAAP;AAMD;;AARO,GA5BqB;AAuC/B,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,CAAE,GAAF,EAAc;AACpB;AACA,UAAI,CAAC,KAAK,QAAN,IAAkB,GAAtB,EAA2B;AACzB,aAAK,IAAL,IAAa,KAAK,IAAL,CAAU,SAAV,CAAoB,KAAK,CAAL,CAAO,GAA3B,CAAb;AACD;AACF,KANI;;AAOL,IAAA,MAAM,EAAE;AAPH,GAvCwB;;AAiD/B,EAAA,OAAO,GAAA;AACL,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,QAAV,CAAmB,IAAnB,CAAb;;AAEA,QAAI,KAAK,KAAL,IACF,KAAK,MADH,IAEF,KAAK,UAAL,IAAmB,IAFrB,EAGE;AACA,WAAK,QAAL,GAAgB,KAAK,UAAL,CAAgB,KAAK,MAAL,CAAY,IAA5B,CAAhB;AACD;AACF,GA1D8B;;AA4D/B,EAAA,aAAa,GAAA;AACX,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,UAAV,CAAqB,IAArB,CAAb;AACD,GA9D8B;;AAgE/B,EAAA,OAAO,EAAE;AACP,IAAA,KAAK,CAAE,CAAF,EAAU;AACb,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,IAAhB;AAEA,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AACA,WAAK,SAAL,CAAe,MAAO,KAAK,QAAL,GAAgB,CAAC,KAAK,QAA5C;AACD,KARM;;AASP,IAAA,OAAO,CAAE,IAAF,EAAsB;AAC3B,aAAO,CAAC,CAAC,KAAD,EAAQ,EAAR,EAAY,MAAM,IAAlB,CAAR;AACD,KAXM;;AAYP,IAAA,aAAa,GAAA;AACX,YAAM,IAAI,GAAG,CAAC,KAAK,QAAN,GAAiB,KAAK,UAAtB,GAAmC,KAAhD;AACA,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,EAAO,YAAP,CAApB;AAEA,UAAI,CAAC,IAAD,IAAS,CAAC,IAAd,EAAoB,OAAO,IAAP;AAEpB,aAAO,CAAC,CAAC,aAAD,EAAgB;AACtB,QAAA,KAAK,EAAE;AADe,OAAhB,EAEL,MAAM,CACP,IAAI,IAAI,KAAK,OAAL,CAAa,IAAb,CADD,CAFD,CAAR;AAKD,KAvBM;;AAwBP,IAAA,SAAS,GAAA;AACP,aAAO,cAAc,CAAC,CAAC,CAAC,SAAD,EAAY;AACjC,yBAAiB,MAAM,CAAC,KAAK,QAAN,CADU;AAEjC,QAAA,IAAI,EAAE,QAF2B;AAGjC,QAAA,KAAK,EAAE;AACL,kCAAwB,IADnB;AAEL,WAAC,KAAK,WAAN,GAAoB,KAAK;AAFpB,SAH0B;AAOjC,QAAA,IAAI,EAAE,IAP2B;AAQjC,QAAA,UAAU,EAAE,KAAK,QARgB;AASjC,WAAG,KAAK,UATyB;AAUjC,QAAA,OAAO,EAAE,KAAK;AAVmB,OAAZ,EAWpB,MAAM,CACP,KAAK,cAAL,EADO,EAEP,OAAO,CAAC,IAAD,EAAO,WAAP,CAFA,EAGP,KAAK,aAAL,EAHO,CAXc,CAAF,EAgBrB,CACE,CAAC,MAAD,EAAS,KAAK,MAAd,CADF,CAhBqB,CAArB;AAmBD,KA5CM;;AA6CP,IAAA,QAAQ,GAAA;AACN,YAAM,UAAU,GAAG,CAAC,CAClB,KADkB,EAElB,KAAK,QAFa,CAAD,CAAnB;AAKA,aAAO,KAAK,eAAL,CAAqB,MAAM,CAChC,cAAc,CAAC,CAAC,CAAC,KAAD,EAAQ;AACtB,QAAA,KAAK,EAAE;AADe,OAAR,EAEb,OAAO,CAAC,IAAD,CAFM,CAAF,EAEK,UAFL,CADkB,CAA3B,CAAP;AAKD,KAxDM;;AAyDP,IAAA,cAAc,GAAA;AACZ,YAAM,IAAI,GAAG,KAAK,QAAL,IAAiB,KAAK,WAAL,IAAoB,IAArC,GACT,WADS,GAET,KAAK,WAFT;AAGA,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,EAAO,aAAP,CAApB;AAEA,UAAI,CAAC,IAAD,IAAS,CAAC,IAAd,EAAoB,OAAO,IAAP;AAEpB,aAAO,CAAC,CAAC,aAAD,EAAgB;AACtB,QAAA,KAAK,EAAE;AADe,OAAhB,EAEL,MAAM,CACP,IAAI,IAAI,KAAK,OAAL,CAAa,IAAb,CADD,CAFD,CAAR;AAKD,KAtEM;;AAuEP,IAAA,aAAa,CAAE,EAAF,EAAW;AACtB;AACA,UAAI,CAAC,KAAK,KAAV,EAAiB;AAEjB,YAAM,QAAQ,GAAG,KAAK,UAAL,CAAgB,EAAE,CAAC,IAAnB,CAAjB;AAEA;;AACA,UAAI,QAAQ,IAAI,KAAK,QAAL,KAAkB,QAAlC,EAA4C;AAC1C,aAAK,IAAL,IAAa,KAAK,IAAL,CAAU,SAAV,CAAoB,KAAK,CAAL,CAAO,GAA3B,CAAb;AACD;;AAED,WAAK,QAAL,GAAgB,QAAhB;AACD,KAnFM;;AAoFP,IAAA,MAAM,CAAE,GAAF,EAAa;AACjB,YAAM,QAAQ,GAAG,KAAK,CAAL,CAAO,GAAP,KAAe,GAAhC;AAEA,UAAI,QAAJ,EAAc,KAAK,QAAL,GAAgB,IAAhB;AACd,WAAK,SAAL,CAAe,MAAO,KAAK,QAAL,GAAgB,QAAtC;AACD,KAzFM;;AA0FP,IAAA,UAAU,CAAE,EAAF,EAAY;AACpB,aAAO,EAAE,CAAC,KAAH,CAAS,KAAK,KAAd,MAAyB,IAAhC;AACD;;AA5FM,GAhEsB;;AA+J/B,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ,KAAK,YAAL,CAAkB,KAAK,QAAL,IAAiB,KAAK,KAAxC,EAA+C;AAC7D,MAAA,KAAK,EAAE,CAAC,cAAD,EAAiB,KAAK,OAAtB;AADsD,KAA/C,CAAR,EAEJ,CACF,KAAK,SAAL,EADE,EAEF,CAAC,CAAC,iBAAD,EAAoB,EAApB,EAAwB,MAAM,KAAK,QAAL,EAA9B,CAFC,CAFI,CAAR;AAMD;;AAtK8B,CAAlB,CAAf","sourcesContent":["import { h, withDirectives, vShow, VNode } from 'vue'\n// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend({\n name: 'v-list-group',\n\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this.$.uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.modelValue == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeUnmount () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return h(VIcon, {}, () => icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n const slot = getSlot(this, 'appendIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__append-icon',\n }, () => [\n slot || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return withDirectives(h(VListItem, {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n class: {\n 'v-list-group__header': true,\n [this.activeClass]: this.isActive,\n },\n link: true,\n modelValue: this.isActive,\n ...this.listeners$,\n onClick: this.click\n }, () => [\n this.genPrependIcon(),\n getSlot(this, 'activator'),\n this.genAppendIcon(),\n ]),\n [\n [Ripple, this.ripple],\n ])\n },\n genItems (): VNode[] {\n const directives = [[\n vShow,\n this.isActive,\n ]]\n\n return this.showLazyContent(() => [\n withDirectives(h('div', {\n class: 'v-list-group__items',\n }, getSlot(this)), directives),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n const slot = getSlot(this, 'prependIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__prepend-icon',\n }, () => [\n slot || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this.$.uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this.$.uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: ['v-list-group', this.classes],\n }), [\n this.genHeader(),\n h(VExpandTransition, {}, () => this.genItems()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
|
|
@@ -6,23 +6,18 @@ import Colorable from '../../mixins/colorable';
|
|
|
6
6
|
import Routable from '../../mixins/routable';
|
|
7
7
|
import { factory as GroupableFactory } from '../../mixins/groupable';
|
|
8
8
|
import Themeable from '../../mixins/themeable';
|
|
9
|
-
import { factory as ToggleableFactory } from '../../mixins/toggleable'; //
|
|
10
|
-
|
|
11
|
-
import Ripple from '../../directives/ripple'; // Utilities
|
|
9
|
+
import { factory as ToggleableFactory } from '../../mixins/toggleable'; // Utilities
|
|
12
10
|
|
|
13
11
|
import { getSlot, keyCodes } from './../../util/helpers';
|
|
14
12
|
import mergeData from './../../util/mergeData';
|
|
15
13
|
import { removed } from '../../util/console'; // Types
|
|
16
14
|
|
|
17
15
|
import mixins from '../../util/mixins';
|
|
18
|
-
const baseMixins = mixins(Colorable, Routable, Themeable, GroupableFactory('listItemGroup'), ToggleableFactory('
|
|
16
|
+
const baseMixins = mixins(Colorable, Routable, Themeable, GroupableFactory('listItemGroup'), ToggleableFactory('modelValue'));
|
|
19
17
|
/* @vue/component */
|
|
20
18
|
|
|
21
19
|
export default baseMixins.extend({
|
|
22
20
|
name: 'v-list-item',
|
|
23
|
-
directives: {
|
|
24
|
-
Ripple
|
|
25
|
-
},
|
|
26
21
|
inject: {
|
|
27
22
|
isInGroup: {
|
|
28
23
|
default: false
|
|
@@ -54,8 +49,9 @@ export default baseMixins.extend({
|
|
|
54
49
|
},
|
|
55
50
|
threeLine: Boolean,
|
|
56
51
|
twoLine: Boolean,
|
|
57
|
-
|
|
52
|
+
modelValue: null
|
|
58
53
|
},
|
|
54
|
+
emits: ['click', 'keydown', 'change', 'update:modelValue'],
|
|
59
55
|
data: () => ({
|
|
60
56
|
proxyClass: 'v-list-item--active'
|
|
61
57
|
}),
|
|
@@ -101,10 +97,13 @@ export default baseMixins.extend({
|
|
|
101
97
|
},
|
|
102
98
|
|
|
103
99
|
genAttrs() {
|
|
104
|
-
const
|
|
100
|
+
const {
|
|
101
|
+
class: _,
|
|
102
|
+
...otherAttrs
|
|
103
|
+
} = this.$attrs;
|
|
104
|
+
const attrs = { ...otherAttrs,
|
|
105
105
|
'aria-disabled': this.disabled ? true : undefined,
|
|
106
|
-
tabindex: this.isClickable && !this.disabled ? 0 : -1
|
|
107
|
-
...this.$attrs
|
|
106
|
+
tabindex: this.isClickable && !this.disabled ? 0 : -1
|
|
108
107
|
};
|
|
109
108
|
|
|
110
109
|
if (this.$attrs.hasOwnProperty('role')) {// do nothing, role already provided
|
|
@@ -123,11 +122,12 @@ export default baseMixins.extend({
|
|
|
123
122
|
},
|
|
124
123
|
|
|
125
124
|
toggle() {
|
|
126
|
-
if (this.to && this.
|
|
125
|
+
if (this.to && this.modelValue === undefined) {
|
|
127
126
|
this.isActive = !this.isActive;
|
|
128
127
|
}
|
|
129
128
|
|
|
130
129
|
this.$emit('change');
|
|
130
|
+
this.$emitLegacy('change');
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
},
|
|
@@ -138,7 +138,8 @@ export default baseMixins.extend({
|
|
|
138
138
|
data,
|
|
139
139
|
directives
|
|
140
140
|
} = this.generateRouteLink();
|
|
141
|
-
|
|
141
|
+
const attrs = this.genAttrs();
|
|
142
|
+
data = mergeData(data, attrs);
|
|
142
143
|
data = { ...data,
|
|
143
144
|
onKeydown: e => {
|
|
144
145
|
if (!this.disabled) {
|
|
@@ -146,7 +147,9 @@ export default baseMixins.extend({
|
|
|
146
147
|
if (e.keyCode === keyCodes.enter) this.click(e);
|
|
147
148
|
this.$emit('keydown', e);
|
|
148
149
|
}
|
|
149
|
-
}
|
|
150
|
+
},
|
|
151
|
+
// Ensure our attrs take precedence over routable
|
|
152
|
+
...attrs
|
|
150
153
|
};
|
|
151
154
|
if (this.inactive) tag = 'div'; // if (this.inactive && this.to) {
|
|
152
155
|
// data.on = data.nativeOn
|
|
@@ -158,6 +161,14 @@ export default baseMixins.extend({
|
|
|
158
161
|
toggle: this.toggle
|
|
159
162
|
});
|
|
160
163
|
const nodeData = this.isActive ? this.setTextColor(this.color, data) : data;
|
|
164
|
+
const attrsClasses = this.$attrs.class;
|
|
165
|
+
|
|
166
|
+
if (attrsClasses) {
|
|
167
|
+
nodeData.class = [this.classes, attrsClasses];
|
|
168
|
+
} else {
|
|
169
|
+
nodeData.class = this.classes;
|
|
170
|
+
}
|
|
171
|
+
|
|
161
172
|
const node = typeof tag === 'string' ? h(tag, nodeData, children) : h(tag, nodeData, () => children);
|
|
162
173
|
return withDirectives(node, directives);
|
|
163
174
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives, VNode, PropType, PropValidator } from 'vue'\n// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mergeData, { mergeClasses } from './../../util/mergeData'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('modelValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-list-item',\n\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n modelValue: null as any as PropType<any>,\n },\n\n emits: [\n 'click',\n 'keydown',\n 'change',\n 'update:modelValue',\n ],\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n $activeClass () {\n if (this.activeClass) return this.activeClass\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const { class: _, ...otherAttrs } = this.$attrs\n const attrs: Record<string, any> = {\n ...otherAttrs,\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this.$.uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.modelValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n this.$emitLegacy('change')\n },\n },\n\n render (): VNode {\n let { tag, data, directives } = this.generateRouteLink()\n const attrs = this.genAttrs()\n\n data = mergeData(\n data,\n attrs\n )\n\n data = {\n ...data,\n onKeydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n // Ensure our attrs take precedence over routable\n ...attrs,\n }\n\n if (this.inactive) tag = 'div'\n // if (this.inactive && this.to) {\n // data.on = data.nativeOn\n // delete data.nativeOn\n // }\n\n const children = getSlot(this, 'default', {\n active: this.isActive,\n toggle: this.toggle,\n })\n\n const nodeData = this.isActive ? this.setTextColor(this.color, data) : data\n\n const attrsClasses = this.$attrs.class\n if (attrsClasses) {\n nodeData.class = [this.classes, attrsClasses]\n } else {\n nodeData.class = this.classes\n }\n\n const node = typeof tag === 'string'\n ? h(tag, nodeData, children)\n : h(tag, nodeData, () => children)\n\n return withDirectives(node, directives)\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
// Types
|
|
2
|
-
import { defineComponent, h } from 'vue';
|
|
2
|
+
import { defineComponent, h, Comment } from 'vue';
|
|
3
3
|
/* @vue/component */
|
|
4
4
|
|
|
5
5
|
export default defineComponent({
|
|
6
6
|
name: 'v-list-item-action',
|
|
7
|
-
functional: true,
|
|
8
7
|
|
|
9
8
|
render() {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
var _a, _b;
|
|
10
|
+
|
|
11
|
+
const {
|
|
12
|
+
class: attrClass,
|
|
13
|
+
...otherAttrs
|
|
14
|
+
} = this.$attrs;
|
|
15
|
+
let className = attrClass ? `v-list-item__action ${attrClass}` : 'v-list-item__action';
|
|
16
|
+
const children = ((_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)) || [];
|
|
17
|
+
const filteredChild = children.filter(vnode => {
|
|
18
|
+
return (vnode === null || vnode === void 0 ? void 0 : vnode.type) !== Comment && (vnode === null || vnode === void 0 ? void 0 : vnode.children) !== ' ';
|
|
15
19
|
});
|
|
16
|
-
if (filteredChild.length > 1)
|
|
17
|
-
return h('div',
|
|
20
|
+
if (filteredChild.length > 1) className += ' v-list-item__action--stack';
|
|
21
|
+
return h('div', { ...otherAttrs,
|
|
22
|
+
class: className
|
|
23
|
+
}, children);
|
|
18
24
|
}
|
|
19
25
|
|
|
20
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VListItemAction.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,eAAT,EAAiC,CAAjC,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VListItemAction.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,eAAT,EAAiC,CAAjC,EAAoC,OAApC,QAAmD,KAAnD;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,oBADuB;;AAG7B,EAAA,MAAM,GAAA;;;AACJ,UAAM;AAAE,MAAA,KAAK,EAAE,SAAT;AAAoB,SAAG;AAAvB,QAAsC,KAAK,MAAjD;AACA,QAAI,SAAS,GAAG,SAAS,GAAG,uBAAuB,SAAS,EAAnC,GAAwC,qBAAjE;AACA,UAAM,QAAQ,GAAG,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,MAAL,EAAY,OAAZ,MAAmB,IAAnB,IAAmB,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmB,EAAA,CAAA,IAAA,CAAA,EAAA,CAAnB,KAA2B,EAA5C;AAEA,UAAM,aAAa,GAAG,QAAQ,CAAC,MAAT,CAAiB,KAAD,IAAe;AACnD,aAAO,CAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,IAAP,MAAgB,OAAhB,IAA2B,CAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,QAAP,MAAoB,GAAtD;AACD,KAFqB,CAAtB;AAGA,QAAI,aAAa,CAAC,MAAd,GAAuB,CAA3B,EAA8B,SAAS,IAAI,6BAAb;AAE9B,WAAO,CAAC,CAAC,KAAD,EAAQ,EACd,GAAG,UADW;AAEd,MAAA,KAAK,EAAE;AAFO,KAAR,EAGL,QAHK,CAAR;AAID;;AAjB4B,CAAD,CAA9B","sourcesContent":["// Types\nimport { defineComponent, VNode, h, Comment } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-list-item-action',\n\n render (): VNode {\n const { class: attrClass, ...otherAttrs } = this.$attrs\n let className = attrClass ? `v-list-item__action ${attrClass}` : 'v-list-item__action'\n const children = this.$slots.default?.() || []\n\n const filteredChild = children.filter((vnode: any) => {\n return vnode?.type !== Comment && vnode?.children !== ' '\n })\n if (filteredChild.length > 1) className += ' v-list-item__action--stack'\n\n return h('div', {\n ...otherAttrs,\n class: className\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VListItemAction.js"}
|