vuetify 3.1.4 → 3.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +2734 -2738
- package/dist/json/importMap.json +32 -32
- package/dist/json/tags.json +0 -1
- package/dist/json/web-types.json +9073 -6416
- package/dist/vuetify-labs.css +3119 -6004
- package/dist/vuetify-labs.d.ts +12865 -20825
- package/dist/vuetify-labs.esm.js +1674 -1914
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1673 -1913
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +54 -2948
- package/dist/vuetify.d.ts +12215 -20183
- package/dist/vuetify.esm.js +1495 -1736
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1494 -1735
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1134 -1353
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +9 -9
- package/lib/blueprints/md1.d.ts +9 -9
- package/lib/blueprints/md2.d.ts +9 -9
- package/lib/blueprints/md3.d.ts +9 -9
- package/lib/blueprints/md3.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.mjs +5 -6
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +135 -157
- package/lib/components/VApp/VApp.mjs +9 -12
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.ts +27 -13
- package/lib/components/VAppBar/VAppBar.mjs +9 -5
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +2 -2
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +2 -2
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +169 -350
- package/lib/components/VAutocomplete/VAutocomplete.mjs +100 -104
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +494 -636
- package/lib/components/VAvatar/VAvatar.mjs +19 -22
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/index.d.ts +46 -66
- package/lib/components/VBadge/VBadge.mjs +7 -5
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/index.d.ts +74 -100
- package/lib/components/VBanner/VBanner.mjs +3 -4
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +5 -8
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/index.d.ts +134 -98
- package/lib/components/VBottomNavigation/VBottomNavigation.css +2 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -4
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +2 -1
- package/lib/components/VBottomNavigation/_variables.scss +1 -1
- package/lib/components/VBottomNavigation/index.d.ts +67 -131
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +9 -16
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +5 -8
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -8
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +87 -61
- package/lib/components/VBtn/VBtn.mjs +14 -17
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.ts +118 -179
- package/lib/components/VBtnGroup/VBtnGroup.mjs +5 -2
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +42 -57
- package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +60 -247
- package/lib/components/VCalendar/mixins/mouse.mjs +2 -3
- package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs +5 -6
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs +5 -8
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +7 -8
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +286 -186
- package/lib/components/VCarousel/VCarousel.mjs +2 -2
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +2 -2
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +238 -61
- package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -2
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +277 -254
- package/lib/components/VChip/VChip.mjs +15 -14
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +118 -168
- package/lib/components/VChipGroup/VChipGroup.css +1 -0
- package/lib/components/VChipGroup/VChipGroup.mjs +15 -18
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.sass +1 -0
- package/lib/components/VChipGroup/index.d.ts +49 -68
- package/lib/components/VCode/index.d.ts +21 -9
- package/lib/components/VColorPicker/VColorPicker.mjs +9 -1
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.css +2 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +40 -27
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.sass +2 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +16 -20
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +43 -46
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.ts +1 -1
- package/lib/components/VColorPicker/util/index.mjs +3 -7
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +104 -113
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +496 -638
- package/lib/components/VCounter/VCounter.mjs +2 -2
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +139 -197
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -9
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.d.ts +33 -14
- package/lib/components/VDialog/VDialog.mjs +6 -9
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +430 -1610
- package/lib/components/VDivider/VDivider.mjs +2 -2
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/index.d.ts +35 -15
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -5
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +11 -14
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +19 -22
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -2
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.ts +180 -158
- package/lib/components/VField/VField.mjs +3 -6
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VFieldLabel.mjs +2 -2
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +46 -34
- package/lib/components/VFileInput/VFileInput.mjs +16 -18
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +330 -355
- package/lib/components/VFooter/VFooter.mjs +2 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.ts +46 -66
- package/lib/components/VForm/VForm.mjs +10 -14
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +29 -23
- package/lib/components/VGrid/VCol.mjs +5 -8
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +2 -2
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VGrid.css +0 -125
- package/lib/components/VGrid/VRow.mjs +5 -8
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/index.d.ts +112 -121
- package/lib/components/VHover/VHover.mjs +9 -12
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VHover/index.d.ts +53 -15
- package/lib/components/VIcon/VIcon.mjs +22 -26
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/index.d.ts +68 -56
- package/lib/components/VImg/VImg.mjs +7 -11
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +67 -58
- package/lib/components/VInput/VInput.mjs +5 -6
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +94 -283
- package/lib/components/VItemGroup/VItem.mjs +8 -11
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.mjs +13 -16
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.d.ts +76 -149
- package/lib/components/VKbd/index.d.ts +21 -9
- package/lib/components/VLabel/VLabel.mjs +7 -10
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/index.d.ts +29 -9
- package/lib/components/VLayout/VLayout.mjs +9 -12
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +6 -9
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.ts +60 -43
- package/lib/components/VLazy/VLazy.mjs +12 -15
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +48 -71
- package/lib/components/VList/VList.mjs +4 -8
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs +59 -77
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +33 -39
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +2 -2
- package/lib/components/VList/VListItem.mjs +10 -18
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +0 -2
- package/lib/components/VList/VListItemAction.mjs +2 -2
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +2 -2
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +3 -4
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +418 -686
- package/lib/components/VList/list.mjs +1 -1
- package/lib/components/VList/list.mjs.map +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -8
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/index.d.ts +28 -16
- package/lib/components/VMain/VMain.mjs +12 -15
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.d.ts +23 -17
- package/lib/components/VMenu/VMenu.mjs +10 -10
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +428 -1641
- package/lib/components/VMessages/VMessages.mjs +2 -2
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +144 -204
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +6 -7
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.ts +92 -124
- package/lib/components/VNoSsr/VNoSsr.mjs +1 -4
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.d.ts +20 -4
- package/lib/components/VOtpInput/VOtpInput.mjs +5 -6
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +44 -47
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +150 -468
- package/lib/components/VOverlay/locationStrategies.mjs +3 -6
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +8 -13
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +4 -7
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +4 -5
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +107 -207
- package/lib/components/VParallax/VParallax.mjs +12 -15
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.d.ts +39 -9
- package/lib/components/VProgressCircular/VProgressCircular.mjs +2 -2
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/index.d.ts +41 -58
- package/lib/components/VProgressLinear/VProgressLinear.mjs +2 -2
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +91 -95
- package/lib/components/VRadio/VRadio.mjs +2 -2
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.ts +108 -85
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +164 -147
- package/lib/components/VRangeSlider/VRangeSlider.mjs +21 -31
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +154 -210
- package/lib/components/VRating/VRating.mjs +28 -34
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +77 -311
- package/lib/components/VResponsive/VResponsive.mjs +11 -14
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/index.d.ts +44 -20
- package/lib/components/VSelect/VSelect.mjs +100 -102
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +729 -673
- package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -4
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +31 -19
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +8 -11
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.ts +58 -70
- package/lib/components/VSheet/VSheet.mjs +23 -13
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.d.ts +52 -56
- package/lib/components/VSlideGroup/VSlideGroup.mjs +51 -60
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs +6 -9
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +144 -366
- package/lib/components/VSlider/VSlider.mjs +8 -14
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.css +0 -1
- package/lib/components/VSlider/VSliderThumb.mjs +4 -5
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +4 -5
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +151 -207
- package/lib/components/VSlider/slider.mjs +3 -6
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +358 -1519
- package/lib/components/VSwitch/VSwitch.mjs +3 -4
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +180 -151
- package/lib/components/VSystemBar/VSystemBar.css +5 -1
- package/lib/components/VSystemBar/VSystemBar.mjs +8 -4
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.sass +5 -1
- package/lib/components/VSystemBar/_variables.scss +4 -1
- package/lib/components/VSystemBar/index.d.ts +43 -51
- package/lib/components/VTable/VTable.mjs +19 -22
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/index.d.ts +54 -30
- package/lib/components/VTabs/VTab.mjs +3 -4
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +2 -2
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +122 -150
- package/lib/components/VTextField/VTextField.mjs +16 -19
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +331 -1489
- package/lib/components/VTextarea/VTextarea.mjs +17 -19
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +320 -334
- package/lib/components/VThemeProvider/VThemeProvider.mjs +4 -5
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/index.d.ts +27 -13
- package/lib/components/VTimeline/VTimeline.mjs +2 -2
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +20 -23
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +33 -34
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.ts +123 -135
- package/lib/components/VToolbar/VToolbar.css +1 -0
- package/lib/components/VToolbar/VToolbar.mjs +7 -9
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +1 -0
- package/lib/components/VToolbar/VToolbarItems.mjs +5 -8
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs +1 -2
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +146 -351
- package/lib/components/VTooltip/VTooltip.mjs +1 -2
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +361 -1619
- package/lib/components/VValidation/VValidation.mjs +3 -6
- package/lib/components/VValidation/VValidation.mjs.map +1 -1
- package/lib/components/VValidation/index.d.ts +48 -46
- package/lib/components/VWindow/VWindow.mjs +19 -22
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +10 -14
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.ts +152 -284
- package/lib/components/index.d.ts +13684 -21652
- package/lib/components/transitions/createTransition.mjs +4 -4
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs +8 -8
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/index.d.ts +477 -342
- package/lib/composables/defaults.mjs +6 -4
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/delay.mjs +1 -1
- package/lib/composables/delay.mjs.map +1 -1
- package/lib/composables/filter.mjs +11 -12
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/group.mjs +2 -2
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/icons.mjs +4 -6
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs +1 -1
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/layout.mjs +2 -5
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/loader.mjs +2 -3
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/locale.mjs +2 -2
- package/lib/composables/locale.mjs.map +1 -1
- package/lib/composables/mutationObserver.mjs +8 -8
- package/lib/composables/mutationObserver.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +2 -2
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +8 -2
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs +8 -9
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs +1 -1
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/composables/router.mjs +12 -21
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/scroll.mjs +2 -4
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/selectLink.mjs +1 -4
- package/lib/composables/selectLink.mjs.map +1 -1
- package/lib/composables/stack.mjs +6 -8
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/teleport.mjs +1 -1
- package/lib/composables/teleport.mjs.map +1 -1
- package/lib/composables/theme.mjs +23 -16
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +3 -6
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/composables/touch.mjs +1 -2
- package/lib/composables/touch.mjs.map +1 -1
- package/lib/composables/validation.mjs +7 -7
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/directives/click-outside/index.mjs +2 -3
- package/lib/directives/click-outside/index.mjs.map +1 -1
- package/lib/directives/index.d.ts +1 -1
- package/lib/directives/intersect/index.mjs +2 -4
- package/lib/directives/intersect/index.mjs.map +1 -1
- package/lib/directives/mutate/index.mjs +7 -8
- package/lib/directives/mutate/index.mjs.map +1 -1
- package/lib/directives/resize/index.mjs +3 -5
- package/lib/directives/resize/index.mjs.map +1 -1
- package/lib/directives/ripple/index.mjs +8 -13
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/directives/scroll/index.mjs +1 -2
- package/lib/directives/scroll/index.mjs.map +1 -1
- package/lib/directives/touch/index.mjs +9 -14
- package/lib/directives/touch/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +2 -3
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa-svg.d.ts +2 -2
- package/lib/iconsets/fa.d.ts +2 -2
- package/lib/iconsets/fa4.d.ts +2 -2
- package/lib/iconsets/md.d.ts +2 -2
- package/lib/iconsets/mdi-svg.d.ts +2 -2
- package/lib/iconsets/mdi.d.ts +2 -2
- package/lib/index.d.ts +18 -18
- package/lib/labs/VDataTable/VDataTable.mjs +11 -14
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableColumn.mjs +1 -2
- package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.css +9 -0
- package/lib/labs/VDataTable/VDataTableFooter.mjs +80 -45
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.sass +7 -0
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +6 -8
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +3 -4
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +45 -49
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +17 -20
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +2 -2
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/headers.mjs +3 -4
- package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +1 -6
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +583 -575
- package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +14 -18
- package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs +7 -13
- package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/labs/VVirtualScroll/index.d.ts +18 -18
- package/lib/labs/components.d.ts +601 -593
- package/lib/locale/adapters/vue-i18n.d.ts +1 -1
- package/lib/locale/adapters/vuetify.mjs +3 -3
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/lib/styles/main.css +40 -2816
- package/lib/util/colorUtils.mjs +4 -5
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs +1 -1
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +5 -8
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +6 -8
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/getCurrentInstance.mjs +1 -1
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/helpers.mjs +2 -3
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +19 -20
|
@@ -1,134 +1,102 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
|
-
import { PropType } from 'vue';
|
|
3
2
|
|
|
3
|
+
type VNavigationDrawerImageSlot = {
|
|
4
|
+
image: string;
|
|
5
|
+
};
|
|
4
6
|
declare const VNavigationDrawer: vue.DefineComponent<{
|
|
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
|
-
scrim: {
|
|
49
|
-
type: (StringConstructor | BooleanConstructor)[];
|
|
50
|
-
default: boolean;
|
|
51
|
-
};
|
|
52
|
-
image: StringConstructor;
|
|
53
|
-
temporary: BooleanConstructor;
|
|
54
|
-
touchless: BooleanConstructor;
|
|
55
|
-
width: {
|
|
56
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
57
|
-
default: number;
|
|
58
|
-
};
|
|
59
|
-
location: {
|
|
60
|
-
type: PropType<"end" | "start" | "left" | "top" | "bottom" | "right">;
|
|
61
|
-
default: string;
|
|
62
|
-
validator: (value: any) => boolean;
|
|
63
|
-
};
|
|
64
|
-
sticky: BooleanConstructor;
|
|
7
|
+
absolute: boolean;
|
|
8
|
+
location: "end" | "start" | "left" | "top" | "bottom" | "right";
|
|
9
|
+
width: string | number;
|
|
10
|
+
order: string | number;
|
|
11
|
+
temporary: boolean;
|
|
12
|
+
tag: string;
|
|
13
|
+
sticky: boolean;
|
|
14
|
+
floating: boolean;
|
|
15
|
+
modelValue: boolean | null;
|
|
16
|
+
scrim: string | boolean;
|
|
17
|
+
touchless: boolean;
|
|
18
|
+
disableResizeWatcher: boolean;
|
|
19
|
+
disableRouteWatcher: boolean;
|
|
20
|
+
expandOnHover: boolean;
|
|
21
|
+
permanent: boolean;
|
|
22
|
+
rail: boolean | null;
|
|
23
|
+
railWidth: string | number;
|
|
24
|
+
} & {
|
|
25
|
+
name?: string | undefined;
|
|
26
|
+
border?: string | number | boolean | undefined;
|
|
27
|
+
color?: string | undefined;
|
|
28
|
+
image?: string | undefined;
|
|
29
|
+
elevation?: string | number | undefined;
|
|
30
|
+
theme?: string | undefined;
|
|
31
|
+
rounded?: string | number | boolean | undefined;
|
|
32
|
+
} & {
|
|
33
|
+
$children?: {} | vue.VNodeChild | {
|
|
34
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
35
|
+
prepend?: (() => vue.VNodeChild) | undefined;
|
|
36
|
+
append?: (() => vue.VNodeChild) | undefined;
|
|
37
|
+
image?: ((args_0: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
|
|
38
|
+
};
|
|
39
|
+
'v-slots'?: {
|
|
40
|
+
default?: false | (() => vue.VNodeChild) | undefined;
|
|
41
|
+
prepend?: false | (() => vue.VNodeChild) | undefined;
|
|
42
|
+
append?: false | (() => vue.VNodeChild) | undefined;
|
|
43
|
+
image?: false | ((args_0: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
|
|
44
|
+
} | undefined;
|
|
45
|
+
} & {
|
|
46
|
+
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
47
|
+
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
|
|
48
|
+
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
|
|
49
|
+
"v-slot:image"?: false | ((args_0: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
|
|
65
50
|
}, {
|
|
66
51
|
isStuck: vue.Ref<boolean | "top" | "bottom">;
|
|
67
52
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
68
53
|
'update:modelValue': (val: boolean) => true;
|
|
69
54
|
'update:rail': (val: boolean) => true;
|
|
70
|
-
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
type: (StringConstructor | BooleanConstructor)[];
|
|
116
|
-
default: boolean;
|
|
117
|
-
};
|
|
118
|
-
image: StringConstructor;
|
|
119
|
-
temporary: BooleanConstructor;
|
|
120
|
-
touchless: BooleanConstructor;
|
|
121
|
-
width: {
|
|
122
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
123
|
-
default: number;
|
|
124
|
-
};
|
|
125
|
-
location: {
|
|
126
|
-
type: PropType<"end" | "start" | "left" | "top" | "bottom" | "right">;
|
|
127
|
-
default: string;
|
|
128
|
-
validator: (value: any) => boolean;
|
|
129
|
-
};
|
|
130
|
-
sticky: BooleanConstructor;
|
|
131
|
-
}>> & {
|
|
55
|
+
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
|
|
56
|
+
absolute: boolean;
|
|
57
|
+
location: "end" | "start" | "left" | "top" | "bottom" | "right";
|
|
58
|
+
width: string | number;
|
|
59
|
+
order: string | number;
|
|
60
|
+
temporary: boolean;
|
|
61
|
+
tag: string;
|
|
62
|
+
sticky: boolean;
|
|
63
|
+
floating: boolean;
|
|
64
|
+
modelValue: boolean | null;
|
|
65
|
+
scrim: string | boolean;
|
|
66
|
+
touchless: boolean;
|
|
67
|
+
disableResizeWatcher: boolean;
|
|
68
|
+
disableRouteWatcher: boolean;
|
|
69
|
+
expandOnHover: boolean;
|
|
70
|
+
permanent: boolean;
|
|
71
|
+
rail: boolean | null;
|
|
72
|
+
railWidth: string | number;
|
|
73
|
+
} & {
|
|
74
|
+
name?: string | undefined;
|
|
75
|
+
border?: string | number | boolean | undefined;
|
|
76
|
+
color?: string | undefined;
|
|
77
|
+
image?: string | undefined;
|
|
78
|
+
elevation?: string | number | undefined;
|
|
79
|
+
theme?: string | undefined;
|
|
80
|
+
rounded?: string | number | boolean | undefined;
|
|
81
|
+
} & {
|
|
82
|
+
$children?: {} | vue.VNodeChild | {
|
|
83
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
84
|
+
prepend?: (() => vue.VNodeChild) | undefined;
|
|
85
|
+
append?: (() => vue.VNodeChild) | undefined;
|
|
86
|
+
image?: ((args_0: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
|
|
87
|
+
};
|
|
88
|
+
'v-slots'?: {
|
|
89
|
+
default?: false | (() => vue.VNodeChild) | undefined;
|
|
90
|
+
prepend?: false | (() => vue.VNodeChild) | undefined;
|
|
91
|
+
append?: false | (() => vue.VNodeChild) | undefined;
|
|
92
|
+
image?: false | ((args_0: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
|
|
93
|
+
} | undefined;
|
|
94
|
+
} & {
|
|
95
|
+
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
96
|
+
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
|
|
97
|
+
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
|
|
98
|
+
"v-slot:image"?: false | ((args_0: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
|
|
99
|
+
} & {
|
|
132
100
|
"onUpdate:modelValue"?: ((val: boolean) => any) | undefined;
|
|
133
101
|
"onUpdate:rail"?: ((val: boolean) => any) | undefined;
|
|
134
102
|
}, {
|
|
@@ -151,6 +119,6 @@ declare const VNavigationDrawer: vue.DefineComponent<{
|
|
|
151
119
|
rail: boolean | null;
|
|
152
120
|
railWidth: string | number;
|
|
153
121
|
}>;
|
|
154
|
-
|
|
122
|
+
type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>;
|
|
155
123
|
|
|
156
124
|
export { VNavigationDrawer };
|
|
@@ -8,10 +8,7 @@ export const VNoSsr = defineComponent({
|
|
|
8
8
|
slots
|
|
9
9
|
} = _ref;
|
|
10
10
|
const show = useHydration();
|
|
11
|
-
return () =>
|
|
12
|
-
var _slots$default;
|
|
13
|
-
return show.value && ((_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots));
|
|
14
|
-
};
|
|
11
|
+
return () => show.value && slots.default?.();
|
|
15
12
|
}
|
|
16
13
|
});
|
|
17
14
|
//# sourceMappingURL=VNoSsr.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VNoSsr.mjs","names":["useHydration","defineComponent","VNoSsr","name","setup","_","slots","show","value","default"],"sources":["../../../src/components/VNoSsr/VNoSsr.tsx"],"sourcesContent":["// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = useHydration()\n\n return () => show.value && slots.default?.()\n },\n})\n\nexport type VNoSsr = InstanceType<typeof VNoSsr>\n"],"mappings":"AAAA;AAAA,SACSA,YAAY,2CAErB;AAAA,SACSC,eAAe;
|
|
1
|
+
{"version":3,"file":"VNoSsr.mjs","names":["useHydration","defineComponent","VNoSsr","name","setup","_","slots","show","value","default"],"sources":["../../../src/components/VNoSsr/VNoSsr.tsx"],"sourcesContent":["// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport type { GenericSlot } from '@/util'\n\nexport const VNoSsr = defineComponent<GenericSlot>({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = useHydration()\n\n return () => show.value && slots.default?.()\n },\n})\n\nexport type VNoSsr = InstanceType<typeof VNoSsr>\n"],"mappings":"AAAA;AAAA,SACSA,YAAY,2CAErB;AAAA,SACSC,eAAe;AAGxB,OAAO,MAAMC,MAAM,GAAGD,eAAe,CAAc;EACjDE,IAAI,EAAE,QAAQ;EAEdC,KAAK,CAAEC,CAAC,QAAa;IAAA,IAAX;MAAEC;IAAM,CAAC;IACjB,MAAMC,IAAI,GAAGP,YAAY,EAAE;IAE3B,OAAO,MAAMO,IAAI,CAACC,KAAK,IAAIF,KAAK,CAACG,OAAO,IAAI;EAC9C;AACF,CAAC,CAAC"}
|
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
2
|
|
|
3
|
-
declare const VNoSsr: vue.DefineComponent<{
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
declare const VNoSsr: vue.DefineComponent<{
|
|
4
|
+
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
5
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
6
|
+
};
|
|
7
|
+
'v-slots'?: {
|
|
8
|
+
default?: false | (() => vue.VNodeChild) | undefined;
|
|
9
|
+
} | undefined;
|
|
10
|
+
} & {
|
|
11
|
+
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
12
|
+
}, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<{
|
|
13
|
+
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
14
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
15
|
+
};
|
|
16
|
+
'v-slots'?: {
|
|
17
|
+
default?: false | (() => vue.VNodeChild) | undefined;
|
|
18
|
+
} | undefined;
|
|
19
|
+
} & {
|
|
20
|
+
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
21
|
+
}>, {}>;
|
|
22
|
+
type VNoSsr = InstanceType<typeof VNoSsr>;
|
|
7
23
|
|
|
8
24
|
export { VNoSsr };
|
|
@@ -52,16 +52,15 @@ export default baseMixins.extend().extend({
|
|
|
52
52
|
isFocused: 'updateValue',
|
|
53
53
|
value(val) {
|
|
54
54
|
this.lazyValue = val;
|
|
55
|
-
this.otp =
|
|
55
|
+
this.otp = val?.split('') || [];
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
58
|
created() {
|
|
59
|
-
var _this$internalValue;
|
|
60
59
|
/* istanbul ignore next */
|
|
61
60
|
if (this.$attrs.hasOwnProperty('browser-autocomplete')) {
|
|
62
61
|
breaking('browser-autocomplete', 'autocomplete', this);
|
|
63
62
|
}
|
|
64
|
-
this.otp =
|
|
63
|
+
this.otp = this.internalValue?.split('') || [];
|
|
65
64
|
},
|
|
66
65
|
mounted() {
|
|
67
66
|
requestAnimationFrame(() => this.isBooted = true);
|
|
@@ -165,8 +164,8 @@ export default baseMixins.extend().extend({
|
|
|
165
164
|
this.onFocus(undefined, otpIdx);
|
|
166
165
|
},
|
|
167
166
|
onFocus(e, otpIdx) {
|
|
168
|
-
e
|
|
169
|
-
e
|
|
167
|
+
e?.preventDefault();
|
|
168
|
+
e?.stopPropagation();
|
|
170
169
|
const elements = this.$refs.input;
|
|
171
170
|
const ref = this.$refs.input && elements[otpIdx || 0];
|
|
172
171
|
if (!ref) return;
|
|
@@ -184,7 +183,7 @@ export default baseMixins.extend().extend({
|
|
|
184
183
|
const maxCursor = +this.length - 1;
|
|
185
184
|
const target = e.target;
|
|
186
185
|
const value = target.value;
|
|
187
|
-
const inputDataArray =
|
|
186
|
+
const inputDataArray = value?.split('') || [];
|
|
188
187
|
const newOtp = [...this.otp];
|
|
189
188
|
for (let i = 0; i < inputDataArray.length; i++) {
|
|
190
189
|
const appIdx = index + i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VOtpInput.mjs","names":["VInput","VTextField","ripple","convertToUnit","keyCodes","breaking","mixins","baseMixins","extend","name","directives","inheritAttrs","props","length","type","Number","String","default","plain","Boolean","data","initialValue","isBooted","otp","computed","outlined","classes","options","call","watch","isFocused","value","val","lazyValue","split","created","$attrs","hasOwnProperty","internalValue","mounted","requestAnimationFrame","methods","focus","e","otpIdx","onFocus","genInputSlot","$createElement","setBackgroundColor","backgroundColor","staticClass","style","height","on","click","onClick","mousedown","onMouseDown","mouseup","onMouseUp","genDefaultSlot","genControl","genFieldset","genTextFieldSlot","genContent","Array","from","_","i","setTextColor","validationState","class","attrs","genLegend","span","domProps","innerHTML","width","genInput","listeners","Object","assign","listeners$","change","min","attrs$","autocomplete","disabled","isDisabled","readonly","isReadonly","id","computedId","blur","onBlur","input","onInput","keydown","onKeyDown","keyup","onKeyUp","ref","refInFor","$nextTick","$emit","$refs","undefined","preventDefault","stopPropagation","elements","document","activeElement","select","index","maxCursor","target","inputDataArray","newOtp","appIdx","toString","splice","join","onCompleted","clearFocus","changeFocus","keyCode","enter","hasMouseDown","updateValue","hasColor","event","eventKey","key","includes","rsp","render","h","themeClasses"],"sources":["../../../src/components/VOtpInput/VOtpInput.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport '../VTextField/VTextField.sass'\nimport './VOtpInput.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n input: HTMLInputElement[]\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-otp-input',\n\n directives: {\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n length: {\n type: [Number, String],\n default: 6,\n },\n type: {\n type: String,\n default: 'text',\n },\n plain: Boolean,\n },\n\n data: () => ({\n initialValue: null,\n isBooted: false,\n otp: [] as string[],\n }),\n\n computed: {\n outlined (): Boolean {\n return !this.plain\n },\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n ...VTextField.options.computed.classes.call(this),\n 'v-otp-input--plain': this.plain,\n }\n },\n },\n\n watch: {\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n this.otp = val?.split('') || []\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n this.otp = this.internalValue?.split('') || []\n },\n\n mounted () {\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus (e: Event, otpIdx: number) {\n this.onFocus(e, otpIdx || 0)\n },\n genInputSlot (otpIdx: number) {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: () => this.onClick(otpIdx),\n mousedown: (e: Event) => this.onMouseDown(e, otpIdx),\n mouseup: (e: Event) => this.onMouseUp(e, otpIdx),\n },\n }), [this.genDefaultSlot(otpIdx)])\n },\n genControl (otpIdx: number) {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(otpIdx),\n ])\n },\n genDefaultSlot (otpIdx: number) {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(otpIdx),\n ]\n },\n genContent () {\n return Array.from({ length: +this.length }, (_, i) => {\n return this.$createElement('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), [this.genControl(i)])\n })\n },\n genFieldset () {\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLegend () {\n const span = this.$createElement('span', {\n domProps: { innerHTML: '​' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: '0px',\n },\n }, [span])\n },\n genInput (otpIdx: number) {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.otp[otpIdx],\n min: this.type === 'number' ? 0 : null,\n },\n attrs: {\n ...this.attrs$,\n autocomplete: 'one-time-code',\n disabled: this.isDisabled,\n readonly: this.isReadonly,\n type: this.type,\n id: `${this.computedId}--${otpIdx}`,\n class: `otp-field-box--${otpIdx}`,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: (e: Event) => this.onInput(e, otpIdx),\n focus: (e: Event) => this.onFocus(e, otpIdx),\n keydown: this.onKeyDown,\n keyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),\n }),\n ref: 'input',\n refInFor: true,\n })\n },\n genTextFieldSlot (otpIdx: number): VNode {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genInput(otpIdx),\n ])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick (otpIdx: number) {\n if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return\n\n this.onFocus(undefined, otpIdx)\n },\n onFocus (e?: Event, otpIdx?: number) {\n e?.preventDefault()\n e?.stopPropagation()\n const elements = this.$refs.input as HTMLInputElement[]\n const ref = this.$refs.input && elements[otpIdx || 0]\n if (!ref) return\n\n if (document.activeElement !== ref) {\n ref.focus()\n return ref.select()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n ref.select()\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event, index: number) {\n const maxCursor = +this.length - 1\n\n const target = e.target as HTMLInputElement\n const value = target.value\n const inputDataArray = value?.split('') || []\n\n const newOtp: string[] = [...this.otp]\n for (let i = 0; i < inputDataArray.length; i++) {\n const appIdx = index + i\n if (appIdx > maxCursor) break\n newOtp[appIdx] = inputDataArray[i].toString()\n }\n if (!inputDataArray.length) {\n newOtp.splice(index, 1)\n }\n\n this.otp = newOtp\n this.internalValue = this.otp.join('')\n\n if (index + inputDataArray.length >= +this.length) {\n this.onCompleted()\n this.clearFocus(index)\n } else if (inputDataArray.length) {\n this.changeFocus(index + inputDataArray.length)\n }\n },\n clearFocus (index: number) {\n const input = this.$refs.input[index] as HTMLInputElement\n input.blur()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) {\n this.$emit('change', this.internalValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event, otpIdx: number) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input[otpIdx]) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event, otpIdx: number) {\n if (this.hasMouseDown) this.focus(e, otpIdx)\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n changeFocus (index: number) {\n this.onFocus(undefined, index || 0)\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onKeyUp (event: KeyboardEvent, index: number) {\n event.preventDefault()\n const eventKey = event.key\n if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {\n return\n }\n if (['Delete'].includes(eventKey)) {\n return\n }\n if (eventKey === 'ArrowLeft' || (eventKey === 'Backspace' && !this.otp[index])) {\n return index > 0 && this.changeFocus(index - 1)\n }\n if (eventKey === 'ArrowRight') {\n return index + 1 < +this.length && this.changeFocus(index + 1)\n }\n },\n onCompleted () {\n const rsp = this.otp.join('')\n if (rsp.length === +this.length) {\n this.$emit('finish', rsp)\n }\n },\n },\n render (h): VNode {\n return h('div', {\n staticClass: 'v-otp-input',\n class: this.themeClasses,\n }, this.genContent())\n },\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VOtpInput.mjs","names":["VInput","VTextField","ripple","convertToUnit","keyCodes","breaking","mixins","baseMixins","extend","name","directives","inheritAttrs","props","length","type","Number","String","default","plain","Boolean","data","initialValue","isBooted","otp","computed","outlined","classes","options","call","watch","isFocused","value","val","lazyValue","split","created","$attrs","hasOwnProperty","internalValue","mounted","requestAnimationFrame","methods","focus","e","otpIdx","onFocus","genInputSlot","$createElement","setBackgroundColor","backgroundColor","staticClass","style","height","on","click","onClick","mousedown","onMouseDown","mouseup","onMouseUp","genDefaultSlot","genControl","genFieldset","genTextFieldSlot","genContent","Array","from","_","i","setTextColor","validationState","class","attrs","genLegend","span","domProps","innerHTML","width","genInput","listeners","Object","assign","listeners$","change","min","attrs$","autocomplete","disabled","isDisabled","readonly","isReadonly","id","computedId","blur","onBlur","input","onInput","keydown","onKeyDown","keyup","onKeyUp","ref","refInFor","$nextTick","$emit","$refs","undefined","preventDefault","stopPropagation","elements","document","activeElement","select","index","maxCursor","target","inputDataArray","newOtp","appIdx","toString","splice","join","onCompleted","clearFocus","changeFocus","keyCode","enter","hasMouseDown","updateValue","hasColor","event","eventKey","key","includes","rsp","render","h","themeClasses"],"sources":["../../../src/components/VOtpInput/VOtpInput.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport '../VTextField/VTextField.sass'\nimport './VOtpInput.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n input: HTMLInputElement[]\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-otp-input',\n\n directives: {\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n length: {\n type: [Number, String],\n default: 6,\n },\n type: {\n type: String,\n default: 'text',\n },\n plain: Boolean,\n },\n\n data: () => ({\n initialValue: null,\n isBooted: false,\n otp: [] as string[],\n }),\n\n computed: {\n outlined (): Boolean {\n return !this.plain\n },\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n ...VTextField.options.computed.classes.call(this),\n 'v-otp-input--plain': this.plain,\n }\n },\n },\n\n watch: {\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n this.otp = val?.split('') || []\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n this.otp = this.internalValue?.split('') || []\n },\n\n mounted () {\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus (e: Event, otpIdx: number) {\n this.onFocus(e, otpIdx || 0)\n },\n genInputSlot (otpIdx: number) {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: () => this.onClick(otpIdx),\n mousedown: (e: Event) => this.onMouseDown(e, otpIdx),\n mouseup: (e: Event) => this.onMouseUp(e, otpIdx),\n },\n }), [this.genDefaultSlot(otpIdx)])\n },\n genControl (otpIdx: number) {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(otpIdx),\n ])\n },\n genDefaultSlot (otpIdx: number) {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(otpIdx),\n ]\n },\n genContent () {\n return Array.from({ length: +this.length }, (_, i) => {\n return this.$createElement('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), [this.genControl(i)])\n })\n },\n genFieldset () {\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLegend () {\n const span = this.$createElement('span', {\n domProps: { innerHTML: '​' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: '0px',\n },\n }, [span])\n },\n genInput (otpIdx: number) {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.otp[otpIdx],\n min: this.type === 'number' ? 0 : null,\n },\n attrs: {\n ...this.attrs$,\n autocomplete: 'one-time-code',\n disabled: this.isDisabled,\n readonly: this.isReadonly,\n type: this.type,\n id: `${this.computedId}--${otpIdx}`,\n class: `otp-field-box--${otpIdx}`,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: (e: Event) => this.onInput(e, otpIdx),\n focus: (e: Event) => this.onFocus(e, otpIdx),\n keydown: this.onKeyDown,\n keyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),\n }),\n ref: 'input',\n refInFor: true,\n })\n },\n genTextFieldSlot (otpIdx: number): VNode {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genInput(otpIdx),\n ])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick (otpIdx: number) {\n if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return\n\n this.onFocus(undefined, otpIdx)\n },\n onFocus (e?: Event, otpIdx?: number) {\n e?.preventDefault()\n e?.stopPropagation()\n const elements = this.$refs.input as HTMLInputElement[]\n const ref = this.$refs.input && elements[otpIdx || 0]\n if (!ref) return\n\n if (document.activeElement !== ref) {\n ref.focus()\n return ref.select()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n ref.select()\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event, index: number) {\n const maxCursor = +this.length - 1\n\n const target = e.target as HTMLInputElement\n const value = target.value\n const inputDataArray = value?.split('') || []\n\n const newOtp: string[] = [...this.otp]\n for (let i = 0; i < inputDataArray.length; i++) {\n const appIdx = index + i\n if (appIdx > maxCursor) break\n newOtp[appIdx] = inputDataArray[i].toString()\n }\n if (!inputDataArray.length) {\n newOtp.splice(index, 1)\n }\n\n this.otp = newOtp\n this.internalValue = this.otp.join('')\n\n if (index + inputDataArray.length >= +this.length) {\n this.onCompleted()\n this.clearFocus(index)\n } else if (inputDataArray.length) {\n this.changeFocus(index + inputDataArray.length)\n }\n },\n clearFocus (index: number) {\n const input = this.$refs.input[index] as HTMLInputElement\n input.blur()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) {\n this.$emit('change', this.internalValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event, otpIdx: number) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input[otpIdx]) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event, otpIdx: number) {\n if (this.hasMouseDown) this.focus(e, otpIdx)\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n changeFocus (index: number) {\n this.onFocus(undefined, index || 0)\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onKeyUp (event: KeyboardEvent, index: number) {\n event.preventDefault()\n const eventKey = event.key\n if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {\n return\n }\n if (['Delete'].includes(eventKey)) {\n return\n }\n if (eventKey === 'ArrowLeft' || (eventKey === 'Backspace' && !this.otp[index])) {\n return index > 0 && this.changeFocus(index - 1)\n }\n if (eventKey === 'ArrowRight') {\n return index + 1 < +this.length && this.changeFocus(index + 1)\n }\n },\n onCompleted () {\n const rsp = this.otp.join('')\n if (rsp.length === +this.length) {\n this.$emit('finish', rsp)\n }\n },\n },\n render (h): VNode {\n return h('div', {\n staticClass: 'v-otp-input',\n class: this.themeClasses,\n }, this.genContent())\n },\n})\n"],"mappings":"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"}
|
|
@@ -217,54 +217,51 @@ export const VOverlay = genericComponent()({
|
|
|
217
217
|
easing: standardEasing
|
|
218
218
|
});
|
|
219
219
|
}
|
|
220
|
-
useRender(() => {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
220
|
+
useRender(() => _createVNode(_Fragment, null, [slots.activator?.({
|
|
221
|
+
isActive: isActive.value,
|
|
222
|
+
props: mergeProps({
|
|
223
|
+
ref: activatorRef
|
|
224
|
+
}, toHandlers(activatorEvents.value), props.activatorProps)
|
|
225
|
+
}), isMounted.value && _createVNode(Teleport, {
|
|
226
|
+
"disabled": !teleportTarget.value,
|
|
227
|
+
"to": teleportTarget.value
|
|
228
|
+
}, {
|
|
229
|
+
default: () => [hasContent.value && _createVNode("div", _mergeProps({
|
|
230
|
+
"class": ['v-overlay', {
|
|
231
|
+
'v-overlay--absolute': props.absolute || props.contained,
|
|
232
|
+
'v-overlay--active': isActive.value,
|
|
233
|
+
'v-overlay--contained': props.contained
|
|
234
|
+
}, themeClasses.value, rtlClasses.value],
|
|
235
|
+
"style": [stackStyles.value, {
|
|
236
|
+
top: convertToUnit(top.value)
|
|
237
|
+
}],
|
|
238
|
+
"ref": root
|
|
239
|
+
}, scopeId, attrs), [_createVNode(Scrim, _mergeProps({
|
|
240
|
+
"color": scrimColor,
|
|
241
|
+
"modelValue": isActive.value && !!props.scrim
|
|
242
|
+
}, toHandlers(scrimEvents.value)), null), _createVNode(MaybeTransition, {
|
|
243
|
+
"appear": true,
|
|
244
|
+
"persisted": true,
|
|
245
|
+
"transition": props.transition,
|
|
246
|
+
"target": activatorEl.value,
|
|
247
|
+
"onAfterLeave": () => {
|
|
248
|
+
onAfterLeave();
|
|
249
|
+
emit('afterLeave');
|
|
250
|
+
}
|
|
230
251
|
}, {
|
|
231
|
-
default: () => [
|
|
232
|
-
"
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}, toHandlers(scrimEvents.value)), null), _createVNode(MaybeTransition, {
|
|
245
|
-
"appear": true,
|
|
246
|
-
"persisted": true,
|
|
247
|
-
"transition": props.transition,
|
|
248
|
-
"target": activatorEl.value,
|
|
249
|
-
"onAfterLeave": () => {
|
|
250
|
-
onAfterLeave();
|
|
251
|
-
emit('afterLeave');
|
|
252
|
-
}
|
|
253
|
-
}, {
|
|
254
|
-
default: () => [_withDirectives(_createVNode("div", _mergeProps({
|
|
255
|
-
"ref": contentEl,
|
|
256
|
-
"class": ['v-overlay__content', props.contentClass],
|
|
257
|
-
"style": [dimensionStyles.value, contentStyles.value]
|
|
258
|
-
}, toHandlers(contentEvents.value), props.contentProps), [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, {
|
|
259
|
-
isActive
|
|
260
|
-
})]), [[_vShow, isActive.value], [_resolveDirective("click-outside"), {
|
|
261
|
-
handler: onClickOutside,
|
|
262
|
-
closeConditional,
|
|
263
|
-
include: () => [activatorEl.value]
|
|
264
|
-
}]])]
|
|
265
|
-
})])]
|
|
266
|
-
})]);
|
|
267
|
-
});
|
|
252
|
+
default: () => [_withDirectives(_createVNode("div", _mergeProps({
|
|
253
|
+
"ref": contentEl,
|
|
254
|
+
"class": ['v-overlay__content', props.contentClass],
|
|
255
|
+
"style": [dimensionStyles.value, contentStyles.value]
|
|
256
|
+
}, toHandlers(contentEvents.value), props.contentProps), [slots.default?.({
|
|
257
|
+
isActive
|
|
258
|
+
})]), [[_vShow, isActive.value], [_resolveDirective("click-outside"), {
|
|
259
|
+
handler: onClickOutside,
|
|
260
|
+
closeConditional,
|
|
261
|
+
include: () => [activatorEl.value]
|
|
262
|
+
}]])]
|
|
263
|
+
})])]
|
|
264
|
+
})]));
|
|
268
265
|
return {
|
|
269
266
|
activatorEl,
|
|
270
267
|
animateClick,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VOverlay.mjs","names":["makeActivatorProps","useActivator","makeDimensionProps","useDimension","makeLazyProps","useLazy","makeLocationStrategyProps","useLocationStrategies","makeScrollStrategyProps","useScrollStrategies","makeThemeProps","provideTheme","makeTransitionProps","MaybeTransition","useBackButton","useRouter","useBackgroundColor","useProxiedModel","useHydration","useRtl","useScopeId","useStack","useTeleport","useToggleScope","ClickOutside","animate","convertToUnit","genericComponent","getScrollParent","IN_BROWSER","pick","propsFactory","standardEasing","useRender","computed","mergeProps","ref","Teleport","toHandlers","toRef","Transition","watch","Scrim","props","modelValue","color","rest","backgroundColorClasses","value","backgroundColorStyles","makeVOverlayProps","absolute","Boolean","attach","String","Object","closeOnBack","type","default","contained","contentClass","contentProps","disabled","noClickAnimation","persistent","scrim","zIndex","Number","VOverlay","name","directives","inheritAttrs","_disableGlobalStack","emits","e","afterLeave","setup","slots","attrs","emit","model","isActive","get","set","v","teleportTarget","themeClasses","rtlClasses","isRtl","hasContent","onAfterLeave","scrimColor","globalTop","localTop","stackStyles","activatorEl","activatorRef","activatorEvents","contentEvents","scrimEvents","isTop","dimensionStyles","isMounted","scopeId","root","contentEl","contentStyles","updateLocation","onClickOutside","animateClick","closeConditional","val","window","addEventListener","onKeydown","removeEventListener","immediate","key","router","next","top","scrollParent","document","scrollingElement","scrollTop","transformOrigin","transform","duration","easing","activator","activatorProps","transition","handler","include","filterVOverlayProps","keys"],"sources":["../../../src/components/VOverlay/VOverlay.tsx"],"sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useHydration } from '@/composables/hydration'\nimport { useRtl } from '@/composables/locale'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toHandlers,\n toRef,\n Transition,\n watch,\n} from 'vue'\n\n// Types\nimport type { BackgroundColorData } from '@/composables/color'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { ExtractPropTypes, PropType, Ref } from 'vue'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = MakeSlots<{\n default: [{ isActive: Ref<boolean> }]\n activator: [{ isActive: boolean, props: Record<string, any> }]\n}>\n\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n closeOnBack: {\n type: Boolean,\n default: true,\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'v-overlay')\n\nexport const VOverlay = genericComponent<new () => {\n $props: SlotsToProps<OverlaySlots>\n}>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n _disableGlobalStack: Boolean,\n\n ...makeVOverlayProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const model = useProxiedModel(props, 'modelValue')\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v\n },\n })\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses, isRtl } = useRtl()\n const { hasContent, onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { globalTop, localTop, stackStyles } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack)\n const { activatorEl, activatorRef, activatorEvents, contentEvents, scrimEvents } = useActivator(props, { isActive, isTop: localTop })\n const { dimensionStyles } = useDimension(props)\n const isMounted = useHydration()\n const { scopeId } = useScopeId()\n\n watch(() => props.disabled, v => {\n if (v) isActive.value = false\n })\n\n const root = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\n isActive,\n updateLocation,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional () {\n return isActive.value && globalTop.value\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\n } else animateClick()\n }\n }\n\n const router = useRouter()\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value && animate(contentEl.value, [\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n }, toHandlers(activatorEvents.value), props.activatorProps),\n }) }\n\n { isMounted.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n { hasContent.value && (\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n ]}\n style={[stackStyles.value, { top: convertToUnit(top.value) }]}\n ref={ root }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n { ...toHandlers(scrimEvents.value) }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n onAfterLeave={() => { onAfterLeave(); emit('afterLeave') }}\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n { ...toHandlers(contentEvents.value) }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n )}\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n\nexport function filterVOverlayProps (props: Partial<ExtractPropTypes<ReturnType<typeof makeVOverlayProps>>>) {\n return pick(props, Object.keys(VOverlay.props) as any)\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VOverlay.mjs","names":["makeActivatorProps","useActivator","makeDimensionProps","useDimension","makeLazyProps","useLazy","makeLocationStrategyProps","useLocationStrategies","makeScrollStrategyProps","useScrollStrategies","makeThemeProps","provideTheme","makeTransitionProps","MaybeTransition","useBackButton","useRouter","useBackgroundColor","useProxiedModel","useHydration","useRtl","useScopeId","useStack","useTeleport","useToggleScope","ClickOutside","animate","convertToUnit","genericComponent","getScrollParent","IN_BROWSER","pick","propsFactory","standardEasing","useRender","computed","mergeProps","ref","Teleport","toHandlers","toRef","Transition","watch","Scrim","props","modelValue","color","rest","backgroundColorClasses","value","backgroundColorStyles","makeVOverlayProps","absolute","Boolean","attach","String","Object","closeOnBack","type","default","contained","contentClass","contentProps","disabled","noClickAnimation","persistent","scrim","zIndex","Number","VOverlay","name","directives","inheritAttrs","_disableGlobalStack","emits","e","afterLeave","setup","slots","attrs","emit","model","isActive","get","set","v","teleportTarget","themeClasses","rtlClasses","isRtl","hasContent","onAfterLeave","scrimColor","globalTop","localTop","stackStyles","activatorEl","activatorRef","activatorEvents","contentEvents","scrimEvents","isTop","dimensionStyles","isMounted","scopeId","root","contentEl","contentStyles","updateLocation","onClickOutside","animateClick","closeConditional","val","window","addEventListener","onKeydown","removeEventListener","immediate","key","router","next","top","scrollParent","document","scrollingElement","scrollTop","transformOrigin","transform","duration","easing","activator","activatorProps","transition","handler","include","filterVOverlayProps","keys"],"sources":["../../../src/components/VOverlay/VOverlay.tsx"],"sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useHydration } from '@/composables/hydration'\nimport { useRtl } from '@/composables/locale'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toHandlers,\n toRef,\n Transition,\n watch,\n} from 'vue'\n\n// Types\nimport type { BackgroundColorData } from '@/composables/color'\nimport type { MakeSlots } from '@/util'\nimport type { ExtractPropTypes, PropType, Ref } from 'vue'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = MakeSlots<{\n default: [{ isActive: Ref<boolean> }]\n activator: [{ isActive: boolean, props: Record<string, any> }]\n}>\n\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n closeOnBack: {\n type: Boolean,\n default: true,\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'v-overlay')\n\nexport const VOverlay = genericComponent<OverlaySlots>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n _disableGlobalStack: Boolean,\n\n ...makeVOverlayProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const model = useProxiedModel(props, 'modelValue')\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v\n },\n })\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses, isRtl } = useRtl()\n const { hasContent, onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { globalTop, localTop, stackStyles } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack)\n const { activatorEl, activatorRef, activatorEvents, contentEvents, scrimEvents } = useActivator(props, { isActive, isTop: localTop })\n const { dimensionStyles } = useDimension(props)\n const isMounted = useHydration()\n const { scopeId } = useScopeId()\n\n watch(() => props.disabled, v => {\n if (v) isActive.value = false\n })\n\n const root = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\n isActive,\n updateLocation,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional () {\n return isActive.value && globalTop.value\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\n } else animateClick()\n }\n }\n\n const router = useRouter()\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value && animate(contentEl.value, [\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n }, toHandlers(activatorEvents.value), props.activatorProps),\n }) }\n\n { isMounted.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n { hasContent.value && (\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n ]}\n style={[stackStyles.value, { top: convertToUnit(top.value) }]}\n ref={ root }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n { ...toHandlers(scrimEvents.value) }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n onAfterLeave={() => { onAfterLeave(); emit('afterLeave') }}\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n { ...toHandlers(contentEvents.value) }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n )}\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n\nexport function filterVOverlayProps (props: Partial<ExtractPropTypes<ReturnType<typeof makeVOverlayProps>>>) {\n return pick(props, Object.keys(VOverlay.props) as any)\n}\n"],"mappings":"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"}
|