vuetify 3.8.1 → 3.8.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 +2066 -2066
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +164 -164
- package/dist/json/web-types.json +4116 -3862
- package/dist/vuetify-labs.cjs +784 -697
- package/dist/vuetify-labs.css +3174 -3162
- package/dist/vuetify-labs.d.ts +2103 -1144
- package/dist/vuetify-labs.esm.js +785 -698
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +784 -697
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +565 -590
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2963 -2960
- package/dist/vuetify.d.ts +190 -169
- package/dist/vuetify.esm.js +566 -591
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +565 -590
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1264 -1235
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/md3.js +18 -5
- package/lib/blueprints/md3.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +8 -9
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.js +4 -4
- package/lib/components/VAppBar/VAppBar.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -2
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +2 -3
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +3 -3
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -8
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js +6 -6
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +1 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +3 -3
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.js +4 -4
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VCard/VCard.js +7 -8
- package/lib/components/VCard/VCard.js.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.js +2 -3
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.js +3 -3
- package/lib/components/VCheckbox/VCheckboxBtn.js.map +1 -1
- package/lib/components/VChip/VChip.js +8 -9
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.js +5 -5
- package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
- package/lib/components/VCode/VCode.css +3 -0
- package/lib/components/VCode/VCode.sass +3 -0
- package/lib/components/VCombobox/VCombobox.js +3 -4
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VCounter/VCounter.js +2 -2
- package/lib/components/VCounter/VCounter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +2 -2
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.css +1 -1
- package/lib/components/VDataTable/VDataTable.js +7 -7
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.sass +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.js +7 -7
- package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.js +7 -7
- package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
- package/lib/components/VDataTable/composables/expand.d.ts +1 -1
- package/lib/components/VDataTable/composables/expand.js +1 -1
- package/lib/components/VDataTable/composables/expand.js.map +1 -1
- package/lib/components/VDataTable/composables/options.js +8 -8
- package/lib/components/VDataTable/composables/options.js.map +1 -1
- package/lib/components/VDataTable/composables/select.d.ts +2 -2
- package/lib/components/VDataTable/composables/select.js +2 -2
- package/lib/components/VDataTable/composables/select.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.d.ts +2 -2
- package/lib/components/VDataTable/composables/sort.js +2 -2
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.d.ts +7 -7
- package/lib/components/VDatePicker/VDatePicker.js +4 -4
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +7 -7
- package/lib/components/VDatePicker/VDatePickerMonth.js +2 -2
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDialog/VDialog.d.ts +9 -9
- package/lib/components/VDivider/VDivider.js +2 -2
- package/lib/components/VDivider/VDivider.js.map +1 -1
- package/lib/components/VEmptyState/VEmptyState.js +1 -2
- package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.js +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.js +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.js +14 -14
- package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
- package/lib/components/VFab/VFab.js +2 -2
- package/lib/components/VFab/VFab.js.map +1 -1
- package/lib/components/VField/VField.js +5 -5
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +2 -2
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VFooter/VFooter.js +4 -4
- package/lib/components/VFooter/VFooter.js.map +1 -1
- package/lib/components/VForm/VForm.d.ts +40 -40
- package/lib/components/VIcon/VIcon.js +4 -4
- package/lib/components/VIcon/VIcon.js.map +1 -1
- package/lib/components/VImg/VImg.js +2 -2
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInput/VInput.js +3 -3
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VLayout/VLayoutItem.js +5 -5
- package/lib/components/VLayout/VLayoutItem.js.map +1 -1
- package/lib/components/VList/VList.js +14 -14
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.js +2 -2
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.d.ts +3 -3
- package/lib/components/VList/VListItem.js +6 -6
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/VListSubheader.js +1 -2
- package/lib/components/VList/VListSubheader.js.map +1 -1
- package/lib/components/VMenu/VMenu.d.ts +15 -15
- package/lib/components/VMenu/VMenu.js +2 -2
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +1 -1
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +6 -6
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +11 -11
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +7 -7
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.d.ts +3 -3
- package/lib/components/VOverlay/VOverlay.js +4 -4
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VOverlay/locationStrategies.d.ts +4 -0
- package/lib/components/VOverlay/locationStrategies.js +33 -4
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +7 -7
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +9 -9
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +4 -4
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +3 -2
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.d.ts +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.js +7 -7
- package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js +15 -15
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js.map +1 -1
- package/lib/components/VSheet/VSheet.js +1 -2
- package/lib/components/VSheet/VSheet.js.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js +2 -2
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/lib/components/VSlider/slider.js +10 -10
- package/lib/components/VSlider/slider.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.d.ts +9 -9
- package/lib/components/VSparkline/VSparkline.js +2 -2
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.js +3 -3
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.js +2 -2
- package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
- package/lib/components/VTabs/VTab.d.ts +3 -3
- package/lib/components/VTabs/VTab.js +1 -1
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +7 -7
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTimeline/VTimeline.js +9 -9
- package/lib/components/VTimeline/VTimeline.js.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.js +2 -3
- package/lib/components/VTimeline/VTimelineDivider.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +2 -2
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.js +2 -2
- package/lib/components/VToolbar/VToolbarItems.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.d.ts +9 -9
- package/lib/components/VTooltip/VTooltip.js +3 -3
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +3 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/transitions/dialog-transition.js +11 -2
- package/lib/components/transitions/dialog-transition.js.map +1 -1
- package/lib/composables/border.d.ts +1 -1
- package/lib/composables/border.js +5 -8
- package/lib/composables/border.js.map +1 -1
- package/lib/composables/calendar.d.ts +23 -56
- package/lib/composables/calendar.js +16 -18
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/color.d.ts +8 -10
- package/lib/composables/color.js +21 -22
- package/lib/composables/color.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +1 -0
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.d.ts +1 -0
- package/lib/composables/date/adapters/vuetify.js +101 -160
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/date/date.d.ts +1 -1
- package/lib/composables/date/date.js +0 -20
- package/lib/composables/date/date.js.map +1 -1
- package/lib/composables/defaults.js +6 -3
- package/lib/composables/defaults.js.map +1 -1
- package/lib/composables/density.d.ts +1 -1
- package/lib/composables/density.js +2 -2
- package/lib/composables/density.js.map +1 -1
- package/lib/composables/display.d.ts +4 -2
- package/lib/composables/display.js +2 -2
- package/lib/composables/display.js.map +1 -1
- package/lib/composables/elevation.js +4 -6
- package/lib/composables/elevation.js.map +1 -1
- package/lib/composables/filter.js +2 -1
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/focus.d.ts +4 -2
- package/lib/composables/focus.js +2 -2
- package/lib/composables/focus.js.map +1 -1
- package/lib/composables/form.d.ts +7 -7
- package/lib/composables/form.js +3 -3
- package/lib/composables/form.js.map +1 -1
- package/lib/composables/goto.js +2 -2
- package/lib/composables/goto.js.map +1 -1
- package/lib/composables/group.d.ts +3 -3
- package/lib/composables/group.js +4 -4
- package/lib/composables/group.js.map +1 -1
- package/lib/composables/icons.d.ts +2 -2
- package/lib/composables/icons.js +2 -2
- package/lib/composables/icons.js.map +1 -1
- package/lib/composables/layout.d.ts +10 -4
- package/lib/composables/layout.js +4 -4
- package/lib/composables/layout.js.map +1 -1
- package/lib/composables/lazy.d.ts +1 -1
- package/lib/composables/lazy.js +2 -2
- package/lib/composables/lazy.js.map +1 -1
- package/lib/composables/loader.d.ts +4 -2
- package/lib/composables/loader.js +2 -2
- package/lib/composables/loader.js.map +1 -1
- package/lib/composables/locale.js +3 -3
- package/lib/composables/locale.js.map +1 -1
- package/lib/composables/nested/nested.d.ts +3 -3
- package/lib/composables/nested/nested.js +4 -4
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/composables/position.d.ts +1 -1
- package/lib/composables/position.js +2 -2
- package/lib/composables/position.js.map +1 -1
- package/lib/composables/router.d.ts +3 -3
- package/lib/composables/router.js +8 -8
- package/lib/composables/router.js.map +1 -1
- package/lib/composables/size.d.ts +8 -5
- package/lib/composables/size.js +6 -5
- package/lib/composables/size.js.map +1 -1
- package/lib/composables/ssrBoot.d.ts +4 -2
- package/lib/composables/ssrBoot.js +2 -2
- package/lib/composables/ssrBoot.js.map +1 -1
- package/lib/composables/stack.d.ts +7 -5
- package/lib/composables/stack.js +5 -5
- package/lib/composables/stack.js.map +1 -1
- package/lib/composables/theme.js +9 -9
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/variant.d.ts +5 -6
- package/lib/composables/variant.js +6 -6
- package/lib/composables/variant.js.map +1 -1
- package/lib/entry-bundler.d.ts +1 -0
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +80 -71
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +607 -218
- package/lib/labs/VCalendar/VCalendar.js +55 -27
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.css +9 -0
- package/lib/labs/VCalendar/VCalendarDay.d.ts +329 -17
- package/lib/labs/VCalendar/VCalendarDay.js +18 -10
- package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.sass +8 -0
- package/lib/labs/VCalendar/VCalendarEvent.js +15 -5
- package/lib/labs/VCalendar/VCalendarEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarHeader.d.ts +44 -17
- package/lib/labs/VCalendar/VCalendarHeader.js +5 -2
- package/lib/labs/VCalendar/VCalendarHeader.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.d.ts +171 -17
- package/lib/labs/VCalendar/VCalendarInterval.js +56 -19
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +92 -17
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js +30 -10
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +122 -88
- package/lib/labs/VCalendar/VCalendarMonthDay.js +24 -22
- package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +7 -7
- package/lib/labs/VIconBtn/VIconBtn.d.ts +6 -21
- package/lib/labs/VIconBtn/VIconBtn.js +10 -12
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/VPicker/VPicker.js +1 -2
- package/lib/labs/VPicker/VPicker.js.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.js +3 -3
- package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
- package/lib/labs/VTreeview/VTreeview.js +11 -11
- package/lib/labs/VTreeview/VTreeview.js.map +1 -1
- package/lib/labs/entry-bundler.d.ts +1 -0
- package/lib/util/box.js.map +1 -1
- package/lib/util/helpers.d.ts +7 -2
- package/lib/util/helpers.js +16 -5
- package/lib/util/helpers.js.map +1 -1
- package/package.json +49 -47
|
@@ -12,7 +12,7 @@ import { IconValue } from "../../composables/icons.js";
|
|
|
12
12
|
import { useRtl } from "../../composables/locale.js";
|
|
13
13
|
import { makeThemeProps, provideTheme } from "../../composables/theme.js";
|
|
14
14
|
import { makeValidationProps, useValidation } from "../../composables/validation.js"; // Utilities
|
|
15
|
-
import { computed, useId } from 'vue';
|
|
15
|
+
import { computed, toRef, useId } from 'vue';
|
|
16
16
|
import { EventProp, genericComponent, pick, propsFactory, useRender } from "../../util/index.js"; // Types
|
|
17
17
|
export const makeVInputProps = propsFactory({
|
|
18
18
|
id: String,
|
|
@@ -105,10 +105,10 @@ export const VInput = genericComponent()({
|
|
|
105
105
|
resetValidation,
|
|
106
106
|
validate
|
|
107
107
|
}));
|
|
108
|
-
const color =
|
|
108
|
+
const color = toRef(() => {
|
|
109
109
|
return props.error || props.disabled ? undefined : props.focused ? props.color : props.baseColor;
|
|
110
110
|
});
|
|
111
|
-
const iconColor =
|
|
111
|
+
const iconColor = toRef(() => {
|
|
112
112
|
if (!props.iconColor) return undefined;
|
|
113
113
|
return props.iconColor === true ? color.value : props.iconColor;
|
|
114
114
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VInput.js","names":["useInputIcon","VMessages","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","IconValue","useRtl","makeThemeProps","provideTheme","makeValidationProps","useValidation","computed","useId","EventProp","genericComponent","pick","propsFactory","useRender","makeVInputProps","id","String","appendIcon","baseColor","centerAffix","type","Boolean","default","color","glow","iconColor","prependIcon","hideDetails","hideSpinButtons","hint","persistentHint","messages","Array","direction","validator","v","includes","VInput","name","props","emits","value","setup","_ref","attrs","slots","emit","densityClasses","dimensionStyles","themeClasses","rtlClasses","InputIcon","uid","messagesId","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","error","disabled","undefined","focused","length","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 { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMessages } from '@/components/VMessages/VMessages'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed, useId } from 'vue'\nimport { EventProp, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { VMessageSlot } from '@/components/VMessages/VMessages'\nimport type { GenericProps } from '@/util'\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 baseColor: String,\n centerAffix: {\n type: Boolean,\n default: true,\n },\n color: String,\n glow: Boolean,\n iconColor: [Boolean, String],\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | readonly 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 ...pick(makeDimensionProps(), [\n 'maxWidth',\n 'minWidth',\n 'width',\n ]),\n ...makeThemeProps(),\n ...makeValidationProps(),\n}, 'VInput')\n\nexport type VInputSlots = {\n default: VInputSlot\n prepend: VInputSlot\n append: VInputSlot\n details: VInputSlot\n message: VMessageSlot\n}\n\nexport const VInput = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VInputSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { InputIcon } = useInputIcon(props)\n\n const uid = useId()\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 color = computed(() => {\n return props.error || props.disabled ? undefined\n : props.focused ? props.color\n : props.baseColor\n })\n\n const iconColor = computed(() => {\n if (!props.iconColor) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const messages = computed(() => {\n if (props.errorMessages?.length || (!isPristine.value && errorMessages.value.length)) {\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 {\n 'v-input--center-affix': props.centerAffix,\n 'v-input--focused': props.focused,\n 'v-input--glow': props.glow,\n 'v-input--hide-spin-buttons': props.hideSpinButtons,\n },\n densityClasses.value,\n themeClasses.value,\n rtlClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\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 color={ iconColor.value }\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 color={ iconColor.value }\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div\n id={ messagesId.value }\n class=\"v-input__details\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n <VMessages\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 isValid,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VInput.js","names":["useInputIcon","VMessages","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","IconValue","useRtl","makeThemeProps","provideTheme","makeValidationProps","useValidation","computed","toRef","useId","EventProp","genericComponent","pick","propsFactory","useRender","makeVInputProps","id","String","appendIcon","baseColor","centerAffix","type","Boolean","default","color","glow","iconColor","prependIcon","hideDetails","hideSpinButtons","hint","persistentHint","messages","Array","direction","validator","v","includes","VInput","name","props","emits","value","setup","_ref","attrs","slots","emit","densityClasses","dimensionStyles","themeClasses","rtlClasses","InputIcon","uid","messagesId","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","error","disabled","undefined","focused","length","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 { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMessages } from '@/components/VMessages/VMessages'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed, toRef, useId } from 'vue'\nimport { EventProp, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { VMessageSlot } from '@/components/VMessages/VMessages'\nimport type { GenericProps } from '@/util'\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 baseColor: String,\n centerAffix: {\n type: Boolean,\n default: true,\n },\n color: String,\n glow: Boolean,\n iconColor: [Boolean, String],\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | readonly 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 ...pick(makeDimensionProps(), [\n 'maxWidth',\n 'minWidth',\n 'width',\n ]),\n ...makeThemeProps(),\n ...makeValidationProps(),\n}, 'VInput')\n\nexport type VInputSlots = {\n default: VInputSlot\n prepend: VInputSlot\n append: VInputSlot\n details: VInputSlot\n message: VMessageSlot\n}\n\nexport const VInput = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VInputSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { InputIcon } = useInputIcon(props)\n\n const uid = useId()\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 color = toRef(() => {\n return props.error || props.disabled ? undefined\n : props.focused ? props.color\n : props.baseColor\n })\n\n const iconColor = toRef(() => {\n if (!props.iconColor) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const messages = computed(() => {\n if (props.errorMessages?.length || (!isPristine.value && errorMessages.value.length)) {\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 {\n 'v-input--center-affix': props.centerAffix,\n 'v-input--focused': props.focused,\n 'v-input--glow': props.glow,\n 'v-input--hide-spin-buttons': props.hideSpinButtons,\n },\n densityClasses.value,\n themeClasses.value,\n rtlClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\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 color={ iconColor.value }\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 color={ iconColor.value }\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div\n id={ messagesId.value }\n class=\"v-input__details\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n <VMessages\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 isValid,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,YAAY;AAAA,SACZC,SAAS,qCAElB;AAAA,SACSC,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,SAAS;AAAA,SACTC,MAAM;AAAA,SACNC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,mBAAmB,EAAEC,aAAa,2CAE3C;AACA,SAASC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACnCC,SAAS,EAAEC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,+BAEnE;AAmBA,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1CG,EAAE,EAAEC,MAAM;EACVC,UAAU,EAAEjB,SAAS;EACrBkB,SAAS,EAAEF,MAAM;EACjBG,WAAW,EAAE;IACXC,IAAI,EAAEC,OAAO;IACbC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEP,MAAM;EACbQ,IAAI,EAAEH,OAAO;EACbI,SAAS,EAAE,CAACJ,OAAO,EAAEL,MAAM,CAAC;EAC5BU,WAAW,EAAE1B,SAAS;EACtB2B,WAAW,EAAE,CAACN,OAAO,EAAEL,MAAM,CAA+B;EAC5DY,eAAe,EAAEP,OAAO;EACxBQ,IAAI,EAAEb,MAAM;EACZc,cAAc,EAAET,OAAO;EACvBU,QAAQ,EAAE;IACRX,IAAI,EAAE,CAACY,KAAK,EAAEhB,MAAM,CAAyC;IAC7DM,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDW,SAAS,EAAE;IACTb,IAAI,EAAEJ,MAA6C;IACnDM,OAAO,EAAE,YAAY;IACrBY,SAAS,EAAGC,CAAM,IAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAACC,QAAQ,CAACD,CAAC;EAC9D,CAAC;EAED,iBAAiB,EAAE1B,SAAS,CAAe,CAAC;EAC5C,gBAAgB,EAAEA,SAAS,CAAe,CAAC;EAE3C,GAAGd,kBAAkB,CAAC,CAAC;EACvB,GAAGC,gBAAgB,CAAC,CAAC;EACrB,GAAGe,IAAI,CAACb,kBAAkB,CAAC,CAAC,EAAE,CAC5B,UAAU,EACV,UAAU,EACV,OAAO,CACR,CAAC;EACF,GAAGI,cAAc,CAAC,CAAC;EACnB,GAAGE,mBAAmB,CAAC;AACzB,CAAC,EAAE,QAAQ,CAAC;AAUZ,OAAO,MAAMiC,MAAM,GAAG3B,gBAAgB,CAMS,CAAC,CAAC;EAC/C4B,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAE;IACL,GAAGzB,eAAe,CAAC;EACrB,CAAC;EAED0B,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAH,IAAA;IAClC,MAAM;MAAEI;IAAe,CAAC,GAAGlD,UAAU,CAAC0C,KAAK,CAAC;IAC5C,MAAM;MAAES;IAAgB,CAAC,GAAGjD,YAAY,CAACwC,KAAK,CAAC;IAC/C,MAAM;MAAEU;IAAa,CAAC,GAAG9C,YAAY,CAACoC,KAAK,CAAC;IAC5C,MAAM;MAAEW;IAAW,CAAC,GAAGjD,MAAM,CAAC,CAAC;IAC/B,MAAM;MAAEkD;IAAU,CAAC,GAAG1D,YAAY,CAAC8C,KAAK,CAAC;IAEzC,MAAMa,GAAG,GAAG5C,KAAK,CAAC,CAAC;IACnB,MAAMO,EAAE,GAAGT,QAAQ,CAAC,MAAMiC,KAAK,CAACxB,EAAE,IAAI,SAASqC,GAAG,EAAE,CAAC;IACrD,MAAMC,UAAU,GAAG/C,QAAQ,CAAC,MAAM,GAAGS,EAAE,CAAC0B,KAAK,WAAW,CAAC;IAEzD,MAAM;MACJa,aAAa;MACbC,OAAO;MACPC,UAAU;MACVC,UAAU;MACVC,UAAU;MACVC,OAAO;MACPC,YAAY;MACZC,KAAK;MACLC,eAAe;MACfC,QAAQ;MACRC;IACF,CAAC,GAAG3D,aAAa,CAACkC,KAAK,EAAE,SAAS,EAAExB,EAAE,CAAC;IAEvC,MAAMkD,SAAS,GAAG3D,QAAQ,CAAa,OAAO;MAC5CS,EAAE;MACFsC,UAAU;MACVE,OAAO;MACPC,UAAU;MACVC,UAAU;MACVC,UAAU;MACVC,OAAO;MACPC,YAAY;MACZC,KAAK;MACLC,eAAe;MACfC;IACF,CAAC,CAAC,CAAC;IAEH,MAAMxC,KAAK,GAAGhB,KAAK,CAAC,MAAM;MACxB,OAAOgC,KAAK,CAAC2B,KAAK,IAAI3B,KAAK,CAAC4B,QAAQ,GAAGC,SAAS,GAC5C7B,KAAK,CAAC8B,OAAO,GAAG9B,KAAK,CAAChB,KAAK,GAC3BgB,KAAK,CAACrB,SAAS;IACrB,CAAC,CAAC;IAEF,MAAMO,SAAS,GAAGlB,KAAK,CAAC,MAAM;MAC5B,IAAI,CAACgC,KAAK,CAACd,SAAS,EAAE,OAAO2C,SAAS;MAEtC,OAAO7B,KAAK,CAACd,SAAS,KAAK,IAAI,GAAGF,KAAK,CAACkB,KAAK,GAAGF,KAAK,CAACd,SAAS;IACjE,CAAC,CAAC;IAEF,MAAMM,QAAQ,GAAGzB,QAAQ,CAAC,MAAM;MAC9B,IAAIiC,KAAK,CAACe,aAAa,EAAEgB,MAAM,IAAK,CAACZ,UAAU,CAACjB,KAAK,IAAIa,aAAa,CAACb,KAAK,CAAC6B,MAAO,EAAE;QACpF,OAAOhB,aAAa,CAACb,KAAK;MAC5B,CAAC,MAAM,IAAIF,KAAK,CAACV,IAAI,KAAKU,KAAK,CAACT,cAAc,IAAIS,KAAK,CAAC8B,OAAO,CAAC,EAAE;QAChE,OAAO9B,KAAK,CAACV,IAAI;MACnB,CAAC,MAAM;QACL,OAAOU,KAAK,CAACR,QAAQ;MACvB;IACF,CAAC,CAAC;IAEFlB,SAAS,CAAC,MAAM;MACd,MAAM0D,UAAU,GAAG,CAAC,EAAE1B,KAAK,CAAC2B,OAAO,IAAIjC,KAAK,CAACb,WAAW,CAAC;MACzD,MAAM+C,SAAS,GAAG,CAAC,EAAE5B,KAAK,CAAC6B,MAAM,IAAInC,KAAK,CAACtB,UAAU,CAAC;MACtD,MAAM0D,WAAW,GAAG5C,QAAQ,CAACU,KAAK,CAAC6B,MAAM,GAAG,CAAC;MAC7C,MAAMM,UAAU,GAAG,CAACrC,KAAK,CAACZ,WAAW,IACnCY,KAAK,CAACZ,WAAW,KAAK,MAAM,KAC3BgD,WAAW,IAAI,CAAC,CAAC9B,KAAK,CAACgC,OAAO,CAChC;MAED,OAAAC,YAAA;QAAA,SAEW,CACL,SAAS,EACT,YAAYvC,KAAK,CAACN,SAAS,EAAE,EAC7B;UACE,uBAAuB,EAAEM,KAAK,CAACpB,WAAW;UAC1C,kBAAkB,EAAEoB,KAAK,CAAC8B,OAAO;UACjC,eAAe,EAAE9B,KAAK,CAACf,IAAI;UAC3B,4BAA4B,EAAEe,KAAK,CAACX;QACtC,CAAC,EACDmB,cAAc,CAACN,KAAK,EACpBQ,YAAY,CAACR,KAAK,EAClBS,UAAU,CAACT,KAAK,EAChBuB,iBAAiB,CAACvB,KAAK,EACvBF,KAAK,CAACwC,KAAK,CACZ;QAAA,SACM,CACL/B,eAAe,CAACP,KAAK,EACrBF,KAAK,CAACyC,KAAK;MACZ,IAECT,UAAU,IAAAO,YAAA;QAAA;QAAA;MAAA,IAENjC,KAAK,CAAC2B,OAAO,GAAGP,SAAS,CAACxB,KAAK,CAAC,EAEhCF,KAAK,CAACb,WAAW,IAAAoD,YAAA,CAAA3B,SAAA;QAAA;QAAA;QAAA,SAIP1B,SAAS,CAACgB;MAAK,QAE1B,EAEJ,EAECI,KAAK,CAACvB,OAAO,IAAAwD,YAAA;QAAA;MAAA,IAETjC,KAAK,CAACvB,OAAO,GAAG2C,SAAS,CAACxB,KAAK,CAAC,EAErC,EAECgC,SAAS,IAAAK,YAAA;QAAA;QAAA;MAAA,IAELvC,KAAK,CAACtB,UAAU,IAAA6D,YAAA,CAAA3B,SAAA;QAAA;QAAA;QAAA,SAIN1B,SAAS,CAACgB;MAAK,QAE1B,EAECI,KAAK,CAAC6B,MAAM,GAAGT,SAAS,CAACxB,KAAK,CAAC,EAEpC,EAECmC,UAAU,IAAAE,YAAA;QAAA,MAEHzB,UAAU,CAACZ,KAAK;QAAA;QAAA;QAAA;MAAA,IAAAqC,YAAA,CAAApF,SAAA;QAAA,UAMViF,WAAW;QAAA,YACT5C,QAAQ,CAACU;MAAK,GAChB;QAAEwC,OAAO,EAAEpC,KAAK,CAACoC;MAAQ,CAAC,GAGnCpC,KAAK,CAACgC,OAAO,GAAGZ,SAAS,CAACxB,KAAK,CAAC,EAErC;IAGP,CAAC,CAAC;IAEF,OAAO;MACLoB,KAAK;MACLC,eAAe;MACfC,QAAQ;MACRJ,OAAO;MACPL;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -32,11 +32,11 @@ export const VLayoutItem = genericComponent()({
|
|
|
32
32
|
} = useLayoutItem({
|
|
33
33
|
id: props.name,
|
|
34
34
|
order: computed(() => parseInt(props.order, 10)),
|
|
35
|
-
position: toRef(props
|
|
36
|
-
elementSize: toRef(props
|
|
37
|
-
layoutSize: toRef(props
|
|
38
|
-
active: toRef(props
|
|
39
|
-
absolute: toRef(props
|
|
35
|
+
position: toRef(() => props.position),
|
|
36
|
+
elementSize: toRef(() => props.size),
|
|
37
|
+
layoutSize: toRef(() => props.size),
|
|
38
|
+
active: toRef(() => props.modelValue),
|
|
39
|
+
absolute: toRef(() => props.absolute)
|
|
40
40
|
});
|
|
41
41
|
return () => _createVNode("div", {
|
|
42
42
|
"class": ['v-layout-item', props.class],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VLayoutItem.js","names":["makeComponentProps","makeLayoutItemProps","useLayoutItem","computed","toRef","genericComponent","propsFactory","makeVLayoutItemProps","position","type","String","required","size","Number","default","modelValue","Boolean","VLayoutItem","name","props","setup","_ref","slots","layoutItemStyles","id","order","parseInt","elementSize","layoutSize","active","absolute","_createVNode","class","value","style"],"sources":["../../../src/components/VLayout/VLayoutItem.tsx"],"sourcesContent":["// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVLayoutItemProps = propsFactory({\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n\n ...makeComponentProps(),\n ...makeLayoutItemProps(),\n}, 'VLayoutItem')\n\nexport const VLayoutItem = genericComponent()({\n name: 'VLayoutItem',\n\n props: makeVLayoutItemProps(),\n\n setup (props, { slots }) {\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props
|
|
1
|
+
{"version":3,"file":"VLayoutItem.js","names":["makeComponentProps","makeLayoutItemProps","useLayoutItem","computed","toRef","genericComponent","propsFactory","makeVLayoutItemProps","position","type","String","required","size","Number","default","modelValue","Boolean","VLayoutItem","name","props","setup","_ref","slots","layoutItemStyles","id","order","parseInt","elementSize","layoutSize","active","absolute","_createVNode","class","value","style"],"sources":["../../../src/components/VLayout/VLayoutItem.tsx"],"sourcesContent":["// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVLayoutItemProps = propsFactory({\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n\n ...makeComponentProps(),\n ...makeLayoutItemProps(),\n}, 'VLayoutItem')\n\nexport const VLayoutItem = genericComponent()({\n name: 'VLayoutItem',\n\n props: makeVLayoutItemProps(),\n\n setup (props, { slots }) {\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(() => props.position),\n elementSize: toRef(() => props.size),\n layoutSize: toRef(() => props.size),\n active: toRef(() => props.modelValue),\n absolute: toRef(() => props.absolute),\n })\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n props.class,\n ]}\n style={[\n layoutItemStyles.value,\n props.style,\n ]}\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n\nexport type VLayoutItem = InstanceType<typeof VLayoutItem>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,mBAAmB,EAAEC,aAAa,uCAE3C;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,EAAEC,YAAY,+BAEvC;AAGA,OAAO,MAAMC,oBAAoB,GAAGD,YAAY,CAAC;EAC/CE,QAAQ,EAAE;IACRC,IAAI,EAAEC,MAAuD;IAC7DC,QAAQ,EAAE;EACZ,CAAC;EACDC,IAAI,EAAE;IACJH,IAAI,EAAE,CAACI,MAAM,EAAEH,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAEC,OAAO;EAEnB,GAAGhB,kBAAkB,CAAC,CAAC;EACvB,GAAGC,mBAAmB,CAAC;AACzB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMgB,WAAW,GAAGZ,gBAAgB,CAAC,CAAC,CAAC;EAC5Ca,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEZ,oBAAoB,CAAC,CAAC;EAE7Ba,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAiB,CAAC,GAAGrB,aAAa,CAAC;MACzCsB,EAAE,EAAEL,KAAK,CAACD,IAAI;MACdO,KAAK,EAAEtB,QAAQ,CAAC,MAAMuB,QAAQ,CAACP,KAAK,CAACM,KAAK,EAAE,EAAE,CAAC,CAAC;MAChDjB,QAAQ,EAAEJ,KAAK,CAAC,MAAMe,KAAK,CAACX,QAAQ,CAAC;MACrCmB,WAAW,EAAEvB,KAAK,CAAC,MAAMe,KAAK,CAACP,IAAI,CAAC;MACpCgB,UAAU,EAAExB,KAAK,CAAC,MAAMe,KAAK,CAACP,IAAI,CAAC;MACnCiB,MAAM,EAAEzB,KAAK,CAAC,MAAMe,KAAK,CAACJ,UAAU,CAAC;MACrCe,QAAQ,EAAE1B,KAAK,CAAC,MAAMe,KAAK,CAACW,QAAQ;IACtC,CAAC,CAAC;IAEF,OAAO,MAAAC,YAAA;MAAA,SAEI,CACL,eAAe,EACfZ,KAAK,CAACa,KAAK,CACZ;MAAA,SACM,CACLT,gBAAgB,CAACU,KAAK,EACtBd,KAAK,CAACe,KAAK;IACZ,IAECZ,KAAK,CAACR,OAAO,GAAG,CAAC,EAEtB;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -117,7 +117,7 @@ export const VList = genericComponent()({
|
|
|
117
117
|
const {
|
|
118
118
|
backgroundColorClasses,
|
|
119
119
|
backgroundColorStyles
|
|
120
|
-
} = useBackgroundColor(
|
|
120
|
+
} = useBackgroundColor(() => props.bgColor);
|
|
121
121
|
const {
|
|
122
122
|
borderClasses
|
|
123
123
|
} = useBorder(props);
|
|
@@ -140,30 +140,30 @@ export const VList = genericComponent()({
|
|
|
140
140
|
select,
|
|
141
141
|
getPath
|
|
142
142
|
} = useNested(props);
|
|
143
|
-
const lineClasses =
|
|
144
|
-
const activeColor = toRef(props
|
|
145
|
-
const baseColor = toRef(props
|
|
146
|
-
const color = toRef(props
|
|
143
|
+
const lineClasses = toRef(() => props.lines ? `v-list--${props.lines}-line` : undefined);
|
|
144
|
+
const activeColor = toRef(() => props.activeColor);
|
|
145
|
+
const baseColor = toRef(() => props.baseColor);
|
|
146
|
+
const color = toRef(() => props.color);
|
|
147
147
|
createList();
|
|
148
148
|
provideDefaults({
|
|
149
149
|
VListGroup: {
|
|
150
150
|
activeColor,
|
|
151
151
|
baseColor,
|
|
152
152
|
color,
|
|
153
|
-
expandIcon: toRef(props
|
|
154
|
-
collapseIcon: toRef(props
|
|
153
|
+
expandIcon: toRef(() => props.expandIcon),
|
|
154
|
+
collapseIcon: toRef(() => props.collapseIcon)
|
|
155
155
|
},
|
|
156
156
|
VListItem: {
|
|
157
|
-
activeClass: toRef(props
|
|
157
|
+
activeClass: toRef(() => props.activeClass),
|
|
158
158
|
activeColor,
|
|
159
159
|
baseColor,
|
|
160
160
|
color,
|
|
161
|
-
density: toRef(props
|
|
162
|
-
disabled: toRef(props
|
|
163
|
-
lines: toRef(props
|
|
164
|
-
nav: toRef(props
|
|
165
|
-
slim: toRef(props
|
|
166
|
-
variant: toRef(props
|
|
161
|
+
density: toRef(() => props.density),
|
|
162
|
+
disabled: toRef(() => props.disabled),
|
|
163
|
+
lines: toRef(() => props.lines),
|
|
164
|
+
nav: toRef(() => props.nav),
|
|
165
|
+
slim: toRef(() => props.slim),
|
|
166
|
+
variant: toRef(() => props.variant)
|
|
167
167
|
}
|
|
168
168
|
});
|
|
169
169
|
const isFocused = shallowRef(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VList.js","names":["VListChildren","createList","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","computed","ref","shallowRef","toRef","EventProp","focusChild","genericComponent","getPropertyFromItem","isPrimitive","omit","propsFactory","useRender","transformItem","props","item","type","itemType","title","itemTitle","value","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","makeVListProps","baseColor","String","activeColor","activeClass","bgColor","disabled","Boolean","expandIcon","collapseIcon","lines","default","slim","nav","selectStrategy","openStrategy","variant","VList","name","emits","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","parents","select","getPath","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","target","includes","tagName","key","preventDefault","onMousedown","location","_createVNode","tag","class","style","returnObject"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps } from '@/composables/list-items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef } from 'vue'\nimport {\n EventProp,\n focusChild,\n genericComponent,\n getPropertyFromItem,\n isPrimitive,\n omit,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VListChildrenSlots } from './VListChildren'\nimport type { ItemProps, ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport interface InternalListItem<T = any> extends ListItem<T> {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction transformItem (props: ItemProps & { itemType?: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? omit(item, ['children'])\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType?: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useListItems (props: ItemProps & { itemType?: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n expandIcon: IconValue,\n collapseIcon: IconValue,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n slim: Boolean,\n nav: Boolean,\n\n 'onClick:open': EventProp<[{ id: unknown, value: boolean, path: unknown[] }]>(),\n 'onClick:select': EventProp<[{ id: unknown, value: boolean, path: unknown[] }]>(),\n 'onUpdate:opened': EventProp<[]>(),\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VList')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VList = genericComponent<new <\n T extends readonly any[],\n S = unknown,\n O = unknown\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemChildren?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n selected?: S\n 'onUpdate:selected'?: (value: S) => void\n 'onClick:open'?: (value: { id: unknown, value: boolean, path: unknown[] }) => void\n 'onClick:select'?: (value: { id: unknown, value: boolean, path: unknown[] }) => void\n opened?: O\n 'onUpdate:opened'?: (value: O) => void\n },\n slots: VListChildrenSlots<ItemType<T>>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VList',\n\n props: makeVListProps(),\n\n emits: {\n 'update:selected': (value: unknown) => true,\n 'update:activated': (value: unknown) => true,\n 'update:opened': (value: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:activate': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { children, open, parents, select, getPath } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n expandIcon: toRef(props, 'expandIcon'),\n collapseIcon: toRef(props, 'collapseIcon'),\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n slim: toRef(props, 'slim'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const isFocused = shallowRef(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (!contentRef.value || ['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function onMousedown (e: MouseEvent) {\n isFocused.value = true\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (contentRef.value) {\n return focusChild(contentRef.value, location)\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--slim': props.slim,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled ? -1 : 0 }\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n onMousedown={ onMousedown }\n >\n <VListChildren\n items={ items.value }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n children,\n parents,\n getPath,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VList.js","names":["VListChildren","createList","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","computed","ref","shallowRef","toRef","EventProp","focusChild","genericComponent","getPropertyFromItem","isPrimitive","omit","propsFactory","useRender","transformItem","props","item","type","itemType","title","itemTitle","value","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","makeVListProps","baseColor","String","activeColor","activeClass","bgColor","disabled","Boolean","expandIcon","collapseIcon","lines","default","slim","nav","selectStrategy","openStrategy","variant","VList","name","emits","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","parents","select","getPath","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","target","includes","tagName","key","preventDefault","onMousedown","location","_createVNode","tag","class","style","returnObject"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps } from '@/composables/list-items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef } from 'vue'\nimport {\n EventProp,\n focusChild,\n genericComponent,\n getPropertyFromItem,\n isPrimitive,\n omit,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VListChildrenSlots } from './VListChildren'\nimport type { ItemProps, ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport interface InternalListItem<T = any> extends ListItem<T> {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction transformItem (props: ItemProps & { itemType?: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? omit(item, ['children'])\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType?: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useListItems (props: ItemProps & { itemType?: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n expandIcon: IconValue,\n collapseIcon: IconValue,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n slim: Boolean,\n nav: Boolean,\n\n 'onClick:open': EventProp<[{ id: unknown, value: boolean, path: unknown[] }]>(),\n 'onClick:select': EventProp<[{ id: unknown, value: boolean, path: unknown[] }]>(),\n 'onUpdate:opened': EventProp<[]>(),\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VList')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VList = genericComponent<new <\n T extends readonly any[],\n S = unknown,\n O = unknown\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemChildren?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n selected?: S\n 'onUpdate:selected'?: (value: S) => void\n 'onClick:open'?: (value: { id: unknown, value: boolean, path: unknown[] }) => void\n 'onClick:select'?: (value: { id: unknown, value: boolean, path: unknown[] }) => void\n opened?: O\n 'onUpdate:opened'?: (value: O) => void\n },\n slots: VListChildrenSlots<ItemType<T>>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VList',\n\n props: makeVListProps(),\n\n emits: {\n 'update:selected': (value: unknown) => true,\n 'update:activated': (value: unknown) => true,\n 'update:opened': (value: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:activate': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { children, open, parents, select, getPath } = useNested(props)\n const lineClasses = toRef(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(() => props.activeColor)\n const baseColor = toRef(() => props.baseColor)\n const color = toRef(() => props.color)\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n expandIcon: toRef(() => props.expandIcon),\n collapseIcon: toRef(() => props.collapseIcon),\n },\n VListItem: {\n activeClass: toRef(() => props.activeClass),\n activeColor,\n baseColor,\n color,\n density: toRef(() => props.density),\n disabled: toRef(() => props.disabled),\n lines: toRef(() => props.lines),\n nav: toRef(() => props.nav),\n slim: toRef(() => props.slim),\n variant: toRef(() => props.variant),\n },\n })\n\n const isFocused = shallowRef(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (!contentRef.value || ['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function onMousedown (e: MouseEvent) {\n isFocused.value = true\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (contentRef.value) {\n return focusChild(contentRef.value, location)\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--slim': props.slim,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled ? -1 : 0 }\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n onMousedown={ onMousedown }\n >\n <VListChildren\n items={ items.value }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n children,\n parents,\n getPath,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ import { useNestedGroupActivator, useNestedItem } from "../../composables/nested
|
|
|
9
9
|
import { useSsrBoot } from "../../composables/ssrBoot.js";
|
|
10
10
|
import { makeTagProps } from "../../composables/tag.js";
|
|
11
11
|
import { MaybeTransition } from "../../composables/transition.js"; // Utilities
|
|
12
|
-
import { computed
|
|
12
|
+
import { computed } from 'vue';
|
|
13
13
|
import { defineComponent, genericComponent, propsFactory, useRender } from "../../util/index.js";
|
|
14
14
|
const VListGroupActivator = defineComponent({
|
|
15
15
|
name: 'VListGroupActivator',
|
|
@@ -54,7 +54,7 @@ export const VListGroup = genericComponent()({
|
|
|
54
54
|
isOpen,
|
|
55
55
|
open,
|
|
56
56
|
id: _id
|
|
57
|
-
} = useNestedItem(
|
|
57
|
+
} = useNestedItem(() => props.value, true);
|
|
58
58
|
const id = computed(() => `v-list-group--id-${String(_id.value)}`);
|
|
59
59
|
const list = useList();
|
|
60
60
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VListGroup.js","names":["VExpandTransition","VDefaultsProvider","useList","makeComponentProps","IconValue","useNestedGroupActivator","useNestedItem","useSsrBoot","makeTagProps","MaybeTransition","computed","
|
|
1
|
+
{"version":3,"file":"VListGroup.js","names":["VExpandTransition","VDefaultsProvider","useList","makeComponentProps","IconValue","useNestedGroupActivator","useNestedItem","useSsrBoot","makeTagProps","MaybeTransition","computed","defineComponent","genericComponent","propsFactory","useRender","VListGroupActivator","name","setup","_","_ref","slots","default","makeVListGroupProps","activeColor","String","baseColor","color","collapseIcon","type","expandIcon","prependIcon","appendIcon","fluid","Boolean","subgroup","title","value","VListGroup","props","_ref2","isOpen","open","id","_id","list","isBooted","onClick","e","stopPropagation","includes","target","tagName","activatorProps","class","toggleIcon","activatorDefaults","VListItem","active","_createVNode","tag","hasPrepend","style","activator","component","_withDirectives","_vShow"],"sources":["../../../src/components/VList/VListGroup.tsx"],"sourcesContent":["// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useList } from './list'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VListGroupSlots = {\n default: never\n activator: { isOpen: boolean, props: Record<string, unknown> }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const makeVListGroupProps = propsFactory({\n /* @deprecated */\n activeColor: String,\n baseColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n prependIcon: IconValue,\n appendIcon: IconValue,\n fluid: Boolean,\n subgroup: Boolean,\n title: String,\n value: null,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VListGroup')\n\nexport const VListGroup = genericComponent<VListGroupSlots>()({\n name: 'VListGroup',\n\n props: makeVListGroupProps(),\n\n setup (props, { slots }) {\n const { isOpen, open, id: _id } = useNestedItem(() => props.value, true)\n const id = computed(() => `v-list-group--id-${String(_id.value)}`)\n const list = useList()\n const { isBooted } = useSsrBoot()\n\n function onClick (e: Event) {\n e.stopPropagation()\n if (['INPUT', 'TEXTAREA'].includes((e.target as Element)?.tagName)) return\n open(!isOpen.value, e)\n }\n\n const activatorProps = computed(() => ({\n onClick,\n class: 'v-list-group__header',\n id: id.value,\n }))\n\n const toggleIcon = computed(() => isOpen.value ? props.collapseIcon : props.expandIcon)\n const activatorDefaults = computed(() => ({\n VListItem: {\n active: isOpen.value,\n activeColor: props.activeColor,\n baseColor: props.baseColor,\n color: props.color,\n prependIcon: props.prependIcon || (props.subgroup && toggleIcon.value),\n appendIcon: props.appendIcon || (!props.subgroup && toggleIcon.value),\n title: props.title,\n value: props.value,\n },\n }))\n\n useRender(() => (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n 'v-list-group--fluid': props.fluid,\n 'v-list-group--subgroup': props.subgroup,\n 'v-list-group--open': isOpen.value,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { slots.activator && (\n <VDefaultsProvider defaults={ activatorDefaults.value }>\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value, isOpen: isOpen.value }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n )}\n\n <MaybeTransition transition={{ component: VExpandTransition }} disabled={ !isBooted.value }>\n <div class=\"v-list-group__items\" role=\"group\" aria-labelledby={ id.value } v-show={ isOpen.value }>\n { slots.default?.() }\n </div>\n </MaybeTransition>\n </props.tag>\n ))\n\n return {\n isOpen,\n }\n },\n})\n\nexport type VListGroup = InstanceType<typeof VListGroup>\n"],"mappings":";AAAA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,iBAAiB,yCAE1B;AAAA,SACSC,OAAO;AAAA,SACPC,kBAAkB;AAAA,SAClBC,SAAS;AAAA,SACTC,uBAAuB,EAAEC,aAAa;AAAA,SACtCC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,eAAe,2CAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,eAAe,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAOnE,MAAMC,mBAAmB,GAAGJ,eAAe,CAAC;EAC1CK,IAAI,EAAE,qBAAqB;EAE3BC,KAAKA,CAAEC,CAAC,EAAAC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACjBd,uBAAuB,CAAC,CAAC;IAEzB,OAAO,MAAMe,KAAK,CAACC,OAAO,GAAG,CAAC;EAChC;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,mBAAmB,GAAGT,YAAY,CAAC;EAC9C;EACAU,WAAW,EAAEC,MAAM;EACnBC,SAAS,EAAED,MAAM;EACjBE,KAAK,EAAEF,MAAM;EACbG,YAAY,EAAE;IACZC,IAAI,EAAExB,SAAS;IACfiB,OAAO,EAAE;EACX,CAAC;EACDQ,UAAU,EAAE;IACVD,IAAI,EAAExB,SAAS;IACfiB,OAAO,EAAE;EACX,CAAC;EACDS,WAAW,EAAE1B,SAAS;EACtB2B,UAAU,EAAE3B,SAAS;EACrB4B,KAAK,EAAEC,OAAO;EACdC,QAAQ,EAAED,OAAO;EACjBE,KAAK,EAAEX,MAAM;EACbY,KAAK,EAAE,IAAI;EAEX,GAAGjC,kBAAkB,CAAC,CAAC;EACvB,GAAGK,YAAY,CAAC;AAClB,CAAC,EAAE,YAAY,CAAC;AAEhB,OAAO,MAAM6B,UAAU,GAAGzB,gBAAgB,CAAkB,CAAC,CAAC;EAC5DI,IAAI,EAAE,YAAY;EAElBsB,KAAK,EAAEhB,mBAAmB,CAAC,CAAC;EAE5BL,KAAKA,CAAEqB,KAAK,EAAAC,KAAA,EAAa;IAAA,IAAX;MAAEnB;IAAM,CAAC,GAAAmB,KAAA;IACrB,MAAM;MAAEC,MAAM;MAAEC,IAAI;MAAEC,EAAE,EAAEC;IAAI,CAAC,GAAGrC,aAAa,CAAC,MAAMgC,KAAK,CAACF,KAAK,EAAE,IAAI,CAAC;IACxE,MAAMM,EAAE,GAAGhC,QAAQ,CAAC,MAAM,oBAAoBc,MAAM,CAACmB,GAAG,CAACP,KAAK,CAAC,EAAE,CAAC;IAClE,MAAMQ,IAAI,GAAG1C,OAAO,CAAC,CAAC;IACtB,MAAM;MAAE2C;IAAS,CAAC,GAAGtC,UAAU,CAAC,CAAC;IAEjC,SAASuC,OAAOA,CAAEC,CAAQ,EAAE;MAC1BA,CAAC,CAACC,eAAe,CAAC,CAAC;MACnB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAACC,QAAQ,CAAEF,CAAC,CAACG,MAAM,EAAcC,OAAO,CAAC,EAAE;MACpEV,IAAI,CAAC,CAACD,MAAM,CAACJ,KAAK,EAAEW,CAAC,CAAC;IACxB;IAEA,MAAMK,cAAc,GAAG1C,QAAQ,CAAC,OAAO;MACrCoC,OAAO;MACPO,KAAK,EAAE,sBAAsB;MAC7BX,EAAE,EAAEA,EAAE,CAACN;IACT,CAAC,CAAC,CAAC;IAEH,MAAMkB,UAAU,GAAG5C,QAAQ,CAAC,MAAM8B,MAAM,CAACJ,KAAK,GAAGE,KAAK,CAACX,YAAY,GAAGW,KAAK,CAACT,UAAU,CAAC;IACvF,MAAM0B,iBAAiB,GAAG7C,QAAQ,CAAC,OAAO;MACxC8C,SAAS,EAAE;QACTC,MAAM,EAAEjB,MAAM,CAACJ,KAAK;QACpBb,WAAW,EAAEe,KAAK,CAACf,WAAW;QAC9BE,SAAS,EAAEa,KAAK,CAACb,SAAS;QAC1BC,KAAK,EAAEY,KAAK,CAACZ,KAAK;QAClBI,WAAW,EAAEQ,KAAK,CAACR,WAAW,IAAKQ,KAAK,CAACJ,QAAQ,IAAIoB,UAAU,CAAClB,KAAM;QACtEL,UAAU,EAAEO,KAAK,CAACP,UAAU,IAAK,CAACO,KAAK,CAACJ,QAAQ,IAAIoB,UAAU,CAAClB,KAAM;QACrED,KAAK,EAAEG,KAAK,CAACH,KAAK;QAClBC,KAAK,EAAEE,KAAK,CAACF;MACf;IACF,CAAC,CAAC,CAAC;IAEHtB,SAAS,CAAC,MAAA4C,YAAA,CAAApB,KAAA,CAAAqB,GAAA;MAAA,SAEC,CACL,cAAc,EACd;QACE,uBAAuB,EAAEf,IAAI,EAAEgB,UAAU,CAACxB,KAAK;QAC/C,qBAAqB,EAAEE,KAAK,CAACN,KAAK;QAClC,wBAAwB,EAAEM,KAAK,CAACJ,QAAQ;QACxC,oBAAoB,EAAEM,MAAM,CAACJ;MAC/B,CAAC,EACDE,KAAK,CAACe,KAAK,CACZ;MAAA,SACOf,KAAK,CAACuB;IAAK;MAAAxC,OAAA,EAAAA,CAAA,MAEjBD,KAAK,CAAC0C,SAAS,IAAAJ,YAAA,CAAAzD,iBAAA;QAAA,YACesD,iBAAiB,CAACnB;MAAK;QAAAf,OAAA,EAAAA,CAAA,MAAAqC,YAAA,CAAA3C,mBAAA;UAAAM,OAAA,EAAAA,CAAA,MAE/CD,KAAK,CAAC0C,SAAS,CAAC;YAAExB,KAAK,EAAEc,cAAc,CAAChB,KAAK;YAAEI,MAAM,EAAEA,MAAM,CAACJ;UAAM,CAAC,CAAC;QAAA;MAAA,EAG7E,EAAAsB,YAAA,CAAAjD,eAAA;QAAA,cAE4B;UAAEsD,SAAS,EAAE/D;QAAkB,CAAC;QAAA,YAAa,CAAC6C,QAAQ,CAACT;MAAK;QAAAf,OAAA,EAAAA,CAAA,MAAA2C,eAAA,CAAAN,YAAA;UAAA;UAAA;UAAA,mBACvBhB,EAAE,CAACN;QAAK,IACpEhB,KAAK,CAACC,OAAO,GAAG,CAAC,MAAA4C,MAAA,EAD+DzB,MAAM,CAACJ,KAAK;MAAA;IAAA,EAKrG,CAAC;IAEF,OAAO;MACLI;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -403,7 +403,7 @@ export declare const VListItem: {
|
|
|
403
403
|
openOnSelect: (id: unknown, value: boolean, event?: Event) => void;
|
|
404
404
|
getPath: (id: unknown) => unknown[];
|
|
405
405
|
};
|
|
406
|
-
id: import("vue").ComputedRef<{}
|
|
406
|
+
id: import("vue").ComputedRef<{}>;
|
|
407
407
|
link: import("../../composables/router.js").UseLink;
|
|
408
408
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
409
409
|
click: (e: MouseEvent | KeyboardEvent) => true;
|
|
@@ -533,7 +533,7 @@ export declare const VListItem: {
|
|
|
533
533
|
openOnSelect: (id: unknown, value: boolean, event?: Event) => void;
|
|
534
534
|
getPath: (id: unknown) => unknown[];
|
|
535
535
|
};
|
|
536
|
-
id: import("vue").ComputedRef<{}
|
|
536
|
+
id: import("vue").ComputedRef<{}>;
|
|
537
537
|
link: import("../../composables/router.js").UseLink;
|
|
538
538
|
}, {}, {}, {}, {
|
|
539
539
|
replace: boolean;
|
|
@@ -652,7 +652,7 @@ export declare const VListItem: {
|
|
|
652
652
|
openOnSelect: (id: unknown, value: boolean, event?: Event) => void;
|
|
653
653
|
getPath: (id: unknown) => unknown[];
|
|
654
654
|
};
|
|
655
|
-
id: import("vue").ComputedRef<{}
|
|
655
|
+
id: import("vue").ComputedRef<{}>;
|
|
656
656
|
link: import("../../composables/router.js").UseLink;
|
|
657
657
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
658
658
|
click: (e: MouseEvent | KeyboardEvent) => true;
|
|
@@ -22,7 +22,7 @@ import { makeTagProps } from "../../composables/tag.js";
|
|
|
22
22
|
import { makeThemeProps, provideTheme } from "../../composables/theme.js";
|
|
23
23
|
import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.js"; // Directives
|
|
24
24
|
import { Ripple } from "../../directives/ripple/index.js"; // Utilities
|
|
25
|
-
import { computed, onBeforeMount, toDisplayString, watch } from 'vue';
|
|
25
|
+
import { computed, onBeforeMount, toDisplayString, toRef, watch } from 'vue';
|
|
26
26
|
import { deprecate, EventProp, genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
|
|
27
27
|
export const makeVListItemProps = propsFactory({
|
|
28
28
|
active: {
|
|
@@ -105,12 +105,12 @@ export const VListItem = genericComponent()({
|
|
|
105
105
|
} = useNestedItem(id, false);
|
|
106
106
|
const list = useList();
|
|
107
107
|
const isActive = computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
|
|
108
|
-
const isLink =
|
|
108
|
+
const isLink = toRef(() => props.link !== false && link.isLink.value);
|
|
109
109
|
const isSelectable = computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
|
|
110
110
|
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
|
|
111
|
-
const roundedProps =
|
|
112
|
-
const color =
|
|
113
|
-
const variantProps =
|
|
111
|
+
const roundedProps = toRef(() => props.rounded || props.nav);
|
|
112
|
+
const color = toRef(() => props.color ?? props.activeColor);
|
|
113
|
+
const variantProps = toRef(() => ({
|
|
114
114
|
color: isActive.value ? color.value ?? props.baseColor : props.baseColor,
|
|
115
115
|
variant: props.variant
|
|
116
116
|
}));
|
|
@@ -153,7 +153,7 @@ export const VListItem = genericComponent()({
|
|
|
153
153
|
const {
|
|
154
154
|
roundedClasses
|
|
155
155
|
} = useRounded(roundedProps);
|
|
156
|
-
const lineClasses =
|
|
156
|
+
const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined);
|
|
157
157
|
const slotProps = computed(() => ({
|
|
158
158
|
isActive: isActive.value,
|
|
159
159
|
select,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VListItem.js","names":["VListItemSubtitle","VListItemTitle","VAvatar","VDefaultsProvider","VIcon","useList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useNestedItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","onBeforeMount","toDisplayString","watch","deprecate","EventProp","genericComponent","propsFactory","useRender","makeVListItemProps","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","Object","slim","subtitle","Number","title","value","onClick","onClickOnce","variant","VListItem","name","directives","props","emits","click","e","setup","_ref","attrs","slots","emit","id","href","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","uid","list","isActive","activatable","isLink","isSelectable","selectable","isClickable","roundedProps","rounded","color","variantProps","val","handleActiveLink","open","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","includes","target","tagName","navigate","onKeyDown","key","preventDefault","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","_mergeProps","class","style","linkProps","_Fragment","density","image","icon","VListItemAction","start","end","_resolveDirective"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onBeforeMount, toDisplayString, watch } from 'vue'\nimport { deprecate, EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type ListItemSlot = {\n isActive: boolean\n isOpen: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number | boolean\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number | boolean\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n slim: Boolean,\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n value: null,\n\n onClick: EventProp<[MouseEvent | KeyboardEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n id: uid,\n } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))\n )\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isSelectable = computed(() => (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || isSelectable.value)\n )\n\n const roundedProps = computed(() => props.rounded || props.nav)\n const color = computed(() => props.color ?? props.activeColor)\n const variantProps = computed(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n // useNestedItem doesn't call register until beforeMount,\n // so this can't be an immediate watcher as we don't know parent yet\n watch(() => link.isActive?.value, val => {\n if (!val) return\n handleActiveLink()\n })\n onBeforeMount(() => {\n if (link.isActive?.value) handleActiveLink()\n })\n function handleActiveLink () {\n if (parent.value != null) {\n root.open(parent.value, true)\n }\n openOnSelect(true)\n }\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n if (['INPUT', 'TEXTAREA'].includes((e.target as Element)?.tagName)) return\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n\n if (isGroupActivator) return\n\n if (root.activatable.value) {\n activate(!isActivated.value, e)\n } else if (root.selectable.value) {\n select(!isSelected.value, e)\n } else if (props.value != null) {\n select(!isSelected.value, e)\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n e.target!.dispatchEvent(new MouseEvent('click', e))\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n aria-selected={\n isSelectable.value ? (\n root.activatable.value ? isActivated.value\n : root.selectable.value ? isSelected.value\n : isActive.value\n ) : undefined\n }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && props.ripple }\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? toDisplayString(props.title) }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? toDisplayString(props.subtitle) }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n </Tag>\n )\n })\n\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link,\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VListItem.js","names":["VListItemSubtitle","VListItemTitle","VAvatar","VDefaultsProvider","VIcon","useList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useNestedItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","onBeforeMount","toDisplayString","toRef","watch","deprecate","EventProp","genericComponent","propsFactory","useRender","makeVListItemProps","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","Object","slim","subtitle","Number","title","value","onClick","onClickOnce","variant","VListItem","name","directives","props","emits","click","e","setup","_ref","attrs","slots","emit","id","href","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","uid","list","isActive","activatable","isLink","isSelectable","selectable","isClickable","roundedProps","rounded","color","variantProps","val","handleActiveLink","open","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","includes","target","tagName","navigate","onKeyDown","key","preventDefault","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","_mergeProps","class","style","linkProps","_Fragment","density","image","icon","VListItemAction","start","end","_resolveDirective"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onBeforeMount, toDisplayString, toRef, watch } from 'vue'\nimport { deprecate, EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type ListItemSlot = {\n isActive: boolean\n isOpen: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number | boolean\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number | boolean\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n slim: Boolean,\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n value: null,\n\n onClick: EventProp<[MouseEvent | KeyboardEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n id: uid,\n } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))\n )\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isSelectable = computed(() => (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || isSelectable.value)\n )\n\n const roundedProps = toRef(() => props.rounded || props.nav)\n const color = toRef(() => props.color ?? props.activeColor)\n const variantProps = toRef(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n // useNestedItem doesn't call register until beforeMount,\n // so this can't be an immediate watcher as we don't know parent yet\n watch(() => link.isActive?.value, val => {\n if (!val) return\n handleActiveLink()\n })\n onBeforeMount(() => {\n if (link.isActive?.value) handleActiveLink()\n })\n function handleActiveLink () {\n if (parent.value != null) {\n root.open(parent.value, true)\n }\n openOnSelect(true)\n }\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n if (['INPUT', 'TEXTAREA'].includes((e.target as Element)?.tagName)) return\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n\n if (isGroupActivator) return\n\n if (root.activatable.value) {\n activate(!isActivated.value, e)\n } else if (root.selectable.value) {\n select(!isSelected.value, e)\n } else if (props.value != null) {\n select(!isSelected.value, e)\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n e.target!.dispatchEvent(new MouseEvent('click', e))\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n aria-selected={\n isSelectable.value ? (\n root.activatable.value ? isActivated.value\n : root.selectable.value ? isSelected.value\n : isActive.value\n ) : undefined\n }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && props.ripple }\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? toDisplayString(props.title) }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? toDisplayString(props.subtitle) }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n </Tag>\n )\n })\n\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link,\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,6 @@ import { createVNode as _createVNode } from "vue";
|
|
|
3
3
|
import { useTextColor } from "../../composables/color.js";
|
|
4
4
|
import { makeComponentProps } from "../../composables/component.js";
|
|
5
5
|
import { makeTagProps } from "../../composables/tag.js"; // Utilities
|
|
6
|
-
import { toRef } from 'vue';
|
|
7
6
|
import { genericComponent, propsFactory, useRender } from "../../util/index.js";
|
|
8
7
|
export const makeVListSubheaderProps = propsFactory({
|
|
9
8
|
color: String,
|
|
@@ -23,7 +22,7 @@ export const VListSubheader = genericComponent()({
|
|
|
23
22
|
const {
|
|
24
23
|
textColorClasses,
|
|
25
24
|
textColorStyles
|
|
26
|
-
} = useTextColor(
|
|
25
|
+
} = useTextColor(() => props.color);
|
|
27
26
|
useRender(() => {
|
|
28
27
|
const hasText = !!(slots.default || props.title);
|
|
29
28
|
return _createVNode(props.tag, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VListSubheader.js","names":["useTextColor","makeComponentProps","makeTagProps","
|
|
1
|
+
{"version":3,"file":"VListSubheader.js","names":["useTextColor","makeComponentProps","makeTagProps","genericComponent","propsFactory","useRender","makeVListSubheaderProps","color","String","inset","Boolean","sticky","title","VListSubheader","name","props","setup","_ref","slots","textColorClasses","textColorStyles","hasText","default","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VList/VListSubheader.tsx"],"sourcesContent":["// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVListSubheaderProps = propsFactory({\n color: String,\n inset: Boolean,\n sticky: Boolean,\n title: String,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VListSubheader')\n\nexport const VListSubheader = genericComponent()({\n name: 'VListSubheader',\n\n props: makeVListSubheaderProps(),\n\n setup (props, { slots }) {\n const { textColorClasses, textColorStyles } = useTextColor(() => props.color)\n\n useRender(() => {\n const hasText = !!(slots.default || props.title)\n\n return (\n <props.tag\n class={[\n 'v-list-subheader',\n {\n 'v-list-subheader--inset': props.inset,\n 'v-list-subheader--sticky': props.sticky,\n },\n textColorClasses.value,\n props.class,\n ]}\n style={[\n { textColorStyles },\n props.style,\n ]}\n >\n { hasText && (\n <div class=\"v-list-subheader__text\">\n { slots.default?.() ?? props.title }\n </div>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VListSubheader = InstanceType<typeof VListSubheader>\n"],"mappings":";AAAA;AAAA,SACSA,YAAY;AAAA,SACZC,kBAAkB;AAAA,SAClBC,YAAY,oCAErB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,uBAAuB,GAAGF,YAAY,CAAC;EAClDG,KAAK,EAAEC,MAAM;EACbC,KAAK,EAAEC,OAAO;EACdC,MAAM,EAAED,OAAO;EACfE,KAAK,EAAEJ,MAAM;EAEb,GAAGP,kBAAkB,CAAC,CAAC;EACvB,GAAGC,YAAY,CAAC;AAClB,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMW,cAAc,GAAGV,gBAAgB,CAAC,CAAC,CAAC;EAC/CW,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAET,uBAAuB,CAAC,CAAC;EAEhCU,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,gBAAgB;MAAEC;IAAgB,CAAC,GAAGpB,YAAY,CAAC,MAAMe,KAAK,CAACR,KAAK,CAAC;IAE7EF,SAAS,CAAC,MAAM;MACd,MAAMgB,OAAO,GAAG,CAAC,EAAEH,KAAK,CAACI,OAAO,IAAIP,KAAK,CAACH,KAAK,CAAC;MAEhD,OAAAW,YAAA,CAAAR,KAAA,CAAAS,GAAA;QAAA,SAEW,CACL,kBAAkB,EAClB;UACE,yBAAyB,EAAET,KAAK,CAACN,KAAK;UACtC,0BAA0B,EAAEM,KAAK,CAACJ;QACpC,CAAC,EACDQ,gBAAgB,CAACM,KAAK,EACtBV,KAAK,CAACW,KAAK,CACZ;QAAA,SACM,CACL;UAAEN;QAAgB,CAAC,EACnBL,KAAK,CAACY,KAAK;MACZ;QAAAL,OAAA,EAAAA,CAAA,MAECD,OAAO,IAAAE,YAAA;UAAA;QAAA,IAEHL,KAAK,CAACI,OAAO,GAAG,CAAC,IAAIP,KAAK,CAACH,KAAK,EAErC;MAAA;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|