vuetify 3.6.0-alpha.2 → 3.6.0
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/_component-variables-labs.sass +2 -1
- package/dist/json/attributes.json +731 -63
- package/dist/json/importMap-labs.json +32 -20
- package/dist/json/importMap.json +138 -138
- package/dist/json/tags.json +184 -2
- package/dist/json/web-types.json +13002 -10923
- package/dist/vuetify-labs.css +2039 -1927
- package/dist/vuetify-labs.d.ts +3575 -1079
- package/dist/vuetify-labs.esm.js +1047 -390
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1046 -389
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +3026 -2941
- package/dist/vuetify.d.ts +927 -306
- package/dist/vuetify.esm.js +625 -363
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +624 -362
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +728 -714
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.sass +128 -127
- package/lib/components/VApp/VApp.sass +15 -13
- package/lib/components/VAppBar/VAppBar.sass +9 -8
- package/lib/components/VAppBar/index.d.mts +10 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +8 -10
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +94 -93
- package/lib/components/VAutocomplete/index.d.mts +36 -0
- package/lib/components/VAvatar/VAvatar.sass +26 -25
- package/lib/components/VBadge/VBadge.sass +61 -60
- package/lib/components/VBanner/VBanner.css +1 -1
- package/lib/components/VBanner/VBanner.sass +92 -91
- package/lib/components/VBanner/index.d.mts +15 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +50 -49
- package/lib/components/VBottomSheet/VBottomSheet.sass +28 -26
- package/lib/components/VBottomSheet/index.d.mts +14 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +41 -40
- package/lib/components/VBtn/VBtn.css +3 -0
- package/lib/components/VBtn/VBtn.mjs +3 -1
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +204 -200
- package/lib/components/VBtn/index.d.mts +10 -0
- package/lib/components/VBtnGroup/VBtnGroup.sass +47 -46
- package/lib/components/VBtnToggle/VBtnToggle.sass +4 -3
- package/lib/components/VBtnToggle/index.d.mts +1 -0
- package/lib/components/VCard/VCard.css +3 -3
- package/lib/components/VCard/VCard.sass +181 -180
- package/lib/components/VCarousel/VCarousel.sass +50 -49
- package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.mts +1 -0
- package/lib/components/VCheckbox/VCheckbox.sass +6 -5
- package/lib/components/VChip/VChip.css +1 -1
- package/lib/components/VChip/VChip.sass +78 -76
- package/lib/components/VChipGroup/VChipGroup.sass +20 -18
- package/lib/components/VChipGroup/index.d.mts +16 -0
- package/lib/components/VCode/VCode.sass +10 -8
- package/lib/components/VColorPicker/VColorPicker.sass +18 -17
- package/lib/components/VColorPicker/VColorPickerCanvas.sass +21 -20
- package/lib/components/VColorPicker/VColorPickerEdit.sass +24 -23
- package/lib/components/VColorPicker/VColorPickerPreview.sass +54 -53
- package/lib/components/VColorPicker/VColorPickerSwatches.sass +29 -28
- package/lib/components/VCombobox/VCombobox.mjs +8 -10
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +94 -93
- package/lib/components/VCombobox/index.d.mts +36 -0
- package/lib/components/VCounter/VCounter.sass +7 -5
- package/lib/components/VDataIterator/index.d.mts +2 -0
- package/lib/components/VDataTable/VDataTable.css +36 -1
- package/lib/components/VDataTable/VDataTable.sass +137 -103
- package/lib/components/VDataTable/VDataTableFooter.css +5 -9
- package/lib/components/VDataTable/VDataTableFooter.sass +26 -25
- package/lib/components/VDataTable/VDataTableHeaders.mjs +66 -7
- package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.mjs +45 -10
- package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.mjs +8 -2
- package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/components/VDataTable/_variables.scss +9 -3
- package/lib/components/VDataTable/index.d.mts +263 -217
- package/lib/components/VDataTable/types.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +12 -2
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.sass +6 -5
- package/lib/components/VDatePicker/VDatePickerControls.sass +56 -55
- package/lib/components/VDatePicker/VDatePickerHeader.sass +58 -56
- package/lib/components/VDatePicker/VDatePickerMonth.sass +53 -51
- package/lib/components/VDatePicker/VDatePickerMonths.sass +18 -16
- package/lib/components/VDatePicker/VDatePickerYears.sass +14 -12
- package/lib/components/VDialog/VDialog.css +7 -3
- package/lib/components/VDialog/VDialog.mjs +6 -2
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +71 -68
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +39 -0
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs.map +1 -0
- package/lib/components/VDialog/_variables.scss +4 -3
- package/lib/components/VDialog/index.d.mts +60 -10
- package/lib/components/VDivider/VDivider.sass +49 -48
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +172 -171
- package/lib/components/VField/VField.sass +451 -450
- package/lib/components/VFileInput/VFileInput.mjs +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +30 -31
- package/lib/components/VFileInput/index.d.mts +17 -5
- package/lib/components/VFooter/VFooter.sass +17 -16
- package/lib/components/VGrid/VGrid.sass +42 -40
- package/lib/components/VIcon/VIcon.sass +34 -32
- package/lib/components/VImg/VImg.sass +24 -23
- package/lib/components/VInfiniteScroll/VInfiniteScroll.sass +21 -19
- package/lib/components/VInput/VInput.mjs +6 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +103 -102
- package/lib/components/VInput/index.d.mts +6 -0
- package/lib/components/VItemGroup/VItemGroup.sass +7 -5
- package/lib/components/VKbd/VKbd.sass +10 -9
- package/lib/components/VLabel/VLabel.sass +14 -13
- package/lib/components/VLayout/VLayout.mjs +6 -1
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.sass +10 -7
- package/lib/components/VLayout/VLayoutItem.sass +7 -5
- package/lib/components/VLayout/index.d.mts +36 -0
- package/lib/components/VList/VList.mjs +2 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +81 -80
- package/lib/components/VList/VListItem.css +1 -1
- package/lib/components/VList/VListItem.sass +260 -259
- package/lib/components/VLocaleProvider/VLocaleProvider.sass +5 -2
- package/lib/components/VMain/VMain.sass +22 -21
- package/lib/components/VMenu/VMenu.sass +14 -13
- package/lib/components/VMenu/index.d.mts +56 -0
- package/lib/components/VMessages/VMessages.sass +16 -15
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +4 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +14 -5
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +90 -84
- package/lib/components/VNavigationDrawer/index.d.mts +24 -0
- package/lib/components/VNavigationDrawer/touch.mjs +16 -2
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.sass +51 -50
- package/lib/components/VOverlay/VOverlay.mjs +2 -2
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +57 -55
- package/lib/components/VOverlay/index.d.mts +27 -13
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.sass +14 -12
- package/lib/components/VParallax/VParallax.sass +8 -5
- package/lib/components/VProgressCircular/VProgressCircular.sass +85 -83
- package/lib/components/VProgressLinear/VProgressLinear.mjs +11 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +170 -169
- package/lib/components/VProgressLinear/index.d.mts +21 -0
- package/lib/components/VRadioGroup/VRadioGroup.sass +12 -10
- package/lib/components/VRangeSlider/index.d.mts +6 -0
- package/lib/components/VRating/VRating.sass +46 -44
- package/lib/components/VResponsive/VResponsive.sass +21 -19
- package/lib/components/VSelect/VSelect.mjs +5 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.sass +50 -49
- package/lib/components/VSelect/index.d.mts +36 -0
- package/lib/components/VSelectionControl/VSelectionControl.sass +87 -86
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +9 -7
- package/lib/components/VSheet/VSheet.sass +10 -9
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +174 -173
- package/lib/components/VSlideGroup/VSlideGroup.css +14 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +110 -93
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.sass +54 -40
- package/lib/components/VSlideGroup/helpers.mjs +48 -28
- package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +16 -0
- package/lib/components/VSlider/VSlider.sass +49 -48
- package/lib/components/VSlider/VSliderThumb.sass +129 -128
- package/lib/components/VSlider/VSliderTrack.sass +120 -119
- package/lib/components/VSlider/index.d.mts +6 -0
- package/lib/components/VSnackbar/VSnackbar.css +18 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +34 -9
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +103 -83
- package/lib/components/VSnackbar/index.d.mts +42 -0
- package/lib/components/VStepper/VStepper.sass +37 -36
- package/lib/components/VStepper/VStepperItem.sass +69 -67
- package/lib/components/VSwitch/VSwitch.css +14 -2
- package/lib/components/VSwitch/VSwitch.sass +119 -112
- package/lib/components/VSystemBar/VSystemBar.css +1 -1
- package/lib/components/VSystemBar/VSystemBar.sass +24 -23
- package/lib/components/VTable/VTable.sass +140 -139
- package/lib/components/VTabs/VTab.sass +27 -25
- package/lib/components/VTabs/VTabs.sass +38 -37
- package/lib/components/VTabs/index.d.mts +49 -6
- package/lib/components/VTextField/VTextField.sass +58 -56
- package/lib/components/VTextField/index.d.mts +15 -3
- package/lib/components/VTextarea/VTextarea.sass +43 -42
- package/lib/components/VTextarea/index.d.mts +15 -3
- package/lib/components/VThemeProvider/VThemeProvider.sass +6 -3
- package/lib/components/VTimeline/VTimeline.sass +308 -307
- package/lib/components/VToolbar/VToolbar.sass +90 -89
- package/lib/components/VTooltip/VTooltip.sass +23 -21
- package/lib/components/VTooltip/index.d.mts +56 -0
- package/lib/components/VVirtualScroll/VVirtualScroll.sass +10 -7
- package/lib/components/VWindow/VWindow.css +1 -0
- package/lib/components/VWindow/VWindow.sass +74 -70
- package/lib/components/VWindow/index.d.mts +1 -0
- package/lib/components/index.d.mts +870 -253
- package/lib/composables/directiveComponent.mjs +4 -2
- package/lib/composables/directiveComponent.mjs.map +1 -1
- package/lib/composables/display.mjs +5 -0
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/goto.mjs +40 -3
- package/lib/composables/goto.mjs.map +1 -1
- package/lib/composables/group.mjs +10 -1
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/layout.mjs +3 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.sass +35 -33
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.mts +58 -54
- package/lib/labs/VCalendar/VCalendar.sass +160 -158
- package/lib/labs/VCalendar/VCalendarDay.sass +26 -23
- package/lib/labs/VCalendar/VCalendarHeader.sass +12 -10
- package/lib/labs/VCalendar/VCalendarInterval.sass +36 -34
- package/lib/labs/VCalendar/VCalendarIntervalEvent.sass +9 -6
- package/lib/labs/VCalendar/VCalendarMonthDay.sass +59 -57
- package/lib/labs/VDateInput/VDateInput.mjs +129 -0
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -0
- package/lib/labs/VDateInput/index.d.mts +1068 -0
- package/lib/labs/VDateInput/index.mjs +2 -0
- package/lib/labs/VDateInput/index.mjs.map +1 -0
- package/lib/labs/VEmptyState/VEmptyState.css +3 -3
- package/lib/labs/VEmptyState/VEmptyState.sass +59 -57
- package/lib/labs/VFab/VFab.css +1 -0
- package/lib/labs/VFab/VFab.mjs +3 -2
- package/lib/labs/VFab/VFab.mjs.map +1 -1
- package/lib/labs/VFab/VFab.sass +62 -60
- package/lib/labs/VFab/index.d.mts +19 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +79 -24
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/VNumberInput.sass +42 -40
- package/lib/labs/VNumberInput/index.d.mts +56 -29
- package/lib/labs/VPicker/VPicker.sass +49 -48
- package/lib/labs/VPullToRefresh/VPullToRefresh.css +27 -0
- package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +117 -0
- package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -0
- package/lib/labs/VPullToRefresh/VPullToRefresh.sass +23 -0
- package/lib/labs/VPullToRefresh/index.d.mts +189 -0
- package/lib/labs/VPullToRefresh/index.mjs +2 -0
- package/lib/labs/VPullToRefresh/index.mjs.map +1 -0
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +112 -0
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs.map +1 -0
- package/lib/labs/VSnackbarQueue/index.d.mts +2763 -0
- package/lib/labs/VSnackbarQueue/index.mjs +2 -0
- package/lib/labs/VSnackbarQueue/index.mjs.map +1 -0
- package/lib/labs/VSpeedDial/VSpeedDial.mjs +8 -2
- package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/labs/VSpeedDial/VSpeedDial.sass +23 -20
- package/lib/labs/VSpeedDial/index.d.mts +28 -2
- package/lib/labs/VTimePicker/VTimePicker.sass +9 -8
- package/lib/labs/VTimePicker/VTimePickerClock.mjs +1 -3
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.sass +114 -113
- package/lib/labs/VTimePicker/VTimePickerControls.sass +90 -90
- package/lib/labs/VTimePicker/_variables.scss +1 -1
- package/lib/labs/VTimePicker/index.d.mts +6 -13
- package/lib/labs/VTreeview/VTreeviewItem.sass +14 -12
- package/lib/labs/VTreeview/{variables.scss → _variables.scss} +0 -2
- package/lib/labs/components.d.mts +5587 -1641
- package/lib/labs/components.mjs +3 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/af.mjs +1 -0
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +1 -0
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +1 -0
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +1 -0
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +1 -0
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +1 -0
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +1 -0
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +1 -0
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +1 -0
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +1 -0
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +1 -0
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +1 -0
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +1 -0
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +1 -0
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +1 -0
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +1 -0
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +1 -0
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +1 -0
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +1 -0
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +1 -0
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.mts +43 -0
- package/lib/locale/it.mjs +1 -0
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +1 -0
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/km.mjs +1 -0
- package/lib/locale/km.mjs.map +1 -1
- package/lib/locale/ko.mjs +9 -8
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +1 -0
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +1 -0
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +1 -0
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +1 -0
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +1 -0
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +1 -0
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +1 -0
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +1 -0
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +1 -0
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +1 -0
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +1 -0
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +1 -0
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +1 -0
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +1 -0
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +1 -0
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +1 -0
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +1 -0
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +1 -0
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +1 -0
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/styles/elements/_blockquote.sass +6 -4
- package/lib/styles/elements/_global.sass +20 -18
- package/lib/styles/generic/_animations.scss +13 -9
- package/lib/styles/generic/_colors.scss +36 -35
- package/lib/styles/generic/_index.scss +1 -0
- package/lib/styles/generic/_layers.scss +7 -0
- package/lib/styles/generic/_reset.scss +235 -232
- package/lib/styles/generic/_rtl.scss +10 -6
- package/lib/styles/generic/_transitions.scss +244 -241
- package/lib/styles/main.css +78 -78
- package/lib/styles/settings/_variables.scss +22 -14
- package/lib/styles/tools/_index.sass +1 -0
- package/lib/styles/tools/_layer.scss +11 -0
- package/lib/styles/utilities/_display.sass +7 -5
- package/lib/styles/utilities/_elevation.scss +8 -6
- package/lib/styles/utilities/_index.sass +28 -29
- package/lib/styles/utilities/_screenreaders.sass +13 -11
- package/package.json +2 -2
|
@@ -2,51 +2,52 @@
|
|
|
2
2
|
@use '../../styles/tools'
|
|
3
3
|
@use './variables' as *
|
|
4
4
|
|
|
5
|
-
.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
5
|
+
@include tools.layer('components')
|
|
6
|
+
.v-picker.v-sheet
|
|
7
|
+
@include tools.elevation($picker-elevation)
|
|
8
|
+
@include tools.rounded($picker-border-radius)
|
|
9
|
+
|
|
10
|
+
display: grid
|
|
11
|
+
grid-auto-rows: min-content
|
|
12
|
+
grid-template-areas: "title" "header" "body"
|
|
13
|
+
overflow: hidden
|
|
14
|
+
|
|
15
|
+
&.v-picker--with-actions
|
|
16
|
+
grid-template-areas: "title" "header" "body" "actions"
|
|
17
|
+
|
|
18
|
+
.v-picker__body
|
|
19
|
+
grid-area: body
|
|
20
|
+
overflow: hidden
|
|
21
|
+
position: relative
|
|
22
|
+
|
|
23
|
+
.v-picker__header
|
|
24
|
+
grid-area: header
|
|
25
|
+
|
|
26
|
+
.v-picker__actions
|
|
27
|
+
grid-area: actions
|
|
28
|
+
padding: $picker-actions-padding
|
|
29
|
+
display: flex
|
|
30
|
+
align-items: center
|
|
31
|
+
justify-content: flex-end
|
|
32
|
+
|
|
33
|
+
.v-btn
|
|
34
|
+
min-width: 48px
|
|
35
|
+
|
|
36
|
+
&:not(:last-child)
|
|
37
|
+
margin-inline-end: 8px
|
|
38
|
+
|
|
39
|
+
.v-picker--landscape
|
|
40
|
+
grid-template-areas: "title" "header body" "header body"
|
|
41
|
+
|
|
42
|
+
.v-picker--landscape.v-picker--with-actions
|
|
43
|
+
grid-template-areas: "title" "header body" "header actions"
|
|
44
|
+
|
|
45
|
+
.v-picker-title
|
|
46
|
+
text-transform: uppercase
|
|
47
|
+
font-size: .75rem
|
|
48
|
+
grid-area: title
|
|
49
|
+
padding-inline: 24px 12px
|
|
50
|
+
padding-top: 16px
|
|
51
|
+
padding-bottom: 16px
|
|
52
|
+
font-weight: $picker-title-font-weight
|
|
53
|
+
letter-spacing: .1666666667em
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.v-pull-to-refresh {
|
|
2
|
+
overflow: hidden;
|
|
3
|
+
position: relative;
|
|
4
|
+
}
|
|
5
|
+
.v-pull-to-refresh__pull-down {
|
|
6
|
+
position: absolute;
|
|
7
|
+
width: 100%;
|
|
8
|
+
transition: top 0.3s ease-out;
|
|
9
|
+
}
|
|
10
|
+
.v-pull-to-refresh__pull-down--touching {
|
|
11
|
+
transition: none;
|
|
12
|
+
}
|
|
13
|
+
.v-pull-to-refresh__pull-down-default {
|
|
14
|
+
display: flex;
|
|
15
|
+
width: 100%;
|
|
16
|
+
height: 100%;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
align-items: flex-end;
|
|
19
|
+
padding-bottom: 10px;
|
|
20
|
+
}
|
|
21
|
+
.v-pull-to-refresh__scroll-container {
|
|
22
|
+
position: relative;
|
|
23
|
+
transition: top 0.3s ease-out;
|
|
24
|
+
}
|
|
25
|
+
.v-pull-to-refresh__scroll-container--touching {
|
|
26
|
+
transition: none;
|
|
27
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { createVNode as _createVNode } from "vue";
|
|
2
|
+
// Styles
|
|
3
|
+
import "./VPullToRefresh.css";
|
|
4
|
+
|
|
5
|
+
// Components
|
|
6
|
+
import { VIcon } from "../../components/VIcon/index.mjs";
|
|
7
|
+
import { VProgressCircular } from "../../components/VProgressCircular/index.mjs"; // Utilities
|
|
8
|
+
import { computed, onMounted, ref, shallowRef, watch } from 'vue';
|
|
9
|
+
import { clamp, convertToUnit, genericComponent, getScrollParents, useRender } from "../../util/index.mjs";
|
|
10
|
+
export const VPullToRefresh = genericComponent()({
|
|
11
|
+
name: 'VPullToRefresh',
|
|
12
|
+
props: {
|
|
13
|
+
pullDownThreshold: {
|
|
14
|
+
type: Number,
|
|
15
|
+
default: 64
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
emits: {
|
|
19
|
+
load: options => true
|
|
20
|
+
},
|
|
21
|
+
setup(props, _ref) {
|
|
22
|
+
let {
|
|
23
|
+
slots,
|
|
24
|
+
emit
|
|
25
|
+
} = _ref;
|
|
26
|
+
let touchstartY = 0;
|
|
27
|
+
let scrollParents = [];
|
|
28
|
+
const touchDiff = shallowRef(0);
|
|
29
|
+
const containerRef = ref();
|
|
30
|
+
const refreshing = shallowRef(false);
|
|
31
|
+
const goingUp = shallowRef(false);
|
|
32
|
+
const touching = shallowRef(false);
|
|
33
|
+
const canRefresh = computed(() => touchDiff.value >= props.pullDownThreshold && !refreshing.value);
|
|
34
|
+
const topOffset = computed(() => clamp(touchDiff.value, 0, props.pullDownThreshold));
|
|
35
|
+
function onTouchstart(e) {
|
|
36
|
+
if (refreshing.value) return;
|
|
37
|
+
touching.value = true;
|
|
38
|
+
touchstartY = 'clientY' in e ? e.clientY : e.touches[0].clientY;
|
|
39
|
+
}
|
|
40
|
+
function onTouchmove(e) {
|
|
41
|
+
if (refreshing.value || !touching.value) return;
|
|
42
|
+
const touchY = 'clientY' in e ? e.clientY : e.touches[0].clientY;
|
|
43
|
+
if (scrollParents.length && !scrollParents[0].scrollTop) {
|
|
44
|
+
touchDiff.value = touchY - touchstartY;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function onTouchend(e) {
|
|
48
|
+
if (refreshing.value) return;
|
|
49
|
+
touching.value = false;
|
|
50
|
+
if (canRefresh.value) {
|
|
51
|
+
function done() {
|
|
52
|
+
if (!refreshing.value) return;
|
|
53
|
+
touchDiff.value = 0;
|
|
54
|
+
refreshing.value = false;
|
|
55
|
+
}
|
|
56
|
+
emit('load', {
|
|
57
|
+
done
|
|
58
|
+
});
|
|
59
|
+
refreshing.value = true;
|
|
60
|
+
} else {
|
|
61
|
+
touchDiff.value = 0;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
onMounted(() => {
|
|
65
|
+
scrollParents = getScrollParents(containerRef.value);
|
|
66
|
+
});
|
|
67
|
+
watch([topOffset, refreshing], () => {
|
|
68
|
+
if (scrollParents.length) {
|
|
69
|
+
const stopScrolling = topOffset.value && !refreshing.value;
|
|
70
|
+
scrollParents.forEach(p => p.style.overflow = stopScrolling ? 'hidden' : 'auto');
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
watch(topOffset, (newVal, oldVal) => {
|
|
74
|
+
goingUp.value = newVal < oldVal;
|
|
75
|
+
});
|
|
76
|
+
useRender(() => {
|
|
77
|
+
return _createVNode("div", {
|
|
78
|
+
"class": ['v-pull-to-refresh'],
|
|
79
|
+
"onTouchstart": onTouchstart,
|
|
80
|
+
"onTouchmove": onTouchmove,
|
|
81
|
+
"onTouchend": onTouchend,
|
|
82
|
+
"onMousedown": onTouchstart,
|
|
83
|
+
"onMouseup": onTouchend,
|
|
84
|
+
"onMouseleave": onTouchend,
|
|
85
|
+
"onMousemove": onTouchmove,
|
|
86
|
+
"ref": containerRef
|
|
87
|
+
}, [_createVNode("div", {
|
|
88
|
+
"class": ['v-pull-to-refresh__pull-down', {
|
|
89
|
+
'v-pull-to-refresh__pull-down--touching': touching.value
|
|
90
|
+
}],
|
|
91
|
+
"style": {
|
|
92
|
+
top: convertToUnit(-1 * props.pullDownThreshold + topOffset.value),
|
|
93
|
+
height: convertToUnit(props.pullDownThreshold)
|
|
94
|
+
}
|
|
95
|
+
}, [slots.pullDownPanel ? slots.pullDownPanel({
|
|
96
|
+
canRefresh: canRefresh.value,
|
|
97
|
+
goingUp: goingUp.value,
|
|
98
|
+
refreshing: refreshing.value
|
|
99
|
+
}) : _createVNode("div", {
|
|
100
|
+
"class": ['v-pull-to-refresh__pull-down-default']
|
|
101
|
+
}, [refreshing.value ? _createVNode(VProgressCircular, {
|
|
102
|
+
"indeterminate": true,
|
|
103
|
+
"active": false
|
|
104
|
+
}, null) : _createVNode(VIcon, {
|
|
105
|
+
"icon": canRefresh.value || goingUp.value ? '$sortAsc' : '$sortDesc'
|
|
106
|
+
}, null)])]), _createVNode("div", {
|
|
107
|
+
"class": ['v-pull-to-refresh__scroll-container', {
|
|
108
|
+
'v-pull-to-refresh__scroll-container--touching': touching.value
|
|
109
|
+
}],
|
|
110
|
+
"style": {
|
|
111
|
+
top: convertToUnit(topOffset.value)
|
|
112
|
+
}
|
|
113
|
+
}, [slots.default?.()])]);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=VPullToRefresh.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VPullToRefresh.mjs","names":["VIcon","VProgressCircular","computed","onMounted","ref","shallowRef","watch","clamp","convertToUnit","genericComponent","getScrollParents","useRender","VPullToRefresh","name","props","pullDownThreshold","type","Number","default","emits","load","options","setup","_ref","slots","emit","touchstartY","scrollParents","touchDiff","containerRef","refreshing","goingUp","touching","canRefresh","value","topOffset","onTouchstart","e","clientY","touches","onTouchmove","touchY","length","scrollTop","onTouchend","done","stopScrolling","forEach","p","style","overflow","newVal","oldVal","_createVNode","top","height","pullDownPanel"],"sources":["../../../src/labs/VPullToRefresh/VPullToRefresh.tsx"],"sourcesContent":["// Styles\nimport './VPullToRefresh.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Utilities\nimport { computed, onMounted, ref, shallowRef, watch } from 'vue'\nimport { clamp, convertToUnit, genericComponent, getScrollParents, useRender } from '@/util'\n\nexport type VPullToRefreshSlots = {\n default: never\n pullDownPanel: {\n canRefresh: boolean\n goingUp: boolean\n refreshing: boolean\n }\n}\n\nexport const VPullToRefresh = genericComponent<VPullToRefreshSlots>()({\n name: 'VPullToRefresh',\n\n props: {\n pullDownThreshold: {\n type: Number,\n default: 64,\n },\n },\n\n emits: {\n load: (options: { done: () => void }) => true,\n },\n\n setup (props, { slots, emit }) {\n let touchstartY = 0\n let scrollParents: HTMLElement[] = []\n\n const touchDiff = shallowRef(0)\n const containerRef = ref<HTMLElement>()\n\n const refreshing = shallowRef(false)\n const goingUp = shallowRef(false)\n const touching = shallowRef(false)\n\n const canRefresh = computed(() => touchDiff.value >= props.pullDownThreshold && !refreshing.value)\n const topOffset = computed(() => clamp(touchDiff.value, 0, props.pullDownThreshold))\n\n function onTouchstart (e: TouchEvent | MouseEvent) {\n if (refreshing.value) return\n touching.value = true\n touchstartY = 'clientY' in e ? e.clientY : e.touches[0].clientY\n }\n\n function onTouchmove (e: TouchEvent | MouseEvent) {\n if (refreshing.value || !touching.value) return\n\n const touchY = 'clientY' in e ? e.clientY : e.touches[0].clientY\n\n if (scrollParents.length && !scrollParents[0].scrollTop) {\n touchDiff.value = touchY - touchstartY\n }\n }\n\n function onTouchend (e: TouchEvent | MouseEvent) {\n if (refreshing.value) return\n touching.value = false\n if (canRefresh.value) {\n function done () {\n if (!refreshing.value) return\n touchDiff.value = 0\n refreshing.value = false\n }\n emit('load', { done })\n refreshing.value = true\n } else {\n touchDiff.value = 0\n }\n }\n\n onMounted(() => {\n scrollParents = getScrollParents(containerRef.value)\n })\n\n watch([topOffset, refreshing], () => {\n if (scrollParents.length) {\n const stopScrolling = topOffset.value && !refreshing.value\n scrollParents.forEach(p => p.style.overflow = stopScrolling ? 'hidden' : 'auto')\n }\n })\n\n watch(topOffset, (newVal, oldVal) => {\n goingUp.value = newVal < oldVal\n })\n\n useRender(() => {\n return (\n <div\n class={[\n 'v-pull-to-refresh',\n ]}\n onTouchstart={ onTouchstart }\n onTouchmove={ onTouchmove }\n onTouchend={ onTouchend }\n onMousedown={ onTouchstart }\n onMouseup={ onTouchend }\n onMouseleave={ onTouchend }\n onMousemove={ onTouchmove }\n ref={ containerRef }\n >\n <div\n class={[\n 'v-pull-to-refresh__pull-down',\n {\n 'v-pull-to-refresh__pull-down--touching': touching.value,\n },\n ]}\n style={{\n top: convertToUnit(-1 * props.pullDownThreshold + topOffset.value),\n height: convertToUnit(props.pullDownThreshold),\n }}\n >\n { slots.pullDownPanel\n ? slots.pullDownPanel({\n canRefresh: canRefresh.value,\n goingUp: goingUp.value,\n refreshing: refreshing.value,\n }) : (\n <div\n class={[\n 'v-pull-to-refresh__pull-down-default',\n ]}\n >\n {\n refreshing.value ? (\n <VProgressCircular\n indeterminate\n active={ false }\n />\n ) : (\n <VIcon\n icon={ canRefresh.value || goingUp.value ? '$sortAsc' : '$sortDesc' }\n />\n )\n }\n </div>\n )\n }\n </div>\n <div\n class={[\n 'v-pull-to-refresh__scroll-container',\n {\n 'v-pull-to-refresh__scroll-container--touching': touching.value,\n },\n ]}\n style={{ top: convertToUnit(topOffset.value) }}\n >\n { slots.default?.() }\n </div>\n </div>\n )\n })\n },\n})\n\nexport type VPullToRefresh = InstanceType<typeof VPullToRefresh>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,KAAK;AAAA,SACLC,iBAAiB,wDAE1B;AACA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACxDC,KAAK,EAAEC,aAAa,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAEC,SAAS;AAW5E,OAAO,MAAMC,cAAc,GAAGH,gBAAgB,CAAsB,CAAC,CAAC;EACpEI,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAE;IACLC,iBAAiB,EAAE;MACjBC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX;EACF,CAAC;EAEDC,KAAK,EAAE;IACLC,IAAI,EAAGC,OAA6B,IAAK;EAC3C,CAAC;EAEDC,KAAKA,CAAER,KAAK,EAAAS,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC3B,IAAIG,WAAW,GAAG,CAAC;IACnB,IAAIC,aAA4B,GAAG,EAAE;IAErC,MAAMC,SAAS,GAAGvB,UAAU,CAAC,CAAC,CAAC;IAC/B,MAAMwB,YAAY,GAAGzB,GAAG,CAAc,CAAC;IAEvC,MAAM0B,UAAU,GAAGzB,UAAU,CAAC,KAAK,CAAC;IACpC,MAAM0B,OAAO,GAAG1B,UAAU,CAAC,KAAK,CAAC;IACjC,MAAM2B,QAAQ,GAAG3B,UAAU,CAAC,KAAK,CAAC;IAElC,MAAM4B,UAAU,GAAG/B,QAAQ,CAAC,MAAM0B,SAAS,CAACM,KAAK,IAAIpB,KAAK,CAACC,iBAAiB,IAAI,CAACe,UAAU,CAACI,KAAK,CAAC;IAClG,MAAMC,SAAS,GAAGjC,QAAQ,CAAC,MAAMK,KAAK,CAACqB,SAAS,CAACM,KAAK,EAAE,CAAC,EAAEpB,KAAK,CAACC,iBAAiB,CAAC,CAAC;IAEpF,SAASqB,YAAYA,CAAEC,CAA0B,EAAE;MACjD,IAAIP,UAAU,CAACI,KAAK,EAAE;MACtBF,QAAQ,CAACE,KAAK,GAAG,IAAI;MACrBR,WAAW,GAAG,SAAS,IAAIW,CAAC,GAAGA,CAAC,CAACC,OAAO,GAAGD,CAAC,CAACE,OAAO,CAAC,CAAC,CAAC,CAACD,OAAO;IACjE;IAEA,SAASE,WAAWA,CAAEH,CAA0B,EAAE;MAChD,IAAIP,UAAU,CAACI,KAAK,IAAI,CAACF,QAAQ,CAACE,KAAK,EAAE;MAEzC,MAAMO,MAAM,GAAG,SAAS,IAAIJ,CAAC,GAAGA,CAAC,CAACC,OAAO,GAAGD,CAAC,CAACE,OAAO,CAAC,CAAC,CAAC,CAACD,OAAO;MAEhE,IAAIX,aAAa,CAACe,MAAM,IAAI,CAACf,aAAa,CAAC,CAAC,CAAC,CAACgB,SAAS,EAAE;QACvDf,SAAS,CAACM,KAAK,GAAGO,MAAM,GAAGf,WAAW;MACxC;IACF;IAEA,SAASkB,UAAUA,CAAEP,CAA0B,EAAE;MAC/C,IAAIP,UAAU,CAACI,KAAK,EAAE;MACtBF,QAAQ,CAACE,KAAK,GAAG,KAAK;MACtB,IAAID,UAAU,CAACC,KAAK,EAAE;QACpB,SAASW,IAAIA,CAAA,EAAI;UACf,IAAI,CAACf,UAAU,CAACI,KAAK,EAAE;UACvBN,SAAS,CAACM,KAAK,GAAG,CAAC;UACnBJ,UAAU,CAACI,KAAK,GAAG,KAAK;QAC1B;QACAT,IAAI,CAAC,MAAM,EAAE;UAAEoB;QAAK,CAAC,CAAC;QACtBf,UAAU,CAACI,KAAK,GAAG,IAAI;MACzB,CAAC,MAAM;QACLN,SAAS,CAACM,KAAK,GAAG,CAAC;MACrB;IACF;IAEA/B,SAAS,CAAC,MAAM;MACdwB,aAAa,GAAGjB,gBAAgB,CAACmB,YAAY,CAACK,KAAK,CAAC;IACtD,CAAC,CAAC;IAEF5B,KAAK,CAAC,CAAC6B,SAAS,EAAEL,UAAU,CAAC,EAAE,MAAM;MACnC,IAAIH,aAAa,CAACe,MAAM,EAAE;QACxB,MAAMI,aAAa,GAAGX,SAAS,CAACD,KAAK,IAAI,CAACJ,UAAU,CAACI,KAAK;QAC1DP,aAAa,CAACoB,OAAO,CAACC,CAAC,IAAIA,CAAC,CAACC,KAAK,CAACC,QAAQ,GAAGJ,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;MAClF;IACF,CAAC,CAAC;IAEFxC,KAAK,CAAC6B,SAAS,EAAE,CAACgB,MAAM,EAAEC,MAAM,KAAK;MACnCrB,OAAO,CAACG,KAAK,GAAGiB,MAAM,GAAGC,MAAM;IACjC,CAAC,CAAC;IAEFzC,SAAS,CAAC,MAAM;MACd,OAAA0C,YAAA;QAAA,SAEW,CACL,mBAAmB,CACpB;QAAA,gBACcjB,YAAY;QAAA,eACbI,WAAW;QAAA,cACZI,UAAU;QAAA,eACTR,YAAY;QAAA,aACdQ,UAAU;QAAA,gBACPA,UAAU;QAAA,eACXJ,WAAW;QAAA,OACnBX;MAAY,IAAAwB,YAAA;QAAA,SAGT,CACL,8BAA8B,EAC9B;UACE,wCAAwC,EAAErB,QAAQ,CAACE;QACrD,CAAC,CACF;QAAA,SACM;UACLoB,GAAG,EAAE9C,aAAa,CAAC,CAAC,CAAC,GAAGM,KAAK,CAACC,iBAAiB,GAAGoB,SAAS,CAACD,KAAK,CAAC;UAClEqB,MAAM,EAAE/C,aAAa,CAACM,KAAK,CAACC,iBAAiB;QAC/C;MAAC,IAECS,KAAK,CAACgC,aAAa,GACjBhC,KAAK,CAACgC,aAAa,CAAC;QACpBvB,UAAU,EAAEA,UAAU,CAACC,KAAK;QAC5BH,OAAO,EAAEA,OAAO,CAACG,KAAK;QACtBJ,UAAU,EAAEA,UAAU,CAACI;MACzB,CAAC,CAAC,GAAAmB,YAAA;QAAA,SAES,CACL,sCAAsC;MACvC,IAGCvB,UAAU,CAACI,KAAK,GAAAmB,YAAA,CAAApD,iBAAA;QAAA;QAAA,UAGH;MAAK,WAAAoD,YAAA,CAAArD,KAAA;QAAA,QAIPiC,UAAU,CAACC,KAAK,IAAIH,OAAO,CAACG,KAAK,GAAG,UAAU,GAAG;MAAW,QAEtE,EAGN,IAAAmB,YAAA;QAAA,SAII,CACL,qCAAqC,EACrC;UACE,+CAA+C,EAAErB,QAAQ,CAACE;QAC5D,CAAC,CACF;QAAA,SACM;UAAEoB,GAAG,EAAE9C,aAAa,CAAC2B,SAAS,CAACD,KAAK;QAAE;MAAC,IAE5CV,KAAK,CAACN,OAAO,GAAG,CAAC;IAI3B,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
.v-pull-to-refresh
|
|
2
|
+
overflow: hidden
|
|
3
|
+
position: relative
|
|
4
|
+
&__pull-down
|
|
5
|
+
position: absolute
|
|
6
|
+
width: 100%
|
|
7
|
+
transition: top .3s ease-out
|
|
8
|
+
&--touching
|
|
9
|
+
transition: none
|
|
10
|
+
|
|
11
|
+
&__pull-down-default
|
|
12
|
+
display: flex
|
|
13
|
+
width: 100%
|
|
14
|
+
height: 100%
|
|
15
|
+
justify-content: center
|
|
16
|
+
align-items: flex-end
|
|
17
|
+
padding-bottom: 10px
|
|
18
|
+
|
|
19
|
+
&__scroll-container
|
|
20
|
+
position: relative
|
|
21
|
+
transition: top .3s ease-out
|
|
22
|
+
&--touching
|
|
23
|
+
transition: none
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes } from 'vue';
|
|
3
|
+
|
|
4
|
+
interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
|
|
5
|
+
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
declare const VPullToRefresh: {
|
|
9
|
+
new (...args: any[]): vue.CreateComponentPublicInstance<{
|
|
10
|
+
pullDownThreshold: number;
|
|
11
|
+
} & {} & {
|
|
12
|
+
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
13
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
14
|
+
pullDownPanel?: ((arg: {
|
|
15
|
+
canRefresh: boolean;
|
|
16
|
+
goingUp: boolean;
|
|
17
|
+
refreshing: boolean;
|
|
18
|
+
}) => vue.VNodeChild) | undefined;
|
|
19
|
+
};
|
|
20
|
+
'v-slots'?: {
|
|
21
|
+
default?: false | (() => vue.VNodeChild) | undefined;
|
|
22
|
+
pullDownPanel?: false | ((arg: {
|
|
23
|
+
canRefresh: boolean;
|
|
24
|
+
goingUp: boolean;
|
|
25
|
+
refreshing: boolean;
|
|
26
|
+
}) => vue.VNodeChild) | undefined;
|
|
27
|
+
} | undefined;
|
|
28
|
+
} & {
|
|
29
|
+
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
30
|
+
"v-slot:pullDownPanel"?: false | ((arg: {
|
|
31
|
+
canRefresh: boolean;
|
|
32
|
+
goingUp: boolean;
|
|
33
|
+
refreshing: boolean;
|
|
34
|
+
}) => vue.VNodeChild) | undefined;
|
|
35
|
+
} & {
|
|
36
|
+
onLoad?: ((options: {
|
|
37
|
+
done: () => void;
|
|
38
|
+
}) => any) | undefined;
|
|
39
|
+
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
40
|
+
load: (options: {
|
|
41
|
+
done: () => void;
|
|
42
|
+
}) => true;
|
|
43
|
+
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
44
|
+
pullDownThreshold: number;
|
|
45
|
+
} & {} & {
|
|
46
|
+
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
47
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
48
|
+
pullDownPanel?: ((arg: {
|
|
49
|
+
canRefresh: boolean;
|
|
50
|
+
goingUp: boolean;
|
|
51
|
+
refreshing: boolean;
|
|
52
|
+
}) => vue.VNodeChild) | undefined;
|
|
53
|
+
};
|
|
54
|
+
'v-slots'?: {
|
|
55
|
+
default?: false | (() => vue.VNodeChild) | undefined;
|
|
56
|
+
pullDownPanel?: false | ((arg: {
|
|
57
|
+
canRefresh: boolean;
|
|
58
|
+
goingUp: boolean;
|
|
59
|
+
refreshing: boolean;
|
|
60
|
+
}) => vue.VNodeChild) | undefined;
|
|
61
|
+
} | undefined;
|
|
62
|
+
} & {
|
|
63
|
+
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
64
|
+
"v-slot:pullDownPanel"?: false | ((arg: {
|
|
65
|
+
canRefresh: boolean;
|
|
66
|
+
goingUp: boolean;
|
|
67
|
+
refreshing: boolean;
|
|
68
|
+
}) => vue.VNodeChild) | undefined;
|
|
69
|
+
} & {
|
|
70
|
+
onLoad?: ((options: {
|
|
71
|
+
done: () => void;
|
|
72
|
+
}) => any) | undefined;
|
|
73
|
+
}, {
|
|
74
|
+
pullDownThreshold: number;
|
|
75
|
+
}, true, {}, vue.SlotsType<Partial<{
|
|
76
|
+
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
77
|
+
[key: string]: any;
|
|
78
|
+
}>[];
|
|
79
|
+
pullDownPanel: (arg: {
|
|
80
|
+
canRefresh: boolean;
|
|
81
|
+
goingUp: boolean;
|
|
82
|
+
refreshing: boolean;
|
|
83
|
+
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
84
|
+
[key: string]: any;
|
|
85
|
+
}>[];
|
|
86
|
+
}>>, {
|
|
87
|
+
P: {};
|
|
88
|
+
B: {};
|
|
89
|
+
D: {};
|
|
90
|
+
C: {};
|
|
91
|
+
M: {};
|
|
92
|
+
Defaults: {};
|
|
93
|
+
}, {
|
|
94
|
+
pullDownThreshold: number;
|
|
95
|
+
} & {} & {
|
|
96
|
+
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
97
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
98
|
+
pullDownPanel?: ((arg: {
|
|
99
|
+
canRefresh: boolean;
|
|
100
|
+
goingUp: boolean;
|
|
101
|
+
refreshing: boolean;
|
|
102
|
+
}) => vue.VNodeChild) | undefined;
|
|
103
|
+
};
|
|
104
|
+
'v-slots'?: {
|
|
105
|
+
default?: false | (() => vue.VNodeChild) | undefined;
|
|
106
|
+
pullDownPanel?: false | ((arg: {
|
|
107
|
+
canRefresh: boolean;
|
|
108
|
+
goingUp: boolean;
|
|
109
|
+
refreshing: boolean;
|
|
110
|
+
}) => vue.VNodeChild) | undefined;
|
|
111
|
+
} | undefined;
|
|
112
|
+
} & {
|
|
113
|
+
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
114
|
+
"v-slot:pullDownPanel"?: false | ((arg: {
|
|
115
|
+
canRefresh: boolean;
|
|
116
|
+
goingUp: boolean;
|
|
117
|
+
refreshing: boolean;
|
|
118
|
+
}) => vue.VNodeChild) | undefined;
|
|
119
|
+
} & {
|
|
120
|
+
onLoad?: ((options: {
|
|
121
|
+
done: () => void;
|
|
122
|
+
}) => any) | undefined;
|
|
123
|
+
}, {}, {}, {}, {}, {
|
|
124
|
+
pullDownThreshold: number;
|
|
125
|
+
}>;
|
|
126
|
+
__isFragment?: undefined;
|
|
127
|
+
__isTeleport?: undefined;
|
|
128
|
+
__isSuspense?: undefined;
|
|
129
|
+
} & vue.ComponentOptionsBase<{
|
|
130
|
+
pullDownThreshold: number;
|
|
131
|
+
} & {} & {
|
|
132
|
+
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
133
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
134
|
+
pullDownPanel?: ((arg: {
|
|
135
|
+
canRefresh: boolean;
|
|
136
|
+
goingUp: boolean;
|
|
137
|
+
refreshing: boolean;
|
|
138
|
+
}) => vue.VNodeChild) | undefined;
|
|
139
|
+
};
|
|
140
|
+
'v-slots'?: {
|
|
141
|
+
default?: false | (() => vue.VNodeChild) | undefined;
|
|
142
|
+
pullDownPanel?: false | ((arg: {
|
|
143
|
+
canRefresh: boolean;
|
|
144
|
+
goingUp: boolean;
|
|
145
|
+
refreshing: boolean;
|
|
146
|
+
}) => vue.VNodeChild) | undefined;
|
|
147
|
+
} | undefined;
|
|
148
|
+
} & {
|
|
149
|
+
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
150
|
+
"v-slot:pullDownPanel"?: false | ((arg: {
|
|
151
|
+
canRefresh: boolean;
|
|
152
|
+
goingUp: boolean;
|
|
153
|
+
refreshing: boolean;
|
|
154
|
+
}) => vue.VNodeChild) | undefined;
|
|
155
|
+
} & {
|
|
156
|
+
onLoad?: ((options: {
|
|
157
|
+
done: () => void;
|
|
158
|
+
}) => any) | undefined;
|
|
159
|
+
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
160
|
+
load: (options: {
|
|
161
|
+
done: () => void;
|
|
162
|
+
}) => true;
|
|
163
|
+
}, string, {
|
|
164
|
+
pullDownThreshold: number;
|
|
165
|
+
}, {}, string, vue.SlotsType<Partial<{
|
|
166
|
+
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
167
|
+
[key: string]: any;
|
|
168
|
+
}>[];
|
|
169
|
+
pullDownPanel: (arg: {
|
|
170
|
+
canRefresh: boolean;
|
|
171
|
+
goingUp: boolean;
|
|
172
|
+
refreshing: boolean;
|
|
173
|
+
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
174
|
+
[key: string]: any;
|
|
175
|
+
}>[];
|
|
176
|
+
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
|
177
|
+
pullDownThreshold: {
|
|
178
|
+
type: NumberConstructor;
|
|
179
|
+
default: number;
|
|
180
|
+
};
|
|
181
|
+
}, vue.ExtractPropTypes<{
|
|
182
|
+
pullDownThreshold: {
|
|
183
|
+
type: NumberConstructor;
|
|
184
|
+
default: number;
|
|
185
|
+
};
|
|
186
|
+
}>>;
|
|
187
|
+
type VPullToRefresh = InstanceType<typeof VPullToRefresh>;
|
|
188
|
+
|
|
189
|
+
export { VPullToRefresh };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["VPullToRefresh"],"sources":["../../../src/labs/VPullToRefresh/index.ts"],"sourcesContent":["export { VPullToRefresh } from './VPullToRefresh'\n"],"mappings":"SAASA,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
|
|
2
|
+
// Components
|
|
3
|
+
import { VBtn } from "../../components/VBtn/index.mjs";
|
|
4
|
+
import { VDefaultsProvider } from "../../components/VDefaultsProvider/index.mjs";
|
|
5
|
+
import { makeVSnackbarProps, VSnackbar } from "../../components/VSnackbar/VSnackbar.mjs"; // Composables
|
|
6
|
+
import { useLocale } from "../../composables/locale.mjs"; // Utilities
|
|
7
|
+
import { computed, nextTick, shallowRef, watch } from 'vue';
|
|
8
|
+
import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
9
|
+
export const makeVSnackbarQueueProps = propsFactory({
|
|
10
|
+
// TODO: Port this to Snackbar on dev
|
|
11
|
+
closable: [Boolean, String],
|
|
12
|
+
closeText: {
|
|
13
|
+
type: String,
|
|
14
|
+
default: '$vuetify.dismiss'
|
|
15
|
+
},
|
|
16
|
+
modelValue: {
|
|
17
|
+
type: Array,
|
|
18
|
+
default: () => []
|
|
19
|
+
},
|
|
20
|
+
...omit(makeVSnackbarProps(), ['modelValue'])
|
|
21
|
+
}, 'VSnackbarQueue');
|
|
22
|
+
export const VSnackbarQueue = genericComponent()({
|
|
23
|
+
name: 'VSnackbarQueue',
|
|
24
|
+
props: makeVSnackbarQueueProps(),
|
|
25
|
+
emits: {
|
|
26
|
+
'update:modelValue': val => true
|
|
27
|
+
},
|
|
28
|
+
setup(props, _ref) {
|
|
29
|
+
let {
|
|
30
|
+
emit,
|
|
31
|
+
slots
|
|
32
|
+
} = _ref;
|
|
33
|
+
const {
|
|
34
|
+
t
|
|
35
|
+
} = useLocale();
|
|
36
|
+
const isActive = shallowRef(false);
|
|
37
|
+
const isVisible = shallowRef(false);
|
|
38
|
+
const current = shallowRef();
|
|
39
|
+
watch(() => props.modelValue.length, (val, oldVal) => {
|
|
40
|
+
if (!isVisible.value && val > oldVal) {
|
|
41
|
+
showNext();
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
watch(isActive, val => {
|
|
45
|
+
if (val) isVisible.value = true;
|
|
46
|
+
});
|
|
47
|
+
function onAfterLeave() {
|
|
48
|
+
if (props.modelValue.length) {
|
|
49
|
+
showNext();
|
|
50
|
+
} else {
|
|
51
|
+
current.value = undefined;
|
|
52
|
+
isVisible.value = false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function showNext() {
|
|
56
|
+
const [next, ...rest] = props.modelValue;
|
|
57
|
+
emit('update:modelValue', rest);
|
|
58
|
+
current.value = typeof next === 'string' ? {
|
|
59
|
+
text: next
|
|
60
|
+
} : next;
|
|
61
|
+
nextTick(() => {
|
|
62
|
+
isActive.value = true;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function onClickClose() {
|
|
66
|
+
isActive.value = false;
|
|
67
|
+
}
|
|
68
|
+
const btnProps = computed(() => ({
|
|
69
|
+
color: typeof props.closable === 'string' ? props.closable : undefined,
|
|
70
|
+
text: t(props.closeText)
|
|
71
|
+
}));
|
|
72
|
+
useRender(() => {
|
|
73
|
+
const hasActions = !!(props.closable || slots.actions);
|
|
74
|
+
const {
|
|
75
|
+
modelValue: _,
|
|
76
|
+
...snackbarProps
|
|
77
|
+
} = VSnackbar.filterProps(props);
|
|
78
|
+
return _createVNode(_Fragment, null, [isVisible.value && !!current.value && (slots.default ? _createVNode(VDefaultsProvider, {
|
|
79
|
+
"defaults": {
|
|
80
|
+
VSnackbar: current.value
|
|
81
|
+
}
|
|
82
|
+
}, {
|
|
83
|
+
default: () => [slots.default({
|
|
84
|
+
item: current.value
|
|
85
|
+
})]
|
|
86
|
+
}) : _createVNode(VSnackbar, _mergeProps(snackbarProps, current.value, {
|
|
87
|
+
"modelValue": isActive.value,
|
|
88
|
+
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
89
|
+
"onAfterLeave": onAfterLeave
|
|
90
|
+
}), {
|
|
91
|
+
text: slots.text ? () => slots.text?.({
|
|
92
|
+
item: current.value
|
|
93
|
+
}) : undefined,
|
|
94
|
+
actions: hasActions ? () => _createVNode(_Fragment, null, [!slots.actions ? _createVNode(VBtn, _mergeProps(btnProps.value, {
|
|
95
|
+
"onClick": onClickClose
|
|
96
|
+
}), null) : _createVNode(VDefaultsProvider, {
|
|
97
|
+
"defaults": {
|
|
98
|
+
VBtn: btnProps.value
|
|
99
|
+
}
|
|
100
|
+
}, {
|
|
101
|
+
default: () => [slots.actions({
|
|
102
|
+
item: current.value,
|
|
103
|
+
props: {
|
|
104
|
+
onClick: onClickClose
|
|
105
|
+
}
|
|
106
|
+
})]
|
|
107
|
+
})]) : undefined
|
|
108
|
+
}))]);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=VSnackbarQueue.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VSnackbarQueue.mjs","names":["VBtn","VDefaultsProvider","makeVSnackbarProps","VSnackbar","useLocale","computed","nextTick","shallowRef","watch","genericComponent","omit","propsFactory","useRender","makeVSnackbarQueueProps","closable","Boolean","String","closeText","type","default","modelValue","Array","VSnackbarQueue","name","props","emits","val","setup","_ref","emit","slots","t","isActive","isVisible","current","length","oldVal","value","showNext","onAfterLeave","undefined","next","rest","text","onClickClose","btnProps","color","hasActions","actions","_","snackbarProps","filterProps","_createVNode","_Fragment","item","_mergeProps","$event","onClick"],"sources":["../../../src/labs/VSnackbarQueue/VSnackbarQueue.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVSnackbarProps, VSnackbar } from '@/components/VSnackbar/VSnackbar'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, nextTick, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type VSnackbarQueueSlots<T extends string | SnackbarMessage> = {\n default: { item: T }\n text: { item: T }\n actions: {\n item: T\n props: {\n onClick: () => void\n }\n }\n}\n\nexport type SnackbarMessage = Omit<\n VSnackbar['$props'],\n | '$children'\n | 'modelValue'\n | 'onUpdate:modelValue'\n | 'activator'\n | 'activatorProps'\n | 'closeDelay'\n | 'openDelay'\n | 'openOnClick'\n | 'openOnFocus'\n | 'openOnHover'\n>\n\nexport const makeVSnackbarQueueProps = propsFactory({\n // TODO: Port this to Snackbar on dev\n closable: [Boolean, String],\n closeText: {\n type: String,\n default: '$vuetify.dismiss',\n },\n modelValue: {\n type: Array as PropType<readonly (string | SnackbarMessage)[]>,\n default: () => [],\n },\n\n ...omit(makeVSnackbarProps(), ['modelValue']),\n}, 'VSnackbarQueue')\n\nexport const VSnackbarQueue = genericComponent<new <T extends readonly (string | SnackbarMessage)[]> (\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => void\n },\n slots: VSnackbarQueueSlots<T[number]>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSnackbarQueue',\n\n props: makeVSnackbarQueueProps(),\n\n emits: {\n 'update:modelValue': (val: (string | SnackbarMessage)[]) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n\n const isActive = shallowRef(false)\n const isVisible = shallowRef(false)\n const current = shallowRef<SnackbarMessage>()\n\n watch(() => props.modelValue.length, (val, oldVal) => {\n if (!isVisible.value && val > oldVal) {\n showNext()\n }\n })\n watch(isActive, val => {\n if (val) isVisible.value = true\n })\n\n function onAfterLeave () {\n if (props.modelValue.length) {\n showNext()\n } else {\n current.value = undefined\n isVisible.value = false\n }\n }\n function showNext () {\n const [next, ...rest] = props.modelValue\n emit('update:modelValue', rest)\n current.value = typeof next === 'string' ? { text: next } : next\n nextTick(() => {\n isActive.value = true\n })\n }\n function onClickClose () {\n isActive.value = false\n }\n\n const btnProps = computed(() => ({\n color: typeof props.closable === 'string' ? props.closable : undefined,\n text: t(props.closeText),\n }))\n\n useRender(() => {\n const hasActions = !!(props.closable || slots.actions)\n const { modelValue: _, ...snackbarProps } = VSnackbar.filterProps(props as any)\n\n return (\n <>\n { isVisible.value && !!current.value && (\n slots.default\n ? (\n <VDefaultsProvider defaults={{ VSnackbar: current.value }}>\n { slots.default({ item: current.value }) }\n </VDefaultsProvider>\n ) : (\n <VSnackbar\n { ...snackbarProps }\n { ...current.value }\n v-model={ isActive.value }\n onAfterLeave={ onAfterLeave }\n >\n {{\n text: slots.text ? () => slots.text?.({ item: current.value! }) : undefined,\n actions: hasActions ? () => (\n <>\n { !slots.actions ? (\n <VBtn\n { ...btnProps.value }\n onClick={ onClickClose }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: btnProps.value,\n }}\n >\n { slots.actions({\n item: current.value!,\n props: { onClick: onClickClose },\n })}\n </VDefaultsProvider>\n )}\n </>\n ) : undefined,\n }}\n </VSnackbar>\n )\n )}\n </>\n )\n })\n },\n})\n\nexport type VSnackbarQueue = InstanceType<typeof VSnackbarQueue>\n"],"mappings":"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","ignoreList":[]}
|