vuetify 3.2.2 → 3.2.3
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 +538 -242
- package/dist/json/importMap.json +8 -8
- package/dist/json/tags.json +77 -2
- package/dist/json/web-types.json +1284 -558
- package/dist/vuetify-labs.css +123 -119
- package/dist/vuetify-labs.d.ts +2222 -11380
- package/dist/vuetify-labs.esm.js +2230 -2144
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +2230 -2144
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +39 -35
- package/dist/vuetify.d.ts +1225 -11178
- package/dist/vuetify.esm.js +1691 -1591
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1691 -1591
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +597 -597
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +1 -3
- package/lib/blueprints/md1.d.ts +1 -3
- package/lib/blueprints/md2.d.ts +1 -3
- package/lib/blueprints/md3.d.ts +1 -3
- package/lib/components/VAlert/VAlert.mjs +47 -46
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +2 -2
- package/lib/components/VApp/VApp.mjs +9 -8
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +21 -20
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +8 -5
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +4 -4
- package/lib/components/VAutocomplete/VAutocomplete.css +0 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs +28 -33
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +0 -5
- package/lib/components/VAutocomplete/index.d.ts +67 -1174
- package/lib/components/VBadge/VBadge.mjs +33 -32
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.mjs +21 -20
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +7 -6
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/index.d.ts +2 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +35 -34
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +24 -23
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -5
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +15 -14
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +1 -0
- package/lib/components/VBtnToggle/VBtnToggle.mjs +6 -5
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs +38 -37
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +12 -11
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +4 -4
- package/lib/components/VCarousel/VCarousel.mjs +28 -27
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +18 -16
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +170 -20
- package/lib/components/VCheckbox/VCheckbox.mjs +6 -5
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +24 -12
- package/lib/components/VChip/VChip.css +8 -0
- package/lib/components/VChip/VChip.mjs +60 -57
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/VChip.sass +10 -0
- package/lib/components/VChip/index.d.ts +8 -8
- package/lib/components/VChipGroup/VChipGroup.mjs +19 -18
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs +44 -39
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +21 -20
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +17 -16
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +10 -9
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +12 -11
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.ts +4 -4
- package/lib/components/VColorPicker/util/index.mjs +2 -2
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +32 -36
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +67 -1171
- package/lib/components/VCounter/VCounter.mjs +16 -15
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +25 -1774
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +9 -8
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.mjs +18 -17
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +130 -1120
- package/lib/components/VDivider/VDivider.mjs +11 -10
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +15 -15
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +6 -5
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +3 -5
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -14
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.ts +15 -15
- package/lib/components/VField/VField.mjs +6 -2
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VFieldLabel.mjs +6 -5
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.mjs +35 -34
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +3 -3
- package/lib/components/VFooter/VFooter.mjs +19 -18
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs +6 -5
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +3 -3
- package/lib/components/VGrid/VCol.mjs +26 -25
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +16 -11
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +26 -25
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VHover/VHover.mjs +10 -9
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs +29 -28
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.mjs +10 -9
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.mjs +8 -7
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.mjs +6 -5
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +15 -14
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLazy/VLazy.mjs +21 -20
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VList/VList.mjs +33 -32
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs +5 -4
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +2 -4
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +42 -41
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +8 -7
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +8 -7
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +10 -9
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +30 -30
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +12 -11
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VMain/VMain.mjs +9 -8
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +18 -17
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +40 -1030
- package/lib/components/VMessages/VMessages.mjs +18 -17
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +25 -1774
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +48 -47
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/sticky.mjs +9 -3
- package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs +5 -3
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +82 -81
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +8 -8
- package/lib/components/VParallax/VParallax.mjs +9 -8
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs +25 -24
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +44 -42
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +8 -8
- package/lib/components/VRadio/VRadio.mjs +8 -7
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.ts +18 -12
- package/lib/components/VRadioGroup/VRadioGroup.mjs +22 -21
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +16 -10
- package/lib/components/VRangeSlider/VRangeSlider.mjs +18 -13
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRating/VRating.mjs +44 -43
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +8 -8
- package/lib/components/VResponsive/VResponsive.mjs +8 -7
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +20 -19
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +64 -2506
- package/lib/components/VSelectionControl/index.d.ts +42 -36
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +10 -10
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.ts +28 -28
- package/lib/components/VSheet/VSheet.mjs +1 -3
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs +1 -3
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.mjs +18 -13
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +26 -25
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +13 -12
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +20 -19
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.mjs +13 -12
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +18 -12
- package/lib/components/VSystemBar/VSystemBar.mjs +13 -12
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VTable/VTable.mjs +12 -11
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTabs/VTab.mjs +15 -14
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +28 -27
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +12 -12
- package/lib/components/VTextField/index.d.ts +3 -3
- package/lib/components/VTextarea/VTextarea.mjs +26 -25
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +3 -3
- package/lib/components/VThemeProvider/VThemeProvider.mjs +8 -7
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.mjs +46 -41
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +14 -13
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +21 -20
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.mjs +6 -2
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +8 -7
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +11 -11
- package/lib/components/VTooltip/VTooltip.mjs +20 -19
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VValidation/VValidation.mjs +1 -3
- package/lib/components/VValidation/VValidation.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +11 -10
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +6 -5
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +15 -14
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.ts +9 -9
- package/lib/components/index.d.ts +1301 -11252
- package/lib/components/transitions/createTransition.mjs +16 -15
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs +5 -4
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/index.d.ts +143 -143
- package/lib/composables/forwardRefs.mjs.map +1 -1
- package/lib/composables/theme.mjs +3 -3
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/directives/click-outside/index.mjs +1 -1
- package/lib/directives/click-outside/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +3 -5
- package/lib/labs/VDataTable/VDataTable.mjs +53 -59
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs +64 -63
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +8 -7
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +16 -15
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +7 -6
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +20 -19
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +53 -64
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +65 -72
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +991 -206
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +54 -48
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/labs/VInfiniteScroll/index.d.ts +16 -1
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +18 -17
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/labs/VSkeletonLoader/index.d.ts +9 -9
- package/lib/labs/components.d.ts +1011 -211
- package/lib/labs/date/date.mjs +7 -7
- package/lib/labs/date/date.mjs.map +1 -1
- package/lib/labs/date/index.d.ts +1 -3
- package/package.json +2 -2
|
@@ -7,18 +7,19 @@ import { makeComponentProps } from "../../composables/component.mjs";
|
|
|
7
7
|
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
|
8
8
|
import { useTextColor } from "../../composables/color.mjs"; // Utilities
|
|
9
9
|
import { computed, toRef } from 'vue';
|
|
10
|
-
import { convertToUnit, genericComponent, useRender } from "../../util/index.mjs";
|
|
10
|
+
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs";
|
|
11
|
+
export const makeVDividerProps = propsFactory({
|
|
12
|
+
color: String,
|
|
13
|
+
inset: Boolean,
|
|
14
|
+
length: [Number, String],
|
|
15
|
+
thickness: [Number, String],
|
|
16
|
+
vertical: Boolean,
|
|
17
|
+
...makeComponentProps(),
|
|
18
|
+
...makeThemeProps()
|
|
19
|
+
}, 'v-divider');
|
|
11
20
|
export const VDivider = genericComponent()({
|
|
12
21
|
name: 'VDivider',
|
|
13
|
-
props:
|
|
14
|
-
color: String,
|
|
15
|
-
inset: Boolean,
|
|
16
|
-
length: [Number, String],
|
|
17
|
-
thickness: [Number, String],
|
|
18
|
-
vertical: Boolean,
|
|
19
|
-
...makeComponentProps(),
|
|
20
|
-
...makeThemeProps()
|
|
21
|
-
},
|
|
22
|
+
props: makeVDividerProps(),
|
|
22
23
|
setup(props, _ref) {
|
|
23
24
|
let {
|
|
24
25
|
attrs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDivider.mjs","names":["makeComponentProps","makeThemeProps","provideTheme","useTextColor","computed","toRef","convertToUnit","genericComponent","
|
|
1
|
+
{"version":3,"file":"VDivider.mjs","names":["makeComponentProps","makeThemeProps","provideTheme","useTextColor","computed","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVDividerProps","color","String","inset","Boolean","length","Number","thickness","vertical","VDivider","name","props","setup","_ref","attrs","themeClasses","textColorClasses","textColorStyles","dividerStyles","styles","_createVNode","value","class","style","role","undefined"],"sources":["../../../src/components/VDivider/VDivider.tsx"],"sourcesContent":["// Styles\nimport './VDivider.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'maxHeight' | 'maxWidth'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'v-divider')\n\nexport const VDivider = genericComponent()({\n name: 'VDivider',\n\n props: makeVDividerProps(),\n\n setup (props, { attrs }) {\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'maxHeight' : 'maxWidth'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n useRender(() => (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n textColorClasses.value,\n props.class,\n ]}\n style={[\n dividerStyles.value,\n textColorStyles.value,\n props.style,\n ]}\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={ `${attrs.role || 'separator'}` }\n />\n ))\n\n return {}\n },\n})\n\nexport type VDivider = InstanceType<typeof VDivider>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,YAAY,uCAErB;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAKjE,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;EAC5CG,KAAK,EAAEC,MAAM;EACbC,KAAK,EAAEC,OAAO;EACdC,MAAM,EAAE,CAACC,MAAM,EAAEJ,MAAM,CAAC;EACxBK,SAAS,EAAE,CAACD,MAAM,EAAEJ,MAAM,CAAC;EAC3BM,QAAQ,EAAEJ,OAAO;EAEjB,GAAGd,kBAAkB,EAAE;EACvB,GAAGC,cAAc;AACnB,CAAC,EAAE,WAAW,CAAC;AAEf,OAAO,MAAMkB,QAAQ,GAAGZ,gBAAgB,EAAE,CAAC;EACzCa,IAAI,EAAE,UAAU;EAEhBC,KAAK,EAAEX,iBAAiB,EAAE;EAE1BY,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGvB,YAAY,CAACmB,KAAK,CAAC;IAC5C,MAAM;MAAEK,gBAAgB;MAAEC;IAAgB,CAAC,GAAGxB,YAAY,CAACE,KAAK,CAACgB,KAAK,EAAE,OAAO,CAAC,CAAC;IACjF,MAAMO,aAAa,GAAGxB,QAAQ,CAAC,MAAM;MACnC,MAAMyB,MAAqB,GAAG,CAAC,CAAC;MAEhC,IAAIR,KAAK,CAACN,MAAM,EAAE;QAChBc,MAAM,CAACR,KAAK,CAACH,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC,GAAGZ,aAAa,CAACe,KAAK,CAACN,MAAM,CAAC;MACjF;MAEA,IAAIM,KAAK,CAACJ,SAAS,EAAE;QACnBY,MAAM,CAACR,KAAK,CAACH,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB,CAAC,GAAGZ,aAAa,CAACe,KAAK,CAACJ,SAAS,CAAC;MACjG;MAEA,OAAOY,MAAM;IACf,CAAC,CAAC;IAEFpB,SAAS,CAAC,MAAAqB,YAAA;MAAA,SAEC,CACL;QACE,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAET,KAAK,CAACR,KAAK;QAC/B,qBAAqB,EAAEQ,KAAK,CAACH;MAC/B,CAAC,EACDO,YAAY,CAACM,KAAK,EAClBL,gBAAgB,CAACK,KAAK,EACtBV,KAAK,CAACW,KAAK,CACZ;MAAA,SACM,CACLJ,aAAa,CAACG,KAAK,EACnBJ,eAAe,CAACI,KAAK,EACrBV,KAAK,CAACY,KAAK,CACZ;MAAA,oBAEC,CAACT,KAAK,CAACU,IAAI,IAAIV,KAAK,CAACU,IAAI,KAAK,WAAW,GACrCb,KAAK,CAACH,QAAQ,GAAG,UAAU,GAAG,YAAY,GAC1CiB,SAAS;MAAA,QAEP,GAAEX,KAAK,CAACU,IAAI,IAAI,WAAY;IAAC,QAExC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -11,21 +11,22 @@ import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
|
|
|
11
11
|
import { makeTagProps } from "../../composables/tag.mjs";
|
|
12
12
|
import { useBackgroundColor } from "../../composables/color.mjs"; // Utilities
|
|
13
13
|
import { computed, provide } from 'vue';
|
|
14
|
-
import { genericComponent, useRender } from "../../util/index.mjs";
|
|
14
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
|
|
15
|
+
export const makeVExpansionPanelProps = propsFactory({
|
|
16
|
+
title: String,
|
|
17
|
+
text: String,
|
|
18
|
+
bgColor: String,
|
|
19
|
+
...makeComponentProps(),
|
|
20
|
+
...makeElevationProps(),
|
|
21
|
+
...makeGroupItemProps(),
|
|
22
|
+
...makeLazyProps(),
|
|
23
|
+
...makeRoundedProps(),
|
|
24
|
+
...makeTagProps(),
|
|
25
|
+
...makeVExpansionPanelTitleProps()
|
|
26
|
+
}, 'v-expansion-panel');
|
|
15
27
|
export const VExpansionPanel = genericComponent()({
|
|
16
28
|
name: 'VExpansionPanel',
|
|
17
|
-
props:
|
|
18
|
-
title: String,
|
|
19
|
-
text: String,
|
|
20
|
-
bgColor: String,
|
|
21
|
-
...makeComponentProps(),
|
|
22
|
-
...makeElevationProps(),
|
|
23
|
-
...makeGroupItemProps(),
|
|
24
|
-
...makeLazyProps(),
|
|
25
|
-
...makeRoundedProps(),
|
|
26
|
-
...makeTagProps(),
|
|
27
|
-
...makeVExpansionPanelTitleProps()
|
|
28
|
-
},
|
|
29
|
+
props: makeVExpansionPanelProps(),
|
|
29
30
|
emits: {
|
|
30
31
|
'group:selected': val => true
|
|
31
32
|
},
|
|
@@ -68,8 +69,7 @@ export const VExpansionPanel = genericComponent()({
|
|
|
68
69
|
'v-expansion-panel--after-active': isAfterSelected.value,
|
|
69
70
|
'v-expansion-panel--disabled': isDisabled.value
|
|
70
71
|
}, roundedClasses.value, backgroundColorClasses.value, props.class],
|
|
71
|
-
"style": [backgroundColorStyles.value, props.style]
|
|
72
|
-
"aria-expanded": groupItem.isSelected.value
|
|
72
|
+
"style": [backgroundColorStyles.value, props.style]
|
|
73
73
|
}, {
|
|
74
74
|
default: () => [_createVNode("div", {
|
|
75
75
|
"class": ['v-expansion-panel__shadow', ...elevationClasses.value]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VExpansionPanel.mjs","names":["makeVExpansionPanelTitleProps","VExpansionPanelTitle","VExpansionPanelSymbol","VExpansionPanelText","makeComponentProps","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeLazyProps","makeRoundedProps","useRounded","makeTagProps","useBackgroundColor","computed","provide","genericComponent","
|
|
1
|
+
{"version":3,"file":"VExpansionPanel.mjs","names":["makeVExpansionPanelTitleProps","VExpansionPanelTitle","VExpansionPanelSymbol","VExpansionPanelText","makeComponentProps","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeLazyProps","makeRoundedProps","useRounded","makeTagProps","useBackgroundColor","computed","provide","genericComponent","propsFactory","useRender","makeVExpansionPanelProps","title","String","text","bgColor","VExpansionPanel","name","props","emits","val","setup","_ref","slots","groupItem","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","isDisabled","disabled","value","selectedIndices","group","items","reduce","arr","item","index","selected","includes","id","push","isBeforeSelected","findIndex","isSelected","some","selectedIndex","isAfterSelected","hasText","hasTitle","_createVNode","tag","class","style","default","collapseIcon","color","expandIcon","hideActions","ripple","eager"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.tsx"],"sourcesContent":["// Components\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VExpansionPanelText } from './VExpansionPanelText'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeLazyProps } from '@/composables/lazy'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelProps = propsFactory({\n title: String,\n text: String,\n bgColor: String,\n\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLazyProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n}, 'v-expansion-panel')\n\nexport type VExpansionPanelSlots = {\n default: []\n title: []\n text: []\n}\n\nexport const VExpansionPanel = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanel',\n\n props: makeVExpansionPanelProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const isDisabled = computed(() => groupItem?.disabled.value || props.disabled)\n\n const selectedIndices = computed(() => groupItem.group.items.value.reduce<number[]>((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index)\n return arr\n }, []))\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === -1)\n })\n\n provide(VExpansionPanelSymbol, groupItem)\n\n useRender(() => {\n const hasText = !!(slots.text || props.text)\n const hasTitle = !!(slots.title || props.title)\n\n return (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': isDisabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n { hasTitle && (\n <VExpansionPanelTitle\n key=\"title\"\n collapseIcon={ props.collapseIcon }\n color={ props.color }\n expandIcon={ props.expandIcon }\n hideActions={ props.hideActions }\n ripple={ props.ripple }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n )}\n\n { hasText && (\n <VExpansionPanelText key=\"text\" eager={ props.eager }>\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n )}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n"],"mappings":"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"}
|
|
@@ -5,13 +5,14 @@ import { VExpansionPanelSymbol } from "./VExpansionPanels.mjs"; // Composables
|
|
|
5
5
|
import { makeComponentProps } from "../../composables/component.mjs";
|
|
6
6
|
import { makeLazyProps, useLazy } from "../../composables/lazy.mjs"; // Utilities
|
|
7
7
|
import { inject } from 'vue';
|
|
8
|
-
import { genericComponent, useRender } from "../../util/index.mjs";
|
|
8
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
|
|
9
|
+
export const makeVExpansionPanelTextProps = propsFactory({
|
|
10
|
+
...makeComponentProps(),
|
|
11
|
+
...makeLazyProps()
|
|
12
|
+
}, 'v-expansion-panel-text');
|
|
9
13
|
export const VExpansionPanelText = genericComponent()({
|
|
10
14
|
name: 'VExpansionPanelText',
|
|
11
|
-
props:
|
|
12
|
-
...makeComponentProps(),
|
|
13
|
-
...makeLazyProps()
|
|
14
|
-
},
|
|
15
|
+
props: makeVExpansionPanelTextProps(),
|
|
15
16
|
setup(props, _ref) {
|
|
16
17
|
let {
|
|
17
18
|
slots
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VExpansionPanelText.mjs","names":["VExpandTransition","VExpansionPanelSymbol","makeComponentProps","makeLazyProps","useLazy","inject","genericComponent","useRender","VExpansionPanelText","name","props","setup","_ref","slots","expansionPanel","Error","hasContent","onAfterLeave","isSelected","_createVNode","default","_withDirectives","class","style","value","_vShow"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelText.tsx"],"sourcesContent":["// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { inject } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\nexport const VExpansionPanelText = genericComponent()({\n name: 'VExpansionPanelText',\n\n props:
|
|
1
|
+
{"version":3,"file":"VExpansionPanelText.mjs","names":["VExpandTransition","VExpansionPanelSymbol","makeComponentProps","makeLazyProps","useLazy","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTextProps","VExpansionPanelText","name","props","setup","_ref","slots","expansionPanel","Error","hasContent","onAfterLeave","isSelected","_createVNode","default","_withDirectives","class","style","value","_vShow"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelText.tsx"],"sourcesContent":["// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelTextProps = propsFactory({\n ...makeComponentProps(),\n ...makeLazyProps(),\n}, 'v-expansion-panel-text')\n\nexport const VExpansionPanelText = genericComponent()({\n name: 'VExpansionPanelText',\n\n props: makeVExpansionPanelTextProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel')\n\n const { hasContent, onAfterLeave } = useLazy(props, expansionPanel.isSelected)\n\n useRender(() => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n class={[\n 'v-expansion-panel-text',\n props.class,\n ]}\n style={ props.style }\n v-show={ expansionPanel.isSelected.value }\n >\n { slots.default && hasContent.value && (\n <div class=\"v-expansion-panel-text__wrapper\">\n { slots.default?.() }\n </div>\n )}\n </div>\n </VExpandTransition>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelText = InstanceType<typeof VExpansionPanelText>\n"],"mappings":";AAAA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,qBAAqB,kCAE9B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,aAAa,EAAEC,OAAO,sCAE/B;AACA,SAASC,MAAM,QAAQ,KAAK;AAAA,SACnBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,4BAA4B,GAAGF,YAAY,CAAC;EACvD,GAAGL,kBAAkB,EAAE;EACvB,GAAGC,aAAa;AAClB,CAAC,EAAE,wBAAwB,CAAC;AAE5B,OAAO,MAAMO,mBAAmB,GAAGJ,gBAAgB,EAAE,CAAC;EACpDK,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAEH,4BAA4B,EAAE;EAErCI,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,cAAc,GAAGX,MAAM,CAACJ,qBAAqB,CAAC;IAEpD,IAAI,CAACe,cAAc,EAAE,MAAM,IAAIC,KAAK,CAAC,8EAA8E,CAAC;IAEpH,MAAM;MAAEC,UAAU;MAAEC;IAAa,CAAC,GAAGf,OAAO,CAACQ,KAAK,EAAEI,cAAc,CAACI,UAAU,CAAC;IAE9EZ,SAAS,CAAC,MAAAa,YAAA,CAAArB,iBAAA;MAAA,gBAC0BmB;IAAY;MAAAG,OAAA,EAAAA,CAAA,MAAAC,eAAA,CAAAF,YAAA;QAAA,SAEnC,CACL,wBAAwB,EACxBT,KAAK,CAACY,KAAK,CACZ;QAAA,SACOZ,KAAK,CAACa;MAAK,IAGjBV,KAAK,CAACO,OAAO,IAAIJ,UAAU,CAACQ,KAAK,IAAAL,YAAA;QAAA,SACtB;MAAiC,IACxCN,KAAK,CAACO,OAAO,IAAI,EAEtB,MAAAK,MAAA,EANQX,cAAc,CAACI,UAAU,CAACM,KAAK;IAAA,EAS7C,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -23,17 +23,15 @@ export const makeVExpansionPanelTitleProps = propsFactory({
|
|
|
23
23
|
type: [Boolean, Object],
|
|
24
24
|
default: false
|
|
25
25
|
},
|
|
26
|
-
readonly: Boolean
|
|
26
|
+
readonly: Boolean,
|
|
27
|
+
...makeComponentProps()
|
|
27
28
|
}, 'v-expansion-panel-title');
|
|
28
29
|
export const VExpansionPanelTitle = genericComponent()({
|
|
29
30
|
name: 'VExpansionPanelTitle',
|
|
30
31
|
directives: {
|
|
31
32
|
Ripple
|
|
32
33
|
},
|
|
33
|
-
props:
|
|
34
|
-
...makeComponentProps(),
|
|
35
|
-
...makeVExpansionPanelTitleProps()
|
|
36
|
-
},
|
|
34
|
+
props: makeVExpansionPanelTitleProps(),
|
|
37
35
|
setup(props, _ref) {
|
|
38
36
|
let {
|
|
39
37
|
slots
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","Ripple","makeComponentProps","IconValue","useBackgroundColor","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VIcon } from '@/components/VIcon'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: [ExpansionPanelTitleSlot]\n actions: [ExpansionPanelTitleSlot]\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n readonly: Boolean,\n}, 'v-expansion-panel-title')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props:
|
|
1
|
+
{"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","Ripple","makeComponentProps","IconValue","useBackgroundColor","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VIcon } from '@/components/VIcon'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: [ExpansionPanelTitleSlot]\n actions: [ExpansionPanelTitleSlot]\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n}, 'v-expansion-panel-title')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <span class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </span>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":"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"}
|
|
@@ -9,24 +9,25 @@ import { makeTagProps } from "../../composables/tag.mjs";
|
|
|
9
9
|
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
|
10
10
|
import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities
|
|
11
11
|
import { computed, toRef } from 'vue';
|
|
12
|
-
import { genericComponent, useRender } from "../../util/index.mjs"; // Types
|
|
12
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
13
13
|
export const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');
|
|
14
14
|
const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
|
|
15
|
+
export const makeVExpansionPanelsProps = propsFactory({
|
|
16
|
+
color: String,
|
|
17
|
+
variant: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: 'default',
|
|
20
|
+
validator: v => allowedVariants.includes(v)
|
|
21
|
+
},
|
|
22
|
+
readonly: Boolean,
|
|
23
|
+
...makeComponentProps(),
|
|
24
|
+
...makeGroupProps(),
|
|
25
|
+
...makeTagProps(),
|
|
26
|
+
...makeThemeProps()
|
|
27
|
+
}, 'v-expansion-panel');
|
|
15
28
|
export const VExpansionPanels = genericComponent()({
|
|
16
29
|
name: 'VExpansionPanels',
|
|
17
|
-
props:
|
|
18
|
-
color: String,
|
|
19
|
-
variant: {
|
|
20
|
-
type: String,
|
|
21
|
-
default: 'default',
|
|
22
|
-
validator: v => allowedVariants.includes(v)
|
|
23
|
-
},
|
|
24
|
-
readonly: Boolean,
|
|
25
|
-
...makeComponentProps(),
|
|
26
|
-
...makeGroupProps(),
|
|
27
|
-
...makeTagProps(),
|
|
28
|
-
...makeThemeProps()
|
|
29
|
-
},
|
|
30
|
+
props: makeVExpansionPanelsProps(),
|
|
30
31
|
emits: {
|
|
31
32
|
'update:modelValue': val => true
|
|
32
33
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VExpansionPanels.mjs","names":["makeComponentProps","makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","provideDefaults","computed","toRef","genericComponent","useRender","VExpansionPanelSymbol","Symbol","for","allowedVariants","
|
|
1
|
+
{"version":3,"file":"VExpansionPanels.mjs","names":["makeComponentProps","makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","provideDefaults","computed","toRef","genericComponent","propsFactory","useRender","VExpansionPanelSymbol","Symbol","for","allowedVariants","makeVExpansionPanelsProps","color","String","variant","type","default","validator","v","includes","readonly","Boolean","VExpansionPanels","name","props","emits","val","setup","_ref","slots","themeClasses","variantClass","VExpansionPanel","VExpansionPanelTitle","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanels.tsx"],"sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VExpansionPanelSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-expansion-panel')\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\n\ntype Variant = typeof allowedVariants[number]\n\nexport const makeVExpansionPanelsProps = propsFactory({\n color: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n ...makeGroupProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'v-expansion-panel')\n\nexport const VExpansionPanels = genericComponent()({\n name: 'VExpansionPanels',\n\n props: makeVExpansionPanelsProps(),\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n useGroup(props, VExpansionPanelSymbol)\n\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n provideDefaults({\n VExpansionPanel: {\n color: toRef(props, 'color'),\n },\n VExpansionPanelTitle: {\n readonly: toRef(props, 'readonly'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n themeClasses.value,\n variantClass.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,eAAe,0CAExB;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAIA,OAAO,MAAMC,qBAAqD,GAAGC,MAAM,CAACC,GAAG,CAAC,2BAA2B,CAAC;AAE5G,MAAMC,eAAe,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAU;AAI5E,OAAO,MAAMC,yBAAyB,GAAGN,YAAY,CAAC;EACpDO,KAAK,EAAEC,MAAM;EACbC,OAAO,EAAE;IACPC,IAAI,EAAEF,MAA2B;IACjCG,OAAO,EAAE,SAAS;IAClBC,SAAS,EAAGC,CAAM,IAAKR,eAAe,CAACS,QAAQ,CAACD,CAAC;EACnD,CAAC;EACDE,QAAQ,EAAEC,OAAO;EAEjB,GAAG1B,kBAAkB,EAAE;EACvB,GAAGC,cAAc,EAAE;EACnB,GAAGE,YAAY,EAAE;EACjB,GAAGC,cAAc;AACnB,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMuB,gBAAgB,GAAGlB,gBAAgB,EAAE,CAAC;EACjDmB,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEb,yBAAyB,EAAE;EAElCc,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAY,IAAK;EACzC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB/B,QAAQ,CAAC2B,KAAK,EAAEjB,qBAAqB,CAAC;IAEtC,MAAM;MAAEuB;IAAa,CAAC,GAAG9B,YAAY,CAACwB,KAAK,CAAC;IAE5C,MAAMO,YAAY,GAAG7B,QAAQ,CAAC,MAAMsB,KAAK,CAACV,OAAO,IAAK,+BAA8BU,KAAK,CAACV,OAAQ,EAAC,CAAC;IAEpGb,eAAe,CAAC;MACd+B,eAAe,EAAE;QACfpB,KAAK,EAAET,KAAK,CAACqB,KAAK,EAAE,OAAO;MAC7B,CAAC;MACDS,oBAAoB,EAAE;QACpBb,QAAQ,EAAEjB,KAAK,CAACqB,KAAK,EAAE,UAAU;MACnC;IACF,CAAC,CAAC;IAEFlB,SAAS,CAAC,MAAA4B,YAAA,CAAAV,KAAA,CAAAW,GAAA;MAAA,SAEC,CACL,oBAAoB,EACpBL,YAAY,CAACM,KAAK,EAClBL,YAAY,CAACK,KAAK,EAClBZ,KAAK,CAACa,KAAK,CACZ;MAAA,SACOb,KAAK,CAACc;IAAK,GACTT,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -481,6 +481,11 @@ declare const VExpansionPanel: {
|
|
|
481
481
|
expandIcon: IconValue;
|
|
482
482
|
hideActions: boolean;
|
|
483
483
|
}, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
|
484
|
+
class: vue.PropType<any>;
|
|
485
|
+
style: {
|
|
486
|
+
type: vue.PropType<vue.StyleValue>;
|
|
487
|
+
default: null;
|
|
488
|
+
};
|
|
484
489
|
color: StringConstructor;
|
|
485
490
|
expandIcon: {
|
|
486
491
|
type: vue.PropType<IconValue>;
|
|
@@ -512,15 +517,15 @@ declare const VExpansionPanel: {
|
|
|
512
517
|
type: (StringConstructor | NumberConstructor)[];
|
|
513
518
|
validator(v: any): boolean;
|
|
514
519
|
};
|
|
520
|
+
title: StringConstructor;
|
|
521
|
+
text: StringConstructor;
|
|
522
|
+
bgColor: StringConstructor;
|
|
523
|
+
}, vue.ExtractPropTypes<{
|
|
515
524
|
class: vue.PropType<any>;
|
|
516
525
|
style: {
|
|
517
526
|
type: vue.PropType<vue.StyleValue>;
|
|
518
527
|
default: null;
|
|
519
528
|
};
|
|
520
|
-
title: StringConstructor;
|
|
521
|
-
text: StringConstructor;
|
|
522
|
-
bgColor: StringConstructor;
|
|
523
|
-
}, vue.ExtractPropTypes<{
|
|
524
529
|
color: StringConstructor;
|
|
525
530
|
expandIcon: {
|
|
526
531
|
type: vue.PropType<IconValue>;
|
|
@@ -552,11 +557,6 @@ declare const VExpansionPanel: {
|
|
|
552
557
|
type: (StringConstructor | NumberConstructor)[];
|
|
553
558
|
validator(v: any): boolean;
|
|
554
559
|
};
|
|
555
|
-
class: vue.PropType<any>;
|
|
556
|
-
style: {
|
|
557
|
-
type: vue.PropType<vue.StyleValue>;
|
|
558
|
-
default: null;
|
|
559
|
-
};
|
|
560
560
|
title: StringConstructor;
|
|
561
561
|
text: StringConstructor;
|
|
562
562
|
bgColor: StringConstructor;
|
|
@@ -846,6 +846,11 @@ declare const VExpansionPanelTitle: {
|
|
|
846
846
|
expandIcon: IconValue;
|
|
847
847
|
hideActions: boolean;
|
|
848
848
|
}, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
|
849
|
+
class: vue.PropType<any>;
|
|
850
|
+
style: {
|
|
851
|
+
type: vue.PropType<vue.StyleValue>;
|
|
852
|
+
default: null;
|
|
853
|
+
};
|
|
849
854
|
color: StringConstructor;
|
|
850
855
|
expandIcon: {
|
|
851
856
|
type: vue.PropType<IconValue>;
|
|
@@ -861,12 +866,12 @@ declare const VExpansionPanelTitle: {
|
|
|
861
866
|
default: boolean;
|
|
862
867
|
};
|
|
863
868
|
readonly: BooleanConstructor;
|
|
869
|
+
}, vue.ExtractPropTypes<{
|
|
864
870
|
class: vue.PropType<any>;
|
|
865
871
|
style: {
|
|
866
872
|
type: vue.PropType<vue.StyleValue>;
|
|
867
873
|
default: null;
|
|
868
874
|
};
|
|
869
|
-
}, vue.ExtractPropTypes<{
|
|
870
875
|
color: StringConstructor;
|
|
871
876
|
expandIcon: {
|
|
872
877
|
type: vue.PropType<IconValue>;
|
|
@@ -882,11 +887,6 @@ declare const VExpansionPanelTitle: {
|
|
|
882
887
|
default: boolean;
|
|
883
888
|
};
|
|
884
889
|
readonly: BooleanConstructor;
|
|
885
|
-
class: vue.PropType<any>;
|
|
886
|
-
style: {
|
|
887
|
-
type: vue.PropType<vue.StyleValue>;
|
|
888
|
-
default: null;
|
|
889
|
-
};
|
|
890
890
|
}>>;
|
|
891
891
|
type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>;
|
|
892
892
|
|
|
@@ -12,7 +12,8 @@ import { makeComponentProps } from "../../composables/component.mjs";
|
|
|
12
12
|
import { makeFocusProps, useFocus } from "../../composables/focus.mjs";
|
|
13
13
|
import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
|
|
14
14
|
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
|
15
|
-
import { useBackgroundColor, useTextColor } from "../../composables/color.mjs";
|
|
15
|
+
import { useBackgroundColor, useTextColor } from "../../composables/color.mjs";
|
|
16
|
+
import { useRtl } from "../../composables/locale.mjs"; // Utilities
|
|
16
17
|
import { computed, ref, toRef, watch } from 'vue';
|
|
17
18
|
import { animate, convertToUnit, EventProp, genericComponent, getUid, isOn, nullifyTransforms, pick, propsFactory, standardEasing, useRender } from "../../util/index.mjs"; // Types
|
|
18
19
|
const allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'];
|
|
@@ -85,6 +86,9 @@ export const VField = genericComponent()({
|
|
|
85
86
|
const {
|
|
86
87
|
roundedClasses
|
|
87
88
|
} = useRounded(props);
|
|
89
|
+
const {
|
|
90
|
+
rtlClasses
|
|
91
|
+
} = useRtl();
|
|
88
92
|
const isActive = computed(() => props.dirty || props.active);
|
|
89
93
|
const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label));
|
|
90
94
|
const uid = getUid();
|
|
@@ -178,7 +182,7 @@ export const VField = genericComponent()({
|
|
|
178
182
|
'v-field--single-line': props.singleLine,
|
|
179
183
|
'v-field--no-label': !label,
|
|
180
184
|
[`v-field--variant-${props.variant}`]: true
|
|
181
|
-
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, props.class],
|
|
185
|
+
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],
|
|
182
186
|
"style": [backgroundColorStyles.value, textColorStyles.value, props.style],
|
|
183
187
|
"onClick": onClick
|
|
184
188
|
}, attrs), [_createVNode("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VField.mjs","names":["VExpandXTransition","useInputIcon","VFieldLabel","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeComponentProps","makeFocusProps","useFocus","makeRoundedProps","useRounded","makeThemeProps","provideTheme","useBackgroundColor","useTextColor","computed","ref","toRef","watch","animate","convertToUnit","EventProp","genericComponent","getUid","isOn","nullifyTransforms","pick","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","color","baseColor","dirty","disabled","error","flat","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","val","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","roundedClasses","isActive","hasLabel","uid","messagesId","value","labelRef","floatingLabelRef","controlRef","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","undefined","el","$el","targetEl","requestAnimationFrame","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","e","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","_createVNode","_mergeProps","class","loading","loader","_withDirectives","stopPropagation","_vShow","_Fragment","filterFieldProps","keys","Object","filter","k"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n getUid,\n isOn,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\nimport type { PropType, Ref } from 'vue'\nimport type { VInputSlot } from '@/components/VInput/VInput'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: Boolean,\n error: Boolean,\n flat: Boolean,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp<[MouseEvent]>(),\n 'onClick:appendInner': EventProp<[MouseEvent]>(),\n 'onClick:prependInner': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'v-field')\n\nexport type VFieldSlots = {\n clear: []\n 'prepend-inner': [DefaultInputSlot & VInputSlot]\n 'append-inner': [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n}\n\nexport const VField = genericComponent<new <T>(props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n}) => GenericProps<typeof props, VFieldSlots>>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n const { roundedClasses } = useRounded(props)\n\n const isActive = computed(() => props.dirty || props.active)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--flat': props.flat,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n props.style,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ !!props.loading }\n color={ props.error ? 'error' : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon key=\"prepend-icon\" name=\"prependInner\" />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n >\n { label }\n </VFieldLabel>\n )}\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot)}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { slots.clear\n ? slots.clear()\n : <InputIcon name=\"clear\" />\n }\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon key=\"append-icon\" name=\"appendInner\" />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n {['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n )}\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style')\n return pick(attrs, keys)\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VField.mjs","names":["VExpandXTransition","useInputIcon","VFieldLabel","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeComponentProps","makeFocusProps","useFocus","makeRoundedProps","useRounded","makeThemeProps","provideTheme","useBackgroundColor","useTextColor","useRtl","computed","ref","toRef","watch","animate","convertToUnit","EventProp","genericComponent","getUid","isOn","nullifyTransforms","pick","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","color","baseColor","dirty","disabled","error","flat","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","val","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","roundedClasses","rtlClasses","isActive","hasLabel","uid","messagesId","value","labelRef","floatingLabelRef","controlRef","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","undefined","el","$el","targetEl","requestAnimationFrame","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","e","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","_createVNode","_mergeProps","class","loading","loader","_withDirectives","stopPropagation","_vShow","_Fragment","filterFieldProps","keys","Object","filter","k"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n getUid,\n isOn,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\nimport type { PropType, Ref } from 'vue'\nimport type { VInputSlot } from '@/components/VInput/VInput'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: Boolean,\n error: Boolean,\n flat: Boolean,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp<[MouseEvent]>(),\n 'onClick:appendInner': EventProp<[MouseEvent]>(),\n 'onClick:prependInner': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'v-field')\n\nexport type VFieldSlots = {\n clear: []\n 'prepend-inner': [DefaultInputSlot & VInputSlot]\n 'append-inner': [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n}\n\nexport const VField = genericComponent<new <T>(props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n}) => GenericProps<typeof props, VFieldSlots>>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n const { roundedClasses } = useRounded(props)\n const { rtlClasses } = useRtl()\n\n const isActive = computed(() => props.dirty || props.active)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--flat': props.flat,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n roundedClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n props.style,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ !!props.loading }\n color={ props.error ? 'error' : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon key=\"prepend-icon\" name=\"prependInner\" />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n >\n { label }\n </VFieldLabel>\n )}\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot)}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { slots.clear\n ? slots.clear()\n : <InputIcon name=\"clear\" />\n }\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon key=\"append-icon\" name=\"appendInner\" />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n {['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n )}\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style')\n return pick(attrs, keys)\n}\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,YAAY;AAAA,SACZC,WAAW,6BAEpB;AAAA,SACSC,SAAS;AAAA,SACTC,UAAU,EAAEC,eAAe,EAAEC,SAAS;AAAA,SACtCC,kBAAkB;AAAA,SAClBC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,MAAM,wCAEf;AACA,SAASC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAE/CC,OAAO,EACPC,aAAa,EACbC,SAAS,EACTC,gBAAgB,EAChBC,MAAM,EACNC,IAAI,EACJC,iBAAiB,EACjBC,IAAI,EACJC,YAAY,EACZC,cAAc,EACdC,SAAS,gCAGX;AAMA,MAAMC,eAAe,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,CAAU;AAetH,OAAO,MAAMC,eAAe,GAAGJ,YAAY,CAAC;EAC1CK,eAAe,EAAE/B,SAAS;EAC1BgC,OAAO,EAAEC,MAAM;EACfC,SAAS,EAAEC,OAAO;EAClBC,SAAS,EAAE;IACTC,IAAI,EAAErC,SAAS;IACfsC,OAAO,EAAE;EACX,CAAC;EACDC,MAAM,EAAEJ,OAAO;EACfK,KAAK,EAAEP,MAAM;EACbQ,SAAS,EAAER,MAAM;EACjBS,KAAK,EAAEP,OAAO;EACdQ,QAAQ,EAAER,OAAO;EACjBS,KAAK,EAAET,OAAO;EACdU,IAAI,EAAEV,OAAO;EACbW,KAAK,EAAEb,MAAM;EACbc,eAAe,EAAEZ,OAAO;EACxBa,gBAAgB,EAAEhD,SAAS;EAC3BiD,OAAO,EAAEd,OAAO;EAChBe,UAAU,EAAEf,OAAO;EACnBgB,OAAO,EAAE;IACPd,IAAI,EAAEJ,MAA2B;IACjCK,OAAO,EAAE,QAAQ;IACjBc,SAAS,EAAGC,CAAM,IAAKxB,eAAe,CAACyB,QAAQ,CAACD,CAAC;EACnD,CAAC;EAED,eAAe,EAAEjC,SAAS,EAAgB;EAC1C,qBAAqB,EAAEA,SAAS,EAAgB;EAChD,sBAAsB,EAAEA,SAAS,EAAgB;EAEjD,GAAGhB,kBAAkB,EAAE;EACvB,GAAGF,eAAe,EAAE;EACpB,GAAGK,gBAAgB,EAAE;EACrB,GAAGE,cAAc;AACnB,CAAC,EAAE,SAAS,CAAC;AAWb,OAAO,MAAM8C,MAAM,GAAGlC,gBAAgB,EAGU,CAAC;EAC/CmC,IAAI,EAAE,QAAQ;EAEdC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAE;IACLC,EAAE,EAAE1B,MAAM;IAEV,GAAG5B,cAAc,EAAE;IACnB,GAAGyB,eAAe;EACpB,CAAC;EAED8B,KAAK,EAAE;IACL,gBAAgB,EAAGC,OAAgB,IAAK,IAAI;IAC5C,mBAAmB,EAAGC,GAAQ,IAAK;EACrC,CAAC;EAEDC,KAAKA,CAAEL,KAAK,EAAAM,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IAClC,MAAM;MAAEI;IAAa,CAAC,GAAG1D,YAAY,CAACgD,KAAK,CAAC;IAC5C,MAAM;MAAEW;IAAc,CAAC,GAAGlE,SAAS,CAACuD,KAAK,CAAC;IAC1C,MAAM;MAAEY,YAAY;MAAEC,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGnE,QAAQ,CAACoD,KAAK,CAAC;IAChE,MAAM;MAAEgB;IAAU,CAAC,GAAG5E,YAAY,CAAC4D,KAAK,CAAC;IACzC,MAAM;MAAEiB;IAAe,CAAC,GAAGnE,UAAU,CAACkD,KAAK,CAAC;IAC5C,MAAM;MAAEkB;IAAW,CAAC,GAAG/D,MAAM,EAAE;IAE/B,MAAMgE,QAAQ,GAAG/D,QAAQ,CAAC,MAAM4C,KAAK,CAAChB,KAAK,IAAIgB,KAAK,CAACnB,MAAM,CAAC;IAC5D,MAAMuC,QAAQ,GAAGhE,QAAQ,CAAC,MAAM,CAAC4C,KAAK,CAACR,UAAU,IAAI,CAAC,EAAEQ,KAAK,CAACZ,KAAK,IAAIqB,KAAK,CAACrB,KAAK,CAAC,CAAC;IAEpF,MAAMiC,GAAG,GAAGzD,MAAM,EAAE;IACpB,MAAMqC,EAAE,GAAG7C,QAAQ,CAAC,MAAM4C,KAAK,CAACC,EAAE,IAAK,SAAQoB,GAAI,EAAC,CAAC;IACrD,MAAMC,UAAU,GAAGlE,QAAQ,CAAC,MAAO,GAAE6C,EAAE,CAACsB,KAAM,WAAU,CAAC;IAEzD,MAAMC,QAAQ,GAAGnE,GAAG,EAAe;IACnC,MAAMoE,gBAAgB,GAAGpE,GAAG,EAAe;IAC3C,MAAMqE,UAAU,GAAGrE,GAAG,EAAe;IAErC,MAAM;MAAEsE,sBAAsB;MAAEC;IAAsB,CAAC,GAAG3E,kBAAkB,CAACK,KAAK,CAAC0C,KAAK,EAAE,SAAS,CAAC,CAAC;IACrG,MAAM;MAAE6B,gBAAgB;MAAEC;IAAgB,CAAC,GAAG5E,YAAY,CAACE,QAAQ,CAAC,MAAM;MACxE,OAAO4C,KAAK,CAACd,KAAK,IAAIc,KAAK,CAACf,QAAQ,GAAG8C,SAAS,GAC5CZ,QAAQ,CAACI,KAAK,IAAIV,SAAS,CAACU,KAAK,GAAGvB,KAAK,CAAClB,KAAK,GAC/CkB,KAAK,CAACjB,SAAS;IACrB,CAAC,CAAC,CAAC;IAEHxB,KAAK,CAAC4D,QAAQ,EAAEf,GAAG,IAAI;MACrB,IAAIgB,QAAQ,CAACG,KAAK,EAAE;QAClB,MAAMS,EAAe,GAAGR,QAAQ,CAACD,KAAK,CAAEU,GAAG;QAC3C,MAAMC,QAAqB,GAAGT,gBAAgB,CAACF,KAAK,CAAEU,GAAG;QAEzDE,qBAAqB,CAAC,MAAM;UAC1B,MAAMC,IAAI,GAAGtE,iBAAiB,CAACkE,EAAE,CAAC;UAClC,MAAMK,UAAU,GAAGH,QAAQ,CAACI,qBAAqB,EAAE;UAEnD,MAAMC,CAAC,GAAGF,UAAU,CAACE,CAAC,GAAGH,IAAI,CAACG,CAAC;UAC/B,MAAMC,CAAC,GAAGH,UAAU,CAACG,CAAC,GAAGJ,IAAI,CAACI,CAAC,IAAIJ,IAAI,CAACK,MAAM,GAAG,CAAC,GAAGJ,UAAU,CAACI,MAAM,GAAG,CAAC,CAAC;UAE3E,MAAMC,WAAW,GAAGL,UAAU,CAACM,KAAK,GAAG,IAAI;UAC3C,MAAMA,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACH,WAAW,GAAGN,IAAI,CAACO,KAAK,CAAC,GAAG,CAAC,GAChD;YAAEG,QAAQ,EAAErF,aAAa,CAACiF,WAAW;UAAE,CAAC,GACxCX,SAAS;UAEb,MAAMgB,KAAK,GAAGC,gBAAgB,CAAChB,EAAE,CAAC;UAClC,MAAMiB,WAAW,GAAGD,gBAAgB,CAACd,QAAQ,CAAC;UAC9C,MAAMgB,QAAQ,GAAGC,UAAU,CAACJ,KAAK,CAACK,kBAAkB,CAAC,GAAG,IAAI,IAAI,GAAG;UACnE,MAAMC,KAAK,GAAGF,UAAU,CAACF,WAAW,CAACK,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;UAC/E,MAAMxE,KAAK,GAAGmE,WAAW,CAACK,gBAAgB,CAAC,OAAO,CAAC;UAEnDtB,EAAE,CAACe,KAAK,CAACQ,UAAU,GAAG,SAAS;UAC/BrB,QAAQ,CAACa,KAAK,CAACQ,UAAU,GAAG,QAAQ;UAEpC/F,OAAO,CAACwE,EAAE,EAAE;YACVwB,SAAS,EAAG,aAAYjB,CAAE,OAAMC,CAAE,aAAYa,KAAM,GAAE;YACtDvE,KAAK;YACL,GAAG6D;UACL,CAAC,EAAE;YACDO,QAAQ;YACRO,MAAM,EAAExF,cAAc;YACtByF,SAAS,EAAEtD,GAAG,GAAG,QAAQ,GAAG;UAC9B,CAAC,CAAC,CAACuD,QAAQ,CAACC,IAAI,CAAC,MAAM;YACrB5B,EAAE,CAACe,KAAK,CAACc,cAAc,CAAC,YAAY,CAAC;YACrC3B,QAAQ,CAACa,KAAK,CAACc,cAAc,CAAC,YAAY,CAAC;UAC7C,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF,CAAC,EAAE;MAAEC,KAAK,EAAE;IAAO,CAAC,CAAC;IAErB,MAAMC,SAAS,GAAG3G,QAAQ,CAAmB,OAAO;MAClD+D,QAAQ;MACRN,SAAS;MACTa,UAAU;MACVX,IAAI;MACJD;IACF,CAAC,CAAC,CAAC;IAEH,SAASkD,OAAOA,CAAEC,CAAa,EAAE;MAC/B,IAAIA,CAAC,CAACC,MAAM,KAAKC,QAAQ,CAACC,aAAa,EAAE;QACvCH,CAAC,CAACI,cAAc,EAAE;MACpB;IACF;IAEAnG,SAAS,CAAC,MAAM;MACd,MAAMoG,UAAU,GAAGtE,KAAK,CAACP,OAAO,KAAK,UAAU;MAC/C,MAAM8E,UAAU,GAAI9D,KAAK,CAAC,eAAe,CAAC,IAAIT,KAAK,CAACV,gBAAiB;MACrE,MAAMkF,QAAQ,GAAG,CAAC,EAAExE,KAAK,CAACxB,SAAS,IAAIiC,KAAK,CAACgE,KAAK,CAAC;MACnD,MAAMC,SAAS,GAAG,CAAC,EAAEjE,KAAK,CAAC,cAAc,CAAC,IAAIT,KAAK,CAAC3B,eAAe,IAAImG,QAAQ,CAAC;MAChF,MAAMpF,KAAK,GAAGqB,KAAK,CAACrB,KAAK,GACrBqB,KAAK,CAACrB,KAAK,CAAC;QACZA,KAAK,EAAEY,KAAK,CAACZ,KAAK;QAClBY,KAAK,EAAE;UAAE2E,GAAG,EAAE1E,EAAE,CAACsB;QAAM;MACzB,CAAC,CAAC,GACAvB,KAAK,CAACZ,KAAK;MAEf,OAAAwF,YAAA,QAAAC,WAAA;QAAA,SAEW,CACL,SAAS,EACT;UACE,iBAAiB,EAAE1D,QAAQ,CAACI,KAAK;UACjC,mBAAmB,EAAEmD,SAAS;UAC9B,mBAAmB,EAAE1E,KAAK,CAACf,QAAQ;UACnC,gBAAgB,EAAEe,KAAK,CAAChB,KAAK;UAC7B,gBAAgB,EAAEgB,KAAK,CAACd,KAAK;UAC7B,eAAe,EAAEc,KAAK,CAACb,IAAI;UAC3B,yBAAyB,EAAE,CAAC,CAACa,KAAK,CAAC1B,OAAO;UAC1C,2BAA2B,EAAE0B,KAAK,CAACX,eAAe;UAClD,oBAAoB,EAAEkF,UAAU;UAChC,kBAAkB,EAAEvE,KAAK,CAACT,OAAO;UACjC,sBAAsB,EAAES,KAAK,CAACR,UAAU;UACxC,mBAAmB,EAAE,CAACJ,KAAK;UAC3B,CAAE,oBAAmBY,KAAK,CAACP,OAAQ,EAAC,GAAG;QACzC,CAAC,EACDiB,YAAY,CAACa,KAAK,EAClBI,sBAAsB,CAACJ,KAAK,EAC5BX,YAAY,CAACW,KAAK,EAClBZ,aAAa,CAACY,KAAK,EACnBN,cAAc,CAACM,KAAK,EACpBL,UAAU,CAACK,KAAK,EAChBvB,KAAK,CAAC8E,KAAK,CACZ;QAAA,SACM,CACLlD,qBAAqB,CAACL,KAAK,EAC3BO,eAAe,CAACP,KAAK,EACrBvB,KAAK,CAAC+C,KAAK,CACZ;QAAA,WACSiB;MAAO,GACZzD,KAAK,IAAAqE,YAAA;QAAA,SAEC;MAAkB,UAAAA,YAAA,CAAArI,UAAA;QAAA,QAGtB,SAAS;QAAA,UACL,CAAC,CAACyD,KAAK,CAAC+E,OAAO;QAAA,SAChB/E,KAAK,CAACd,KAAK,GAAG,OAAO,GAAGc,KAAK,CAAClB;MAAK,GAClC;QAAEF,OAAO,EAAE6B,KAAK,CAACuE;MAAO,CAAC,GAGlCT,UAAU,IAAAK,YAAA;QAAA,OACD,SAAS;QAAA,SAAO;MAAwB,IAC7C5E,KAAK,CAACV,gBAAgB,IAAAsF,YAAA,CAAA5D,SAAA;QAAA,OACP,cAAc;QAAA,QAAM;MAAc,QAClD,EAECP,KAAK,CAAC,eAAe,CAAC,GAAGsD,SAAS,CAACxC,KAAK,CAAC,EAE9C,EAAAqD,YAAA;QAAA,SAEU,gBAAgB;QAAA,qBAAmB;MAAE,IAC7C,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,CAAChF,QAAQ,CAACI,KAAK,CAACP,OAAO,CAAC,IAAI2B,QAAQ,CAACG,KAAK,IAAAqD,YAAA,CAAAvI,WAAA;QAAA,OAErF,gBAAgB;QAAA,OACdoF,gBAAgB;QAAA,SACf,CAACI,gBAAgB,CAACN,KAAK,CAAC;QAAA;QAAA,OAEzBtB,EAAE,CAACsB;MAAK;QAAA3C,OAAA,EAAAA,CAAA,MAEZQ,KAAK;MAAA,EAEV,EAAAwF,YAAA,CAAAvI,WAAA;QAAA,OAEkBmF,QAAQ;QAAA,OAASvB,EAAE,CAACsB;MAAK;QAAA3C,OAAA,EAAAA,CAAA,MACxCQ,KAAK;MAAA,IAGPqB,KAAK,CAAC7B,OAAO,GAAG;QAChB,GAAGmF,SAAS,CAACxC,KAAK;QAClBvB,KAAK,EAAE;UACLC,EAAE,EAAEA,EAAE,CAACsB,KAAK;UACZuD,KAAK,EAAE,gBAAgB;UACvB,kBAAkB,EAAExD,UAAU,CAACC;QACjC,CAAC;QACDT,KAAK;QACLC;MACF,CAAC,CAAe,IAGhByD,QAAQ,IAAAI,YAAA,CAAAzI,kBAAA;QAAA,OACgB;MAAO;QAAAyC,OAAA,EAAAA,CAAA,MAAAqG,eAAA,CAAAL,YAAA;UAAA,SAErB,oBAAoB;UAAA,eAEXX,CAAa,IAAK;YAC/BA,CAAC,CAACI,cAAc,EAAE;YAClBJ,CAAC,CAACiB,eAAe,EAAE;UACrB;QAAC,IAECzE,KAAK,CAACgE,KAAK,GACThE,KAAK,CAACgE,KAAK,EAAE,GAAAG,YAAA,CAAA5D,SAAA;UAAA,QACG;QAAO,QAAG,MAAAmE,MAAA,EARrBnF,KAAK,CAAChB,KAAK;MAAA,EAYzB,EAEC0F,SAAS,IAAAE,YAAA;QAAA,OACA,QAAQ;QAAA,SAAO;MAAuB,IAC3CnE,KAAK,CAAC,cAAc,CAAC,GAAGsD,SAAS,CAACxC,KAAK,CAAC,EAExCvB,KAAK,CAAC3B,eAAe,IAAAuG,YAAA,CAAA5D,SAAA;QAAA,OACN,aAAa;QAAA,QAAM;MAAa,QAChD,EAEJ,EAAA4D,YAAA;QAAA,SAGQ,CACL,kBAAkB,EAClB/C,gBAAgB,CAACN,KAAK;MACvB,IAEC+C,UAAU,IAAAM,YAAA,CAAAQ,SAAA,SAAAR,YAAA;QAAA,SAEG;MAAyB,UAElCxD,QAAQ,CAACG,KAAK,IAAAqD,YAAA;QAAA,SACH;MAAyB,IAAAA,YAAA,CAAAvI,WAAA;QAAA,OACfoF,gBAAgB;QAAA;QAAA,OAAkBxB,EAAE,CAACsB;MAAK;QAAA3C,OAAA,EAAAA,CAAA,MACzDQ,KAAK;MAAA,IAGZ,EAAAwF,YAAA;QAAA,SAEU;MAAuB,UAErC,EAEA,CAAC,OAAO,EAAE,YAAY,CAAC,CAAChF,QAAQ,CAACI,KAAK,CAACP,OAAO,CAAC,IAAI2B,QAAQ,CAACG,KAAK,IAAAqD,YAAA,CAAAvI,WAAA;QAAA,OAC7CoF,gBAAgB;QAAA;QAAA,OAAkBxB,EAAE,CAACsB;MAAK;QAAA3C,OAAA,EAAAA,CAAA,MACzDQ,KAAK;MAAA,EAEV;IAIT,CAAC,CAAC;IAEF,OAAO;MACLsC;IACF,CAAC;EACH;AACF,CAAC,CAAC;AAIF;AACA,OAAO,SAAS2D,gBAAgBA,CAAE9E,KAA8B,EAAE;EAChE,MAAM+E,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACzF,MAAM,CAACG,KAAK,CAAC,CAACwF,MAAM,CAACC,CAAC,IAAI,CAAC5H,IAAI,CAAC4H,CAAC,CAAC,IAAIA,CAAC,KAAK,OAAO,IAAIA,CAAC,KAAK,OAAO,CAAC;EAC9F,OAAO1H,IAAI,CAACwC,KAAK,EAAE+E,IAAI,CAAC;AAC1B"}
|
|
@@ -2,13 +2,14 @@ import { createVNode as _createVNode, resolveDirective as _resolveDirective } fr
|
|
|
2
2
|
// Components
|
|
3
3
|
import { VLabel } from "../VLabel/index.mjs"; // Composables
|
|
4
4
|
import { makeComponentProps } from "../../composables/component.mjs"; // Utilities
|
|
5
|
-
import { genericComponent, useRender } from "../../util/index.mjs";
|
|
5
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
|
|
6
|
+
export const makeVFieldLabelProps = propsFactory({
|
|
7
|
+
floating: Boolean,
|
|
8
|
+
...makeComponentProps()
|
|
9
|
+
}, 'v-field-label');
|
|
6
10
|
export const VFieldLabel = genericComponent()({
|
|
7
11
|
name: 'VFieldLabel',
|
|
8
|
-
props:
|
|
9
|
-
floating: Boolean,
|
|
10
|
-
...makeComponentProps()
|
|
11
|
-
},
|
|
12
|
+
props: makeVFieldLabelProps(),
|
|
12
13
|
setup(props, _ref) {
|
|
13
14
|
let {
|
|
14
15
|
slots
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VFieldLabel.mjs","names":["VLabel","makeComponentProps","genericComponent","useRender","
|
|
1
|
+
{"version":3,"file":"VFieldLabel.mjs","names":["VLabel","makeComponentProps","genericComponent","propsFactory","useRender","makeVFieldLabelProps","floating","Boolean","VFieldLabel","name","props","setup","_ref","slots","_createVNode","class","style","undefined"],"sources":["../../../src/components/VField/VFieldLabel.tsx"],"sourcesContent":["// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFieldLabelProps = propsFactory({\n floating: Boolean,\n\n ...makeComponentProps(),\n}, 'v-field-label')\n\nexport const VFieldLabel = genericComponent()({\n name: 'VFieldLabel',\n\n props: makeVFieldLabelProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n props.class,\n ]}\n style={ props.style }\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n"],"mappings":";AAAA;AAAA,SACSA,MAAM,+BAEf;AAAA,SACSC,kBAAkB,2CAE3B;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,oBAAoB,GAAGF,YAAY,CAAC;EAC/CG,QAAQ,EAAEC,OAAO;EAEjB,GAAGN,kBAAkB;AACvB,CAAC,EAAE,eAAe,CAAC;AAEnB,OAAO,MAAMO,WAAW,GAAGN,gBAAgB,EAAE,CAAC;EAC5CO,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEL,oBAAoB,EAAE;EAE7BM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBR,SAAS,CAAC,MAAAU,YAAA,CAAAd,MAAA;MAAA,SAEC,CACL,eAAe,EACf;QAAE,yBAAyB,EAAEU,KAAK,CAACJ;MAAS,CAAC,EAC7CI,KAAK,CAACK,KAAK,CACZ;MAAA,SACOL,KAAK,CAACM,KAAK;MAAA,eACLN,KAAK,CAACJ,QAAQ,IAAIW;IAAS,GAC/BJ,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|