@vuetify/nightly 4.0.0-dev-20230422.0 → 4.0.0-dev-20230427.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/CHANGELOG.md +11 -2
- package/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +274 -198
- package/dist/json/importMap-labs.json +4 -0
- package/dist/json/importMap.json +60 -60
- package/dist/json/tags.json +25 -1
- package/dist/json/web-types.json +624 -344
- package/dist/vuetify-labs.css +110 -86
- package/dist/vuetify-labs.d.ts +5976 -8072
- package/dist/vuetify-labs.esm.js +1499 -1093
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1498 -1092
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +21 -22
- package/dist/vuetify.d.ts +5999 -7524
- package/dist/vuetify.esm.js +1255 -1066
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1254 -1065
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +744 -739
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +1 -1
- package/lib/blueprints/md1.d.ts +1 -1
- package/lib/blueprints/md2.d.ts +1 -1
- package/lib/blueprints/md3.d.ts +1 -1
- package/lib/components/VAlert/VAlert.mjs +6 -4
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +57 -55
- package/lib/components/VApp/VApp.mjs +4 -2
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.ts +22 -13
- package/lib/components/VAppBar/VAppBar.mjs +3 -3
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -4
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +87 -92
- package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +225 -403
- package/lib/components/VAvatar/VAvatar.mjs +4 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/index.d.ts +23 -14
- package/lib/components/VBadge/VBadge.mjs +6 -5
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/index.d.ts +27 -22
- package/lib/components/VBanner/VBanner.mjs +6 -4
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +5 -2
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/index.d.ts +92 -66
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.ts +22 -13
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -18
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +134 -93
- package/lib/components/VBtn/VBtn.mjs +5 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.ts +33 -36
- package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +22 -13
- package/lib/components/VBtnToggle/VBtnToggle.mjs +4 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +30 -21
- package/lib/components/VCard/VCard.mjs +5 -3
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs +7 -4
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +5 -2
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +250 -141
- package/lib/components/VCarousel/VCarousel.mjs +3 -3
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +6 -3
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +78 -141
- package/lib/components/VCheckbox/VCheckbox.mjs +3 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +69 -103
- package/lib/components/VChip/VChip.mjs +7 -8
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +27 -30
- package/lib/components/VChipGroup/VChipGroup.mjs +4 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.d.ts +22 -13
- package/lib/components/VCode/index.d.ts +30 -17
- package/lib/components/VColorPicker/VColorPicker.mjs +3 -3
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -2
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +7 -5
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.ts +34 -1
- package/lib/components/VCombobox/VCombobox.mjs +2 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +225 -403
- package/lib/components/VCounter/VCounter.mjs +4 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +22 -145
- package/lib/components/VDefaultsProvider/index.d.ts +0 -12
- package/lib/components/VDialog/VDialog.mjs +4 -3
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +104 -282
- package/lib/components/VDivider/VDivider.mjs +4 -2
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/index.d.ts +22 -13
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.ts +109 -81
- package/lib/components/VField/VField.css +0 -1
- package/lib/components/VField/VField.mjs +9 -6
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +0 -1
- package/lib/components/VField/VFieldLabel.mjs +6 -3
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +119 -70
- package/lib/components/VFileInput/VFileInput.mjs +2 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +99 -150
- package/lib/components/VFooter/VFooter.mjs +4 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.ts +22 -13
- package/lib/components/VForm/VForm.mjs +5 -2
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +30 -17
- package/lib/components/VGrid/VCol.mjs +4 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +4 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +4 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/index.d.ts +104 -60
- package/lib/components/VHover/index.d.ts +20 -44
- package/lib/components/VIcon/VIcon.mjs +4 -2
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/index.d.ts +23 -26
- package/lib/components/VImg/VImg.mjs +5 -3
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +26 -29
- package/lib/components/VInput/VInput.mjs +4 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +31 -34
- package/lib/components/VItemGroup/VItemGroup.mjs +4 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.d.ts +30 -33
- package/lib/components/VKbd/index.d.ts +30 -17
- package/lib/components/VLabel/VLabel.mjs +4 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/index.d.ts +22 -13
- package/lib/components/VLayout/VLayout.mjs +8 -4
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +4 -2
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.ts +44 -26
- package/lib/components/VLazy/VLazy.mjs +4 -2
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +22 -13
- package/lib/components/VList/VList.mjs +7 -24
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +5 -2
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +4 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +4 -1
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +4 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +5 -3
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +932 -826
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -2
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/index.d.ts +30 -17
- package/lib/components/VMain/VMain.mjs +4 -2
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.d.ts +30 -17
- package/lib/components/VMenu/VMenu.mjs +2 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +104 -282
- package/lib/components/VMessages/VMessages.mjs +4 -2
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +22 -145
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +4 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.ts +26 -29
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.d.ts +3 -13
- package/lib/components/VOverlay/VOverlay.mjs +5 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +38 -45
- package/lib/components/VPagination/VPagination.mjs +4 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +23 -30
- package/lib/components/VParallax/VParallax.mjs +5 -2
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.d.ts +34 -33
- package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -2
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/index.d.ts +22 -13
- package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -4
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +42 -45
- package/lib/components/VRadio/VRadio.mjs +2 -1
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.ts +27 -38
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +39 -62
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +27 -38
- package/lib/components/VRating/VRating.mjs +4 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +23 -18
- package/lib/components/VResponsive/VResponsive.mjs +4 -2
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/index.d.ts +43 -31
- package/lib/components/VSelect/VSelect.mjs +2 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +194 -552
- package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +76 -46
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.ts +23 -14
- package/lib/components/VSheet/VSheet.mjs +4 -2
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.d.ts +22 -13
- package/lib/components/VSlideGroup/VSlideGroup.mjs +6 -3
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +59 -90
- package/lib/components/VSlider/VSlider.mjs +2 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +6 -4
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +6 -4
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +27 -38
- package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +92 -142
- package/lib/components/VSwitch/VSwitch.mjs +2 -1
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +39 -66
- package/lib/components/VSystemBar/VSystemBar.mjs +4 -2
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/index.d.ts +22 -13
- package/lib/components/VTable/VTable.mjs +4 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/index.d.ts +26 -29
- package/lib/components/VTabs/VTab.mjs +2 -2
- 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 +45 -27
- package/lib/components/VTextField/VTextField.mjs +2 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +208 -269
- package/lib/components/VTextarea/VTextarea.mjs +2 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +79 -122
- package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/index.d.ts +22 -13
- package/lib/components/VTimeline/VTimeline.mjs +5 -3
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +4 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +8 -6
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.ts +67 -57
- package/lib/components/VToolbar/VToolbar.mjs +4 -2
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +74 -71
- package/lib/components/VTooltip/VTooltip.mjs +2 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +104 -150
- package/lib/components/VValidation/index.d.ts +0 -12
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +21 -23
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.ts +70 -30
- package/lib/components/VWindow/VWindow.mjs +4 -1
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +4 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.ts +61 -79
- package/lib/components/index.d.ts +5229 -6754
- package/lib/components/transitions/index.d.ts +0 -192
- package/lib/composables/component.mjs +11 -0
- package/lib/composables/component.mjs.map +1 -0
- package/lib/composables/defaults.mjs +51 -5
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/icons.mjs +15 -4
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/index.mjs +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs +2 -2
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +2 -2
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa-svg.d.ts +1 -1
- package/lib/iconsets/fa.d.ts +1 -1
- package/lib/iconsets/fa4.d.ts +1 -1
- package/lib/iconsets/md.d.ts +1 -1
- package/lib/iconsets/mdi-svg.d.ts +1 -1
- package/lib/iconsets/mdi.d.ts +1 -1
- package/lib/index.d.ts +24 -24
- package/lib/labs/VDataTable/VDataTable.mjs +1 -1
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
- 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 +2 -2
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +61 -933
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.css +26 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +215 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.sass +25 -0
- package/lib/labs/VInfiniteScroll/_variables.scss +3 -0
- package/lib/labs/VInfiniteScroll/index.d.ts +321 -0
- package/lib/labs/VInfiniteScroll/index.mjs +2 -0
- package/lib/labs/VInfiniteScroll/index.mjs.map +1 -0
- package/lib/labs/VSkeletonLoader/index.d.ts +0 -12
- package/lib/labs/components.d.ts +398 -969
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/labs/date/DateAdapter.mjs +2 -0
- package/lib/labs/date/DateAdapter.mjs.map +1 -0
- package/lib/labs/date/adapters/vuetify.d.ts +52 -0
- package/lib/{adapters → labs/date/adapters}/vuetify.mjs +2 -2
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
- package/lib/{composables → labs/date}/date.mjs +3 -3
- package/lib/labs/date/date.mjs.map +1 -0
- package/lib/labs/date/index.d.ts +40 -0
- package/lib/labs/date/index.mjs +2 -0
- package/lib/labs/date/index.mjs.map +1 -0
- package/lib/labs/index.mjs +3 -2
- package/lib/labs/index.mjs.map +1 -1
- package/lib/locale/af.mjs +5 -1
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +5 -1
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +5 -1
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +5 -1
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +5 -1
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +5 -1
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +5 -1
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +5 -1
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +5 -1
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +5 -1
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +5 -1
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +5 -1
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +5 -1
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +5 -1
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +5 -1
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +5 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +5 -1
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +5 -1
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +5 -1
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +5 -1
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.ts +168 -0
- package/lib/locale/it.mjs +5 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +5 -1
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/ko.mjs +5 -1
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +5 -1
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +5 -1
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +5 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +5 -1
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +5 -1
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +5 -1
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +5 -1
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +5 -1
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +5 -1
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +5 -1
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +5 -1
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +5 -1
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +5 -1
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +5 -1
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +5 -1
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +5 -1
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +5 -1
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +5 -1
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +5 -1
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +9 -4
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +11 -43
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +28 -2
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.mjs.map +1 -1
- package/package.json +2 -1
- package/lib/adapters/date-adapter.mjs +0 -2
- package/lib/adapters/date-adapter.mjs.map +0 -1
- package/lib/adapters/vuetify.mjs.map +0 -1
- package/lib/composables/date.mjs.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VIcon.mjs","names":["IconValue","useIcon","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useTextColor","computed","Text","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVIconProps","color","String","start","Boolean","end","icon","tag","VIcon","name","props","setup","_ref","attrs","slots","slotIcon","default","slot","filter","node","type","children","themeClasses","iconData","sizeClasses","textColorClasses","textColorStyles","_createVNode","value","component","onClick","fontSize","size","height","width","undefined"],"sources":["../../../src/components/VIcon/VIcon.tsx"],"sourcesContent":["// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, Text, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef } from 'vue'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'v-icon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n let slotIcon: ComputedRef<string | undefined> | undefined\n if (slots.default) {\n slotIcon = computed(() => {\n const slot = slots.default?.()\n if (!slot) return\n\n return slot.filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n })\n }\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(slotIcon || props)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': !!attrs.onClick,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n ]}\n role={ attrs.onClick ? 'button' : undefined }\n aria-hidden={ !attrs.onClick }\n >\n { slots.default?.() }\n </iconData.value.component>\n ))\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,SAAS,EAAEC,OAAO;AAAA,SAClBC,aAAa,EAAEC,OAAO;AAAA,SACtBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,YAAY,uCAErB;AACA,SAASC,QAAQ,EAAEC,IAAI,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAClCC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAEjE;AAGA,OAAO,MAAMC,cAAc,GAAGF,YAAY,CAAC;EACzCG,KAAK,EAAEC,MAAM;EACbC,KAAK,EAAEC,OAAO;EACdC,GAAG,EAAED,OAAO;EACZE,IAAI,
|
1
|
+
{"version":3,"file":"VIcon.mjs","names":["IconValue","useIcon","makeComponentProps","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useTextColor","computed","Text","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVIconProps","color","String","start","Boolean","end","icon","tag","VIcon","name","props","setup","_ref","attrs","slots","slotIcon","default","slot","filter","node","type","children","themeClasses","iconData","sizeClasses","textColorClasses","textColorStyles","_createVNode","value","component","onClick","class","fontSize","size","height","width","undefined","style"],"sources":["../../../src/components/VIcon/VIcon.tsx"],"sourcesContent":["// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, Text, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef } from 'vue'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'v-icon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n let slotIcon: ComputedRef<string | undefined> | undefined\n if (slots.default) {\n slotIcon = computed(() => {\n const slot = slots.default?.()\n if (!slot) return\n\n return slot.filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n })\n }\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(slotIcon || props)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': !!attrs.onClick,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n props.class,\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n props.style,\n ]}\n role={ attrs.onClick ? 'button' : undefined }\n aria-hidden={ !attrs.onClick }\n >\n { slots.default?.() }\n </iconData.value.component>\n ))\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n"],"mappings":"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"}
|
@@ -5,7 +5,7 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
5
5
|
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
|
6
6
|
}
|
7
7
|
|
8
|
-
type IconValue = string | JSXComponent;
|
8
|
+
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
9
9
|
declare const IconValue: PropType<IconValue>;
|
10
10
|
declare const VComponentIcon: {
|
11
11
|
new (...args: any[]): {
|
@@ -19,9 +19,6 @@ declare const VComponentIcon: {
|
|
19
19
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
20
20
|
default?: (() => vue.VNodeChild) | undefined;
|
21
21
|
};
|
22
|
-
$slots?: {
|
23
|
-
default?: (() => vue.VNodeChild) | undefined;
|
24
|
-
} | undefined;
|
25
22
|
'v-slots'?: {
|
26
23
|
default?: false | (() => vue.VNodeChild) | undefined;
|
27
24
|
} | undefined;
|
@@ -49,9 +46,6 @@ declare const VComponentIcon: {
|
|
49
46
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
50
47
|
default?: (() => vue.VNodeChild) | undefined;
|
51
48
|
};
|
52
|
-
$slots?: {
|
53
|
-
default?: (() => vue.VNodeChild) | undefined;
|
54
|
-
} | undefined;
|
55
49
|
'v-slots'?: {
|
56
50
|
default?: false | (() => vue.VNodeChild) | undefined;
|
57
51
|
} | undefined;
|
@@ -85,9 +79,6 @@ declare const VComponentIcon: {
|
|
85
79
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
86
80
|
default?: (() => vue.VNodeChild) | undefined;
|
87
81
|
};
|
88
|
-
$slots?: {
|
89
|
-
default?: (() => vue.VNodeChild) | undefined;
|
90
|
-
} | undefined;
|
91
82
|
'v-slots'?: {
|
92
83
|
default?: false | (() => vue.VNodeChild) | undefined;
|
93
84
|
} | undefined;
|
@@ -105,9 +96,6 @@ declare const VComponentIcon: {
|
|
105
96
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
106
97
|
default?: (() => vue.VNodeChild) | undefined;
|
107
98
|
};
|
108
|
-
$slots?: {
|
109
|
-
default?: (() => vue.VNodeChild) | undefined;
|
110
|
-
} | undefined;
|
111
99
|
'v-slots'?: {
|
112
100
|
default?: false | (() => vue.VNodeChild) | undefined;
|
113
101
|
} | undefined;
|
@@ -415,30 +403,30 @@ declare const VIcon: {
|
|
415
403
|
$props: Partial<{
|
416
404
|
end: boolean;
|
417
405
|
start: boolean;
|
406
|
+
style: vue.StyleValue;
|
418
407
|
size: string | number;
|
419
408
|
tag: string;
|
420
409
|
}> & Omit<{
|
421
410
|
end: boolean;
|
422
411
|
start: boolean;
|
412
|
+
style: vue.StyleValue;
|
423
413
|
size: string | number;
|
424
414
|
tag: string;
|
425
415
|
} & {
|
426
416
|
color?: string | undefined;
|
417
|
+
class?: any;
|
427
418
|
icon?: IconValue | undefined;
|
428
419
|
theme?: string | undefined;
|
429
420
|
} & {
|
430
421
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
431
422
|
default?: (() => vue.VNodeChild) | undefined;
|
432
423
|
};
|
433
|
-
$slots?: {
|
434
|
-
default?: (() => vue.VNodeChild) | undefined;
|
435
|
-
} | undefined;
|
436
424
|
'v-slots'?: {
|
437
425
|
default?: false | (() => vue.VNodeChild) | undefined;
|
438
426
|
} | undefined;
|
439
427
|
} & {
|
440
428
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
441
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "end" | "start" | "size" | "tag">;
|
429
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "end" | "start" | "style" | "size" | "tag">;
|
442
430
|
$attrs: {
|
443
431
|
[x: string]: unknown;
|
444
432
|
};
|
@@ -455,19 +443,18 @@ declare const VIcon: {
|
|
455
443
|
$options: vue.ComponentOptionsBase<{
|
456
444
|
end: boolean;
|
457
445
|
start: boolean;
|
446
|
+
style: vue.StyleValue;
|
458
447
|
size: string | number;
|
459
448
|
tag: string;
|
460
449
|
} & {
|
461
450
|
color?: string | undefined;
|
451
|
+
class?: any;
|
462
452
|
icon?: IconValue | undefined;
|
463
453
|
theme?: string | undefined;
|
464
454
|
} & {
|
465
455
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
466
456
|
default?: (() => vue.VNodeChild) | undefined;
|
467
457
|
};
|
468
|
-
$slots?: {
|
469
|
-
default?: (() => vue.VNodeChild) | undefined;
|
470
|
-
} | undefined;
|
471
458
|
'v-slots'?: {
|
472
459
|
default?: false | (() => vue.VNodeChild) | undefined;
|
473
460
|
} | undefined;
|
@@ -476,6 +463,7 @@ declare const VIcon: {
|
|
476
463
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
477
464
|
end: boolean;
|
478
465
|
start: boolean;
|
466
|
+
style: vue.StyleValue;
|
479
467
|
size: string | number;
|
480
468
|
tag: string;
|
481
469
|
}, {}, string> & {
|
@@ -501,19 +489,18 @@ declare const VIcon: {
|
|
501
489
|
} & {
|
502
490
|
end: boolean;
|
503
491
|
start: boolean;
|
492
|
+
style: vue.StyleValue;
|
504
493
|
size: string | number;
|
505
494
|
tag: string;
|
506
495
|
} & {
|
507
496
|
color?: string | undefined;
|
497
|
+
class?: any;
|
508
498
|
icon?: IconValue | undefined;
|
509
499
|
theme?: string | undefined;
|
510
500
|
} & {
|
511
501
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
512
502
|
default?: (() => vue.VNodeChild) | undefined;
|
513
503
|
};
|
514
|
-
$slots?: {
|
515
|
-
default?: (() => vue.VNodeChild) | undefined;
|
516
|
-
} | undefined;
|
517
504
|
'v-slots'?: {
|
518
505
|
default?: false | (() => vue.VNodeChild) | undefined;
|
519
506
|
} | undefined;
|
@@ -526,19 +513,18 @@ declare const VIcon: {
|
|
526
513
|
} & vue.ComponentOptionsBase<{
|
527
514
|
end: boolean;
|
528
515
|
start: boolean;
|
516
|
+
style: vue.StyleValue;
|
529
517
|
size: string | number;
|
530
518
|
tag: string;
|
531
519
|
} & {
|
532
520
|
color?: string | undefined;
|
521
|
+
class?: any;
|
533
522
|
icon?: IconValue | undefined;
|
534
523
|
theme?: string | undefined;
|
535
524
|
} & {
|
536
525
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
537
526
|
default?: (() => vue.VNodeChild) | undefined;
|
538
527
|
};
|
539
|
-
$slots?: {
|
540
|
-
default?: (() => vue.VNodeChild) | undefined;
|
541
|
-
} | undefined;
|
542
528
|
'v-slots'?: {
|
543
529
|
default?: false | (() => vue.VNodeChild) | undefined;
|
544
530
|
} | undefined;
|
@@ -547,6 +533,7 @@ declare const VIcon: {
|
|
547
533
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
548
534
|
end: boolean;
|
549
535
|
start: boolean;
|
536
|
+
style: vue.StyleValue;
|
550
537
|
size: string | number;
|
551
538
|
tag: string;
|
552
539
|
}, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
@@ -562,6 +549,11 @@ declare const VIcon: {
|
|
562
549
|
type: (StringConstructor | NumberConstructor)[];
|
563
550
|
default: string;
|
564
551
|
};
|
552
|
+
class: vue.PropType<any>;
|
553
|
+
style: {
|
554
|
+
type: vue.PropType<vue.StyleValue>;
|
555
|
+
default: null;
|
556
|
+
};
|
565
557
|
color: StringConstructor;
|
566
558
|
start: BooleanConstructor;
|
567
559
|
end: BooleanConstructor;
|
@@ -579,6 +571,11 @@ declare const VIcon: {
|
|
579
571
|
type: (StringConstructor | NumberConstructor)[];
|
580
572
|
default: string;
|
581
573
|
};
|
574
|
+
class: vue.PropType<any>;
|
575
|
+
style: {
|
576
|
+
type: vue.PropType<vue.StyleValue>;
|
577
|
+
default: null;
|
578
|
+
};
|
582
579
|
color: StringConstructor;
|
583
580
|
start: BooleanConstructor;
|
584
581
|
end: BooleanConstructor;
|
@@ -4,6 +4,7 @@ import "./VImg.css";
|
|
4
4
|
// Components
|
5
5
|
import { VResponsive } from "../VResponsive/index.mjs"; // Directives
|
6
6
|
import intersect from "../../directives/intersect/index.mjs"; // Composables
|
7
|
+
import { makeComponentProps } from "../../composables/component.mjs";
|
7
8
|
import { makeTransitionProps, MaybeTransition } from "../../composables/transition.mjs"; // Utilities
|
8
9
|
import { computed, nextTick, onBeforeMount, ref, vShow, watch, withDirectives } from 'vue';
|
9
10
|
import { convertToUnit, genericComponent, SUPPORTS_INTERSECTION, useRender } from "../../util/index.mjs"; // Types
|
@@ -36,6 +37,7 @@ export const VImg = genericComponent()({
|
|
36
37
|
},
|
37
38
|
srcset: String,
|
38
39
|
width: [String, Number],
|
40
|
+
...makeComponentProps(),
|
39
41
|
...makeTransitionProps()
|
40
42
|
},
|
41
43
|
emits: {
|
@@ -223,10 +225,10 @@ export const VImg = genericComponent()({
|
|
223
225
|
useRender(() => _withDirectives(_createVNode(VResponsive, {
|
224
226
|
"class": ['v-img', {
|
225
227
|
'v-img--booting': !isBooted.value
|
226
|
-
}],
|
227
|
-
"style": {
|
228
|
+
}, props.class],
|
229
|
+
"style": [{
|
228
230
|
width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
|
229
|
-
},
|
231
|
+
}, props.style],
|
230
232
|
"aspectRatio": aspectRatio.value,
|
231
233
|
"aria-label": props.alt,
|
232
234
|
"role": props.alt ? 'img' : undefined
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VImg.mjs","names":["VResponsive","intersect","makeTransitionProps","MaybeTransition","computed","nextTick","onBeforeMount","ref","vShow","watch","withDirectives","convertToUnit","genericComponent","SUPPORTS_INTERSECTION","useRender","VImg","name","directives","props","aspectRatio","String","Number","alt","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","srcset","width","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","_withDirectives","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: []\n placeholder: []\n error: []\n sources: []\n}\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeTransitionProps(),\n },\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n ]}\n style={{ width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) }}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"VImg.mjs","names":["VResponsive","intersect","makeComponentProps","makeTransitionProps","MaybeTransition","computed","nextTick","onBeforeMount","ref","vShow","watch","withDirectives","convertToUnit","genericComponent","SUPPORTS_INTERSECTION","useRender","VImg","name","directives","props","aspectRatio","String","Number","alt","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","srcset","width","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","_withDirectives","class","style","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: []\n placeholder: []\n error: []\n sources: []\n}\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeComponentProps(),\n ...makeTransitionProps(),\n },\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n props.class,\n ]}\n style={[\n { width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) },\n props.style,\n ]}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
|
@@ -19,6 +19,7 @@ declare const VImg: {
|
|
19
19
|
transition: string | boolean | (vue.TransitionProps & {
|
20
20
|
component?: vue.Component | undefined;
|
21
21
|
});
|
22
|
+
style: vue.StyleValue;
|
22
23
|
eager: boolean;
|
23
24
|
options: IntersectionObserverInit;
|
24
25
|
cover: boolean;
|
@@ -27,6 +28,7 @@ declare const VImg: {
|
|
27
28
|
transition: string | boolean | (vue.TransitionProps & {
|
28
29
|
component?: vue.Component | undefined;
|
29
30
|
});
|
31
|
+
style: vue.StyleValue;
|
30
32
|
eager: boolean;
|
31
33
|
options: IntersectionObserverInit;
|
32
34
|
cover: boolean;
|
@@ -34,24 +36,19 @@ declare const VImg: {
|
|
34
36
|
} & {
|
35
37
|
width?: string | number | undefined;
|
36
38
|
aspectRatio?: string | number | undefined;
|
39
|
+
class?: any;
|
37
40
|
alt?: string | undefined;
|
38
41
|
sizes?: string | undefined;
|
39
42
|
srcset?: string | undefined;
|
40
43
|
gradient?: string | undefined;
|
41
44
|
lazySrc?: string | undefined;
|
42
45
|
} & {
|
43
|
-
$children?:
|
46
|
+
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
44
47
|
default?: (() => vue.VNodeChild) | undefined;
|
45
48
|
placeholder?: (() => vue.VNodeChild) | undefined;
|
46
49
|
error?: (() => vue.VNodeChild) | undefined;
|
47
50
|
sources?: (() => vue.VNodeChild) | undefined;
|
48
51
|
};
|
49
|
-
$slots?: {
|
50
|
-
default?: (() => vue.VNodeChild) | undefined;
|
51
|
-
placeholder?: (() => vue.VNodeChild) | undefined;
|
52
|
-
error?: (() => vue.VNodeChild) | undefined;
|
53
|
-
sources?: (() => vue.VNodeChild) | undefined;
|
54
|
-
} | undefined;
|
55
52
|
'v-slots'?: {
|
56
53
|
default?: false | (() => vue.VNodeChild) | undefined;
|
57
54
|
placeholder?: false | (() => vue.VNodeChild) | undefined;
|
@@ -67,7 +64,7 @@ declare const VImg: {
|
|
67
64
|
onError?: ((value: string | undefined) => any) | undefined;
|
68
65
|
onLoad?: ((value: string | undefined) => any) | undefined;
|
69
66
|
onLoadstart?: ((value: string | undefined) => any) | undefined;
|
70
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "transition" | "eager" | "options" | "cover" | "src">;
|
67
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "transition" | "style" | "eager" | "options" | "cover" | "src">;
|
71
68
|
$attrs: {
|
72
69
|
[x: string]: unknown;
|
73
70
|
};
|
@@ -85,6 +82,7 @@ declare const VImg: {
|
|
85
82
|
transition: string | boolean | (vue.TransitionProps & {
|
86
83
|
component?: vue.Component | undefined;
|
87
84
|
});
|
85
|
+
style: vue.StyleValue;
|
88
86
|
eager: boolean;
|
89
87
|
options: IntersectionObserverInit;
|
90
88
|
cover: boolean;
|
@@ -92,24 +90,19 @@ declare const VImg: {
|
|
92
90
|
} & {
|
93
91
|
width?: string | number | undefined;
|
94
92
|
aspectRatio?: string | number | undefined;
|
93
|
+
class?: any;
|
95
94
|
alt?: string | undefined;
|
96
95
|
sizes?: string | undefined;
|
97
96
|
srcset?: string | undefined;
|
98
97
|
gradient?: string | undefined;
|
99
98
|
lazySrc?: string | undefined;
|
100
99
|
} & {
|
101
|
-
$children?:
|
100
|
+
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
102
101
|
default?: (() => vue.VNodeChild) | undefined;
|
103
102
|
placeholder?: (() => vue.VNodeChild) | undefined;
|
104
103
|
error?: (() => vue.VNodeChild) | undefined;
|
105
104
|
sources?: (() => vue.VNodeChild) | undefined;
|
106
105
|
};
|
107
|
-
$slots?: {
|
108
|
-
default?: (() => vue.VNodeChild) | undefined;
|
109
|
-
placeholder?: (() => vue.VNodeChild) | undefined;
|
110
|
-
error?: (() => vue.VNodeChild) | undefined;
|
111
|
-
sources?: (() => vue.VNodeChild) | undefined;
|
112
|
-
} | undefined;
|
113
106
|
'v-slots'?: {
|
114
107
|
default?: false | (() => vue.VNodeChild) | undefined;
|
115
108
|
placeholder?: false | (() => vue.VNodeChild) | undefined;
|
@@ -139,6 +132,7 @@ declare const VImg: {
|
|
139
132
|
transition: string | boolean | (vue.TransitionProps & {
|
140
133
|
component?: vue.Component | undefined;
|
141
134
|
});
|
135
|
+
style: vue.StyleValue;
|
142
136
|
eager: boolean;
|
143
137
|
options: IntersectionObserverInit;
|
144
138
|
cover: boolean;
|
@@ -167,6 +161,7 @@ declare const VImg: {
|
|
167
161
|
transition: string | boolean | (vue.TransitionProps & {
|
168
162
|
component?: vue.Component | undefined;
|
169
163
|
});
|
164
|
+
style: vue.StyleValue;
|
170
165
|
eager: boolean;
|
171
166
|
options: IntersectionObserverInit;
|
172
167
|
cover: boolean;
|
@@ -174,24 +169,19 @@ declare const VImg: {
|
|
174
169
|
} & {
|
175
170
|
width?: string | number | undefined;
|
176
171
|
aspectRatio?: string | number | undefined;
|
172
|
+
class?: any;
|
177
173
|
alt?: string | undefined;
|
178
174
|
sizes?: string | undefined;
|
179
175
|
srcset?: string | undefined;
|
180
176
|
gradient?: string | undefined;
|
181
177
|
lazySrc?: string | undefined;
|
182
178
|
} & {
|
183
|
-
$children?:
|
179
|
+
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
184
180
|
default?: (() => vue.VNodeChild) | undefined;
|
185
181
|
placeholder?: (() => vue.VNodeChild) | undefined;
|
186
182
|
error?: (() => vue.VNodeChild) | undefined;
|
187
183
|
sources?: (() => vue.VNodeChild) | undefined;
|
188
184
|
};
|
189
|
-
$slots?: {
|
190
|
-
default?: (() => vue.VNodeChild) | undefined;
|
191
|
-
placeholder?: (() => vue.VNodeChild) | undefined;
|
192
|
-
error?: (() => vue.VNodeChild) | undefined;
|
193
|
-
sources?: (() => vue.VNodeChild) | undefined;
|
194
|
-
} | undefined;
|
195
185
|
'v-slots'?: {
|
196
186
|
default?: false | (() => vue.VNodeChild) | undefined;
|
197
187
|
placeholder?: false | (() => vue.VNodeChild) | undefined;
|
@@ -221,6 +211,7 @@ declare const VImg: {
|
|
221
211
|
transition: string | boolean | (vue.TransitionProps & {
|
222
212
|
component?: vue.Component | undefined;
|
223
213
|
});
|
214
|
+
style: vue.StyleValue;
|
224
215
|
eager: boolean;
|
225
216
|
options: IntersectionObserverInit;
|
226
217
|
cover: boolean;
|
@@ -228,24 +219,19 @@ declare const VImg: {
|
|
228
219
|
} & {
|
229
220
|
width?: string | number | undefined;
|
230
221
|
aspectRatio?: string | number | undefined;
|
222
|
+
class?: any;
|
231
223
|
alt?: string | undefined;
|
232
224
|
sizes?: string | undefined;
|
233
225
|
srcset?: string | undefined;
|
234
226
|
gradient?: string | undefined;
|
235
227
|
lazySrc?: string | undefined;
|
236
228
|
} & {
|
237
|
-
$children?:
|
229
|
+
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
238
230
|
default?: (() => vue.VNodeChild) | undefined;
|
239
231
|
placeholder?: (() => vue.VNodeChild) | undefined;
|
240
232
|
error?: (() => vue.VNodeChild) | undefined;
|
241
233
|
sources?: (() => vue.VNodeChild) | undefined;
|
242
234
|
};
|
243
|
-
$slots?: {
|
244
|
-
default?: (() => vue.VNodeChild) | undefined;
|
245
|
-
placeholder?: (() => vue.VNodeChild) | undefined;
|
246
|
-
error?: (() => vue.VNodeChild) | undefined;
|
247
|
-
sources?: (() => vue.VNodeChild) | undefined;
|
248
|
-
} | undefined;
|
249
235
|
'v-slots'?: {
|
250
236
|
default?: false | (() => vue.VNodeChild) | undefined;
|
251
237
|
placeholder?: false | (() => vue.VNodeChild) | undefined;
|
@@ -275,6 +261,7 @@ declare const VImg: {
|
|
275
261
|
transition: string | boolean | (vue.TransitionProps & {
|
276
262
|
component?: vue.Component | undefined;
|
277
263
|
});
|
264
|
+
style: vue.StyleValue;
|
278
265
|
eager: boolean;
|
279
266
|
options: IntersectionObserverInit;
|
280
267
|
cover: boolean;
|
@@ -287,6 +274,11 @@ declare const VImg: {
|
|
287
274
|
default: string;
|
288
275
|
validator: (val: unknown) => boolean;
|
289
276
|
};
|
277
|
+
class: PropType<any>;
|
278
|
+
style: {
|
279
|
+
type: PropType<vue.StyleValue>;
|
280
|
+
default: null;
|
281
|
+
};
|
290
282
|
aspectRatio: (StringConstructor | NumberConstructor)[];
|
291
283
|
alt: StringConstructor;
|
292
284
|
cover: BooleanConstructor;
|
@@ -316,6 +308,11 @@ declare const VImg: {
|
|
316
308
|
default: string;
|
317
309
|
validator: (val: unknown) => boolean;
|
318
310
|
};
|
311
|
+
class: PropType<any>;
|
312
|
+
style: {
|
313
|
+
type: PropType<vue.StyleValue>;
|
314
|
+
default: null;
|
315
|
+
};
|
319
316
|
aspectRatio: (StringConstructor | NumberConstructor)[];
|
320
317
|
alt: StringConstructor;
|
321
318
|
cover: BooleanConstructor;
|
@@ -5,6 +5,7 @@ import "./VInput.css";
|
|
5
5
|
// Components
|
6
6
|
import { VMessages } from "../VMessages/index.mjs"; // Composables
|
7
7
|
import { IconValue } from "../../composables/icons.mjs";
|
8
|
+
import { makeComponentProps } from "../../composables/component.mjs";
|
8
9
|
import { makeDensityProps, useDensity } from "../../composables/density.mjs";
|
9
10
|
import { makeValidationProps, useValidation } from "../../composables/validation.mjs"; // Utilities
|
10
11
|
import { computed } from 'vue';
|
@@ -28,6 +29,7 @@ export const makeVInputProps = propsFactory({
|
|
28
29
|
},
|
29
30
|
'onClick:prepend': EventProp(),
|
30
31
|
'onClick:append': EventProp(),
|
32
|
+
...makeComponentProps(),
|
31
33
|
...makeDensityProps(),
|
32
34
|
...makeValidationProps()
|
33
35
|
}, 'v-input');
|
@@ -95,7 +97,8 @@ export const VInput = genericComponent()({
|
|
95
97
|
const hasMessages = messages.value.length > 0;
|
96
98
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
97
99
|
return _createVNode("div", {
|
98
|
-
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
|
100
|
+
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value, props.class],
|
101
|
+
"style": props.style
|
99
102
|
}, [hasPrepend && _createVNode("div", {
|
100
103
|
"key": "prepend",
|
101
104
|
"class": "v-input__prepend"
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VInput.mjs","names":["VMessages","IconValue","makeDensityProps","useDensity","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","propsFactory","useRender","useInputIcon","makeVInputProps","id","String","appendIcon","prependIcon","hideDetails","Boolean","hint","persistentHint","messages","type","Array","default","direction","validator","v","includes","VInput","name","props","emits","val","setup","_ref","attrs","slots","emit","densityClasses","InputIcon","uid","messagesId","value","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","length","focused","hasPrepend","prepend","hasAppend","append","hasMessages","hasDetails","details","_createVNode","message"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport
|
1
|
+
{"version":3,"file":"VInput.mjs","names":["VMessages","IconValue","makeComponentProps","makeDensityProps","useDensity","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","propsFactory","useRender","useInputIcon","makeVInputProps","id","String","appendIcon","prependIcon","hideDetails","Boolean","hint","persistentHint","messages","type","Array","default","direction","validator","v","includes","VInput","name","props","emits","val","setup","_ref","attrs","slots","emit","densityClasses","InputIcon","uid","messagesId","value","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","length","focused","hasPrepend","prepend","hasAppend","append","hasMessages","hasDetails","details","_createVNode","class","style","message"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp<[MouseEvent]>(),\n 'onClick:append': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeValidationProps(),\n}, 'v-input')\n\nexport type VInputSlots = {\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n}\n\nexport const VInput = genericComponent<VInputSlots>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { InputIcon } = useInputIcon(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n const messages = computed(() => {\n if (errorMessages.value.length > 0) {\n return errorMessages.value\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint\n } else {\n return props.messages\n }\n })\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = messages.value.length > 0\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div\n class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n id={ messagesId.value }\n active={ hasMessages }\n messages={ messages.value }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":"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"}
|