vuetify 3.6.15 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +182 -26
- package/dist/json/importMap-labs.json +30 -30
- package/dist/json/importMap.json +150 -150
- package/dist/json/tags.json +44 -5
- package/dist/json/web-types.json +445 -42
- package/dist/vuetify-labs.css +2359 -2344
- package/dist/vuetify-labs.d.ts +690 -341
- package/dist/vuetify-labs.esm.js +253 -211
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +252 -210
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2553 -2538
- package/dist/vuetify.d.ts +559 -315
- package/dist/vuetify.esm.js +189 -127
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +188 -126
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +160 -156
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VApp/VApp.mjs +2 -5
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.mts +6 -6
- package/lib/components/VAppBar/VAppBar.mjs +5 -5
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.mts +8 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs +15 -8
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +78 -49
- package/lib/components/VAvatar/VAvatar.css +9 -0
- package/lib/components/VAvatar/VAvatar.mjs +6 -1
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.sass +1 -0
- package/lib/components/VAvatar/_variables.scss +13 -0
- package/lib/components/VAvatar/index.d.mts +6 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +2 -3
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.mts +2 -2
- package/lib/components/VBreadcrumbs/index.d.mts +8 -8
- package/lib/components/VBtn/VBtn.css +0 -4
- package/lib/components/VBtn/VBtn.mjs +3 -1
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +0 -6
- package/lib/components/VBtn/_variables.scss +0 -1
- package/lib/components/VBtn/index.d.mts +6 -0
- package/lib/components/VCard/VCard.css +1 -0
- package/lib/components/VCard/VCard.sass +1 -0
- package/lib/components/VCard/_variables.scss +7 -3
- package/lib/components/VCarousel/index.d.mts +9 -0
- package/lib/components/VCheckbox/index.d.mts +7 -6
- package/lib/components/VCombobox/VCombobox.mjs +15 -8
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +78 -49
- package/lib/components/VDialog/index.d.mts +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -2
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +72 -0
- package/lib/components/VFab/index.d.mts +6 -0
- package/lib/components/VFileInput/index.d.mts +19 -18
- package/lib/components/VFooter/VFooter.mjs +1 -3
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.mts +3 -3
- package/lib/components/VForm/index.d.mts +10 -9
- package/lib/components/VGrid/VContainer.mjs +6 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/index.d.mts +36 -0
- package/lib/components/VImg/VImg.css +9 -0
- package/lib/components/VImg/VImg.mjs +2 -0
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +9 -0
- package/lib/components/VImg/index.d.mts +9 -0
- package/lib/components/VInput/index.d.mts +7 -6
- package/lib/components/VLayout/VLayout.mjs +2 -5
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +4 -6
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.mts +9 -9
- package/lib/components/VList/VListItem.css +2 -2
- package/lib/components/VList/VListItem.mjs +3 -1
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +1 -1
- package/lib/components/VList/index.d.mts +19 -18
- package/lib/components/VMain/VMain.mjs +2 -3
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.d.mts +2 -2
- package/lib/components/VMenu/VMenu.mjs +26 -8
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +30 -15
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +3 -4
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +5 -4
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs +0 -6
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +3 -2
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.mts +7 -6
- package/lib/components/VRangeSlider/index.d.mts +7 -6
- package/lib/components/VSelect/VSelect.mjs +15 -13
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +78 -49
- package/lib/components/VSelect/useScrolling.mjs +3 -3
- package/lib/components/VSelect/useScrolling.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +3 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +6 -0
- package/lib/components/VSlider/index.d.mts +7 -6
- package/lib/components/VSnackbar/index.d.mts +3 -3
- package/lib/components/VSpeedDial/VSpeedDial.mjs +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/components/VSpeedDial/index.d.mts +28 -13
- package/lib/components/VSwitch/index.d.mts +7 -6
- package/lib/components/VTabs/index.d.mts +21 -3
- package/lib/components/VTextField/index.d.mts +19 -18
- package/lib/components/VTextarea/index.d.mts +19 -18
- package/lib/components/VTooltip/index.d.mts +3 -3
- package/lib/components/VValidation/index.d.mts +7 -6
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +2 -0
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +3 -0
- package/lib/components/index.d.mts +504 -259
- package/lib/composables/layout.mjs +37 -14
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +3 -3
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/openStrategies.mjs +4 -2
- package/lib/composables/nested/openStrategies.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +5 -5
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/validation.mjs +8 -6
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/virtual.mjs +1 -0
- package/lib/composables/virtual.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.mts +55 -56
- package/lib/labs/VDateInput/index.d.mts +7 -6
- package/lib/labs/VNumberInput/index.d.mts +43 -42
- package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +4 -3
- package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -1
- package/lib/labs/VPullToRefresh/index.d.mts +9 -0
- package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
- package/lib/labs/VStepperVertical/index.d.mts +36 -0
- package/lib/labs/VTreeview/VTreeview.mjs +21 -6
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +33 -10
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.css +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.mjs +14 -74
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.sass +2 -5
- package/lib/labs/VTreeview/index.d.mts +133 -95
- package/lib/labs/components.d.mts +193 -109
- package/lib/util/helpers.mjs +5 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -41,7 +41,7 @@ declare const VLayout: {
|
|
|
41
41
|
right: number;
|
|
42
42
|
id: string;
|
|
43
43
|
} | undefined;
|
|
44
|
-
items:
|
|
44
|
+
items: vue.ComputedRef<{
|
|
45
45
|
size: number;
|
|
46
46
|
position: Position;
|
|
47
47
|
top: number;
|
|
@@ -49,7 +49,7 @@ declare const VLayout: {
|
|
|
49
49
|
left: number;
|
|
50
50
|
right: number;
|
|
51
51
|
id: string;
|
|
52
|
-
}[]
|
|
52
|
+
}[]>;
|
|
53
53
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
54
54
|
style: vue.StyleValue;
|
|
55
55
|
fullHeight: boolean;
|
|
@@ -114,7 +114,7 @@ declare const VLayout: {
|
|
|
114
114
|
right: number;
|
|
115
115
|
id: string;
|
|
116
116
|
} | undefined;
|
|
117
|
-
items:
|
|
117
|
+
items: vue.ComputedRef<{
|
|
118
118
|
size: number;
|
|
119
119
|
position: Position;
|
|
120
120
|
top: number;
|
|
@@ -122,7 +122,7 @@ declare const VLayout: {
|
|
|
122
122
|
left: number;
|
|
123
123
|
right: number;
|
|
124
124
|
id: string;
|
|
125
|
-
}[]
|
|
125
|
+
}[]>;
|
|
126
126
|
}, {}, {}, {}, {
|
|
127
127
|
style: vue.StyleValue;
|
|
128
128
|
fullHeight: boolean;
|
|
@@ -161,7 +161,7 @@ declare const VLayout: {
|
|
|
161
161
|
right: number;
|
|
162
162
|
id: string;
|
|
163
163
|
} | undefined;
|
|
164
|
-
items:
|
|
164
|
+
items: vue.ComputedRef<{
|
|
165
165
|
size: number;
|
|
166
166
|
position: Position;
|
|
167
167
|
top: number;
|
|
@@ -169,7 +169,7 @@ declare const VLayout: {
|
|
|
169
169
|
left: number;
|
|
170
170
|
right: number;
|
|
171
171
|
id: string;
|
|
172
|
-
}[]
|
|
172
|
+
}[]>;
|
|
173
173
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
|
174
174
|
style: vue.StyleValue;
|
|
175
175
|
fullHeight: boolean;
|
|
@@ -226,7 +226,7 @@ declare const VLayoutItem: {
|
|
|
226
226
|
} | undefined;
|
|
227
227
|
} & {
|
|
228
228
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
229
|
-
},
|
|
229
|
+
}, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
230
230
|
absolute: boolean;
|
|
231
231
|
order: string | number;
|
|
232
232
|
position: "left" | "top" | "bottom" | "right";
|
|
@@ -279,7 +279,7 @@ declare const VLayoutItem: {
|
|
|
279
279
|
} | undefined;
|
|
280
280
|
} & {
|
|
281
281
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
282
|
-
},
|
|
282
|
+
}, () => JSX.Element, {}, {}, {}, {
|
|
283
283
|
absolute: boolean;
|
|
284
284
|
order: string | number;
|
|
285
285
|
style: vue.StyleValue;
|
|
@@ -308,7 +308,7 @@ declare const VLayoutItem: {
|
|
|
308
308
|
} | undefined;
|
|
309
309
|
} & {
|
|
310
310
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
311
|
-
},
|
|
311
|
+
}, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
|
312
312
|
absolute: boolean;
|
|
313
313
|
order: string | number;
|
|
314
314
|
style: vue.StyleValue;
|
|
@@ -457,9 +457,9 @@
|
|
|
457
457
|
padding-inline-start: calc(16px + var(--indent-padding)) !important;
|
|
458
458
|
}
|
|
459
459
|
|
|
460
|
-
.v-list-group__header:not(.v-treeview-item--
|
|
460
|
+
.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active:not(:focus-visible) .v-list-item__overlay {
|
|
461
461
|
opacity: 0;
|
|
462
462
|
}
|
|
463
|
-
.v-list-group__header:not(.v-treeview-item--
|
|
463
|
+
.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active:hover .v-list-item__overlay {
|
|
464
464
|
opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier));
|
|
465
465
|
}
|
|
@@ -88,6 +88,7 @@ export const VListItem = genericComponent()({
|
|
|
88
88
|
activate,
|
|
89
89
|
isActivated,
|
|
90
90
|
select,
|
|
91
|
+
isOpen,
|
|
91
92
|
isSelected,
|
|
92
93
|
isIndeterminate,
|
|
93
94
|
isGroupActivator,
|
|
@@ -142,6 +143,7 @@ export const VListItem = genericComponent()({
|
|
|
142
143
|
const slotProps = computed(() => ({
|
|
143
144
|
isActive: isActive.value,
|
|
144
145
|
select,
|
|
146
|
+
isOpen: isOpen.value,
|
|
145
147
|
isSelected: isSelected.value,
|
|
146
148
|
isIndeterminate: isIndeterminate.value
|
|
147
149
|
}));
|
|
@@ -161,7 +163,7 @@ export const VListItem = genericComponent()({
|
|
|
161
163
|
function onKeyDown(e) {
|
|
162
164
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
163
165
|
e.preventDefault();
|
|
164
|
-
|
|
166
|
+
e.target.dispatchEvent(new MouseEvent('click', e));
|
|
165
167
|
}
|
|
166
168
|
}
|
|
167
169
|
useRender(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VListItem.mjs","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","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","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","list","isActive","activatable","isLink","isClickable","selectable","roundedProps","rounded","color","variantProps","val","open","immediate","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","navigate","onKeyDown","key","preventDefault","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","class","style","_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, 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 isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number\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: [String, Number],\n title: [String, Number],\n value: null,\n\n onClick: EventProp<[MouseEvent]>(),\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 isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\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 isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\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 watch(() => link.isActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n\n if (val) {\n openOnSelect(val)\n }\n }, { immediate: true })\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 isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\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 if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\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 href={ link.href.value }\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && props.ripple }\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 }) ?? props.title }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? 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 }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,cAAc;AAAA,SACdC,OAAO;AAAA,SACPC,iBAAiB;AAAA,SACjBC,KAAK,8BAEd;AAAA,SACSC,OAAO;AAAA,SACPC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,SAAS;AAAA,SACTC,aAAa;AAAA,SACbC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,eAAe,EAAEC,OAAO;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU,yCAElD;AAAA,SACSC,MAAM,6CAEf;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,SAAS,EAAEC,SAAS,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAExE;AA2BA,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7CG,MAAM,EAAE;IACNC,IAAI,EAAEC,OAAO;IACbC,OAAO,EAAEC;EACX,CAAC;EACDC,WAAW,EAAEC,MAAM;EACnB;EACAC,WAAW,EAAED,MAAM;EACnBE,YAAY,EAAEF,MAAM;EACpBG,UAAU,EAAE9B,SAAS;EACrB+B,SAAS,EAAEJ,MAAM;EACjBK,QAAQ,EAAET,OAAO;EACjBU,KAAK,EAAE,CAACV,OAAO,EAAEI,MAAM,CAA8C;EACrEO,IAAI,EAAE;IACJZ,IAAI,EAAEC,OAAO;IACbC,OAAO,EAAEC;EACX,CAAC;EACDU,GAAG,EAAEZ,OAAO;EACZa,aAAa,EAAET,MAAM;EACrBU,WAAW,EAAErC,SAAS;EACtBsC,MAAM,EAAE;IACNhB,IAAI,EAAE,CAACC,OAAO,EAAEgB,MAAM,CAA8C;IACpEf,OAAO,EAAE;EACX,CAAC;EACDgB,IAAI,EAAEjB,OAAO;EACbkB,QAAQ,EAAE,CAACd,MAAM,EAAEe,MAAM,CAAC;EAC1BC,KAAK,EAAE,CAAChB,MAAM,EAAEe,MAAM,CAAC;EACvBE,KAAK,EAAE,IAAI;EAEXC,OAAO,EAAE7B,SAAS,CAAe,CAAC;EAClC8B,WAAW,EAAE9B,SAAS,CAAe,CAAC;EAEtC,GAAGzB,eAAe,CAAC,CAAC;EACpB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGC,gBAAgB,CAAC,CAAC;EACrB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGI,gBAAgB,CAAC,CAAC;EACrB,GAAGE,eAAe,CAAC,CAAC;EACpB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC,CAAC;EACnB,GAAGG,gBAAgB,CAAC;IAAEqC,OAAO,EAAE;EAAO,CAAU;AAClD,CAAC,EAAE,WAAW,CAAC;AAEf,OAAO,MAAMC,SAAS,GAAG/B,gBAAgB,CAAiB,CAAC,CAAC;EAC1DgC,IAAI,EAAE,WAAW;EAEjBC,UAAU,EAAE;IAAEtC;EAAO,CAAC;EAEtBuC,KAAK,EAAE/B,kBAAkB,CAAC,CAAC;EAE3BgC,KAAK,EAAE;IACLC,KAAK,EAAGC,CAA6B,IAAK;EAC5C,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAH,IAAA;IAClC,MAAMtB,IAAI,GAAG7B,OAAO,CAAC8C,KAAK,EAAEM,KAAK,CAAC;IAClC,MAAMG,EAAE,GAAG/C,QAAQ,CAAC,MAAMsC,KAAK,CAACP,KAAK,KAAKnB,SAAS,GAAGS,IAAI,CAAC2B,IAAI,CAACjB,KAAK,GAAGO,KAAK,CAACP,KAAK,CAAC;IACpF,MAAM;MACJkB,QAAQ;MACRC,WAAW;MACXC,MAAM;MACNC,UAAU;MACVC,eAAe;MACfC,gBAAgB;MAChBC,IAAI;MACJC,MAAM;MACNC;IACF,CAAC,GAAGrE,aAAa,CAAC2D,EAAE,EAAE,KAAK,CAAC;IAC5B,MAAMW,IAAI,GAAGjF,OAAO,CAAC,CAAC;IACtB,MAAMkF,QAAQ,GAAG3D,QAAQ,CAAC,MACxBsC,KAAK,CAAC9B,MAAM,KAAK,KAAK,KACrB8B,KAAK,CAAC9B,MAAM,IAAIa,IAAI,CAACsC,QAAQ,EAAE5B,KAAK,KAAKwB,IAAI,CAACK,WAAW,CAAC7B,KAAK,GAAGmB,WAAW,CAACnB,KAAK,GAAGqB,UAAU,CAACrB,KAAK,CAAC,CAC1G,CAAC;IACD,MAAM8B,MAAM,GAAG7D,QAAQ,CAAC,MAAMsC,KAAK,CAACjB,IAAI,KAAK,KAAK,IAAIA,IAAI,CAACwC,MAAM,CAAC9B,KAAK,CAAC;IACxE,MAAM+B,WAAW,GAAG9D,QAAQ,CAAC,MAC3B,CAACsC,KAAK,CAACnB,QAAQ,IACfmB,KAAK,CAACjB,IAAI,KAAK,KAAK,KACnBiB,KAAK,CAACjB,IAAI,IAAIA,IAAI,CAACyC,WAAW,CAAC/B,KAAK,IAAK,CAAC,CAAC2B,IAAI,KAAKH,IAAI,CAACQ,UAAU,CAAChC,KAAK,IAAIwB,IAAI,CAACK,WAAW,CAAC7B,KAAK,IAAIO,KAAK,CAACP,KAAK,IAAI,IAAI,CAAE,CAC/H,CAAC;IAED,MAAMiC,YAAY,GAAGhE,QAAQ,CAAC,MAAMsC,KAAK,CAAC2B,OAAO,IAAI3B,KAAK,CAAChB,GAAG,CAAC;IAC/D,MAAM4C,KAAK,GAAGlE,QAAQ,CAAC,MAAMsC,KAAK,CAAC4B,KAAK,IAAI5B,KAAK,CAACvB,WAAW,CAAC;IAC9D,MAAMoD,YAAY,GAAGnE,QAAQ,CAAC,OAAO;MACnCkE,KAAK,EAAEP,QAAQ,CAAC5B,KAAK,GAAGmC,KAAK,CAACnC,KAAK,IAAIO,KAAK,CAACpB,SAAS,GAAGoB,KAAK,CAACpB,SAAS;MACxEgB,OAAO,EAAEI,KAAK,CAACJ;IACjB,CAAC,CAAC,CAAC;IAEHjC,KAAK,CAAC,MAAMoB,IAAI,CAACsC,QAAQ,EAAE5B,KAAK,EAAEqC,GAAG,IAAI;MACvC,IAAIA,GAAG,IAAIZ,MAAM,CAACzB,KAAK,IAAI,IAAI,EAAE;QAC/BwB,IAAI,CAACc,IAAI,CAACb,MAAM,CAACzB,KAAK,EAAE,IAAI,CAAC;MAC/B;MAEA,IAAIqC,GAAG,EAAE;QACPX,YAAY,CAACW,GAAG,CAAC;MACnB;IACF,CAAC,EAAE;MAAEE,SAAS,EAAE;IAAK,CAAC,CAAC;IAEvB,MAAM;MAAEC;IAAa,CAAC,GAAG5E,YAAY,CAAC2C,KAAK,CAAC;IAC5C,MAAM;MAAEkC;IAAc,CAAC,GAAG7F,SAAS,CAAC2D,KAAK,CAAC;IAC1C,MAAM;MAAEmC,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAG7E,UAAU,CAACqE,YAAY,CAAC;IAC9E,MAAM;MAAES;IAAe,CAAC,GAAG9F,UAAU,CAACwD,KAAK,CAAC;IAC5C,MAAM;MAAEuC;IAAgB,CAAC,GAAG7F,YAAY,CAACsD,KAAK,CAAC;IAC/C,MAAM;MAAEwC;IAAiB,CAAC,GAAG5F,YAAY,CAACoD,KAAK,CAAC;IAChD,MAAM;MAAEyC;IAAe,CAAC,GAAGzF,UAAU,CAAC0E,YAAY,CAAC;IACnD,MAAMgB,WAAW,GAAGhF,QAAQ,CAAC,MAAMsC,KAAK,CAAClB,KAAK,GAAG,gBAAgBkB,KAAK,CAAClB,KAAK,OAAO,GAAGR,SAAS,CAAC;IAEhG,MAAMqE,SAAS,GAAGjF,QAAQ,CAAC,OAAO;MAChC2D,QAAQ,EAAEA,QAAQ,CAAC5B,KAAK;MACxBoB,MAAM;MACNC,UAAU,EAAEA,UAAU,CAACrB,KAAK;MAC5BsB,eAAe,EAAEA,eAAe,CAACtB;IACnC,CAAC,CAAwB,CAAC;IAE1B,SAASC,OAAOA,CAAES,CAAa,EAAE;MAC/BK,IAAI,CAAC,OAAO,EAAEL,CAAC,CAAC;MAEhB,IAAI,CAACqB,WAAW,CAAC/B,KAAK,EAAE;MAExBV,IAAI,CAAC6D,QAAQ,GAAGzC,CAAC,CAAC;MAElB,IAAIa,gBAAgB,EAAE;MAEtB,IAAIC,IAAI,CAACK,WAAW,CAAC7B,KAAK,EAAE;QAC1BkB,QAAQ,CAAC,CAACC,WAAW,CAACnB,KAAK,EAAEU,CAAC,CAAC;MACjC,CAAC,MAAM,IAAIc,IAAI,CAACQ,UAAU,CAAChC,KAAK,EAAE;QAChCoB,MAAM,CAAC,CAACC,UAAU,CAACrB,KAAK,EAAEU,CAAC,CAAC;MAC9B,CAAC,MAAM,IAAIH,KAAK,CAACP,KAAK,IAAI,IAAI,EAAE;QAC9BoB,MAAM,CAAC,CAACC,UAAU,CAACrB,KAAK,EAAEU,CAAC,CAAC;MAC9B;IACF;IAEA,SAAS0C,SAASA,CAAE1C,CAAgB,EAAE;MACpC,IAAIA,CAAC,CAAC2C,GAAG,KAAK,OAAO,IAAI3C,CAAC,CAAC2C,GAAG,KAAK,GAAG,EAAE;QACtC3C,CAAC,CAAC4C,cAAc,CAAC,CAAC;QAClBrD,OAAO,CAACS,CAAsB,CAAC;MACjC;IACF;IAEAnC,SAAS,CAAC,MAAM;MACd,MAAMgF,GAAG,GAAGzB,MAAM,CAAC9B,KAAK,GAAG,GAAG,GAAGO,KAAK,CAACiD,GAAG;MAC1C,MAAMC,QAAQ,GAAI3C,KAAK,CAACf,KAAK,IAAIQ,KAAK,CAACR,KAAK,IAAI,IAAK;MACrD,MAAM2D,WAAW,GAAI5C,KAAK,CAACjB,QAAQ,IAAIU,KAAK,CAACV,QAAQ,IAAI,IAAK;MAC9D,MAAM8D,cAAc,GAAG,CAAC,EAAEpD,KAAK,CAACtB,YAAY,IAAIsB,KAAK,CAACrB,UAAU,CAAC;MACjE,MAAM0E,SAAS,GAAG,CAAC,EAAED,cAAc,IAAI7C,KAAK,CAAC+C,MAAM,CAAC;MACpD,MAAMC,eAAe,GAAG,CAAC,EAAEvD,KAAK,CAACf,aAAa,IAAIe,KAAK,CAACd,WAAW,CAAC;MACpE,MAAMsE,UAAU,GAAG,CAAC,EAAED,eAAe,IAAIhD,KAAK,CAACkD,OAAO,CAAC;MAEvDrC,IAAI,EAAEsC,gBAAgB,CAACF,UAAU,CAAC;MAElC,IAAIxD,KAAK,CAACvB,WAAW,EAAE;QACrBb,SAAS,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;MACpD;MAEA,OAAA+F,eAAA,CAAAC,YAAA,CAAAZ,GAAA;QAAA,SAEW,CACL,aAAa,EACb;UACE,qBAAqB,EAAE3B,QAAQ,CAAC5B,KAAK;UACrC,uBAAuB,EAAEO,KAAK,CAACnB,QAAQ;UACvC,mBAAmB,EAAE2C,WAAW,CAAC/B,KAAK;UACtC,kBAAkB,EAAEO,KAAK,CAAChB,GAAG;UAC7B,sBAAsB,EAAE,CAACwE,UAAU,IAAIpC,IAAI,EAAEoC,UAAU,CAAC/D,KAAK;UAC7D,mBAAmB,EAAEO,KAAK,CAACX,IAAI;UAC/B,CAAC,GAAGW,KAAK,CAACzB,WAAW,EAAE,GAAGyB,KAAK,CAACzB,WAAW,IAAI8C,QAAQ,CAAC5B;QAC1D,CAAC,EACDwC,YAAY,CAACxC,KAAK,EAClByC,aAAa,CAACzC,KAAK,EACnB0C,YAAY,CAAC1C,KAAK,EAClB6C,cAAc,CAAC7C,KAAK,EACpB+C,gBAAgB,CAAC/C,KAAK,EACtBiD,WAAW,CAACjD,KAAK,EACjBgD,cAAc,CAAChD,KAAK,EACpB4C,cAAc,CAAC5C,KAAK,EACpBO,KAAK,CAAC6D,KAAK,CACZ;QAAA,SACM,CACLzB,WAAW,CAAC3C,KAAK,EACjB8C,eAAe,CAAC9C,KAAK,EACrBO,KAAK,CAAC8D,KAAK,CACZ;QAAA,QACM/E,IAAI,CAAC2B,IAAI,CAACjB,KAAK;QAAA,YACX+B,WAAW,CAAC/B,KAAK,GAAI2B,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAI9C,SAAS;QAAA,WAChDoB,OAAO;QAAA,aACL8B,WAAW,CAAC/B,KAAK,IAAI,CAAC8B,MAAM,CAAC9B,KAAK,IAAIoD;MAAS;QAAAxE,OAAA,EAAAA,CAAA,MAGzDf,WAAW,CAACkE,WAAW,CAAC/B,KAAK,IAAI4B,QAAQ,CAAC5B,KAAK,EAAE,aAAa,CAAC,EAE/D+D,UAAU,IAAAI,YAAA;UAAA;UAAA;QAAA,IAEN,CAACrD,KAAK,CAACkD,OAAO,GAAAG,YAAA,CAAAG,SAAA,SAEV/D,KAAK,CAACf,aAAa,IAAA2E,YAAA,CAAA5H,OAAA;UAAA;UAAA,WAGPgE,KAAK,CAACgE,OAAO;UAAA,SACfhE,KAAK,CAACf;QAAa,QAE9B,EAECe,KAAK,CAACd,WAAW,IAAA0E,YAAA,CAAA1H,KAAA;UAAA;UAAA,WAGL8D,KAAK,CAACgE,OAAO;UAAA,QAChBhE,KAAK,CAACd;QAAW,QAE3B,KAAA0E,YAAA,CAAA3H,iBAAA;UAAA;UAAA,YAKU,CAACsH,eAAe;UAAA,YACjB;YACRvH,OAAO,EAAE;cACPgI,OAAO,EAAEhE,KAAK,CAACgE,OAAO;cACtBC,KAAK,EAAEjE,KAAK,CAACf;YACf,CAAC;YACD/C,KAAK,EAAE;cACL8H,OAAO,EAAEhE,KAAK,CAACgE,OAAO;cACtBE,IAAI,EAAElE,KAAK,CAACd;YACd,CAAC;YACDiF,eAAe,EAAE;cACfC,KAAK,EAAE;YACT;UACF;QAAC;UAAA/F,OAAA,EAAAA,CAAA,MAECkC,KAAK,CAACkD,OAAO,GAAGd,SAAS,CAAClD,KAAK,CAAC;QAAA,EAErC,EAAAmE,YAAA;UAAA;QAAA,UAIJ,EAAAA,YAAA;UAAA;UAAA;QAAA,IAGGV,QAAQ,IAAAU,YAAA,CAAA7H,cAAA;UAAA;QAAA;UAAAsC,OAAA,EAAAA,CAAA,MAEJkC,KAAK,CAACf,KAAK,GAAG;YAAEA,KAAK,EAAEQ,KAAK,CAACR;UAAM,CAAC,CAAC,IAAIQ,KAAK,CAACR,KAAK;QAAA,EAEzD,EAEC2D,WAAW,IAAAS,YAAA,CAAA9H,iBAAA;UAAA;QAAA;UAAAuC,OAAA,EAAAA,CAAA,MAEPkC,KAAK,CAACjB,QAAQ,GAAG;YAAEA,QAAQ,EAAEU,KAAK,CAACV;UAAS,CAAC,CAAC,IAAIU,KAAK,CAACV,QAAQ;QAAA,EAErE,EAECiB,KAAK,CAAClC,OAAO,GAAGsE,SAAS,CAAClD,KAAK,CAAC,IAGlC4D,SAAS,IAAAO,YAAA;UAAA;UAAA;QAAA,IAEL,CAACrD,KAAK,CAAC+C,MAAM,GAAAM,YAAA,CAAAG,SAAA,SAET/D,KAAK,CAACrB,UAAU,IAAAiF,YAAA,CAAA1H,KAAA;UAAA;UAAA,WAGJ8D,KAAK,CAACgE,OAAO;UAAA,QAChBhE,KAAK,CAACrB;QAAU,QAE1B,EAECqB,KAAK,CAACtB,YAAY,IAAAkF,YAAA,CAAA5H,OAAA;UAAA;UAAA,WAGNgE,KAAK,CAACgE,OAAO;UAAA,SACfhE,KAAK,CAACtB;QAAY,QAE7B,KAAAkF,YAAA,CAAA3H,iBAAA;UAAA;UAAA,YAKU,CAACmH,cAAc;UAAA,YAChB;YACRpH,OAAO,EAAE;cACPgI,OAAO,EAAEhE,KAAK,CAACgE,OAAO;cACtBC,KAAK,EAAEjE,KAAK,CAACtB;YACf,CAAC;YACDxC,KAAK,EAAE;cACL8H,OAAO,EAAEhE,KAAK,CAACgE,OAAO;cACtBE,IAAI,EAAElE,KAAK,CAACrB;YACd,CAAC;YACDwF,eAAe,EAAE;cACfE,GAAG,EAAE;YACP;UACF;QAAC;UAAAhG,OAAA,EAAAA,CAAA,MAECkC,KAAK,CAAC+C,MAAM,GAAGX,SAAS,CAAClD,KAAK,CAAC;QAAA,EAEpC,EAAAmE,YAAA;UAAA;QAAA,UAIJ;MAAA,MAAAU,iBAAA,YA9GU9C,WAAW,CAAC/B,KAAK,IAAIO,KAAK,CAACb,MAAM;IAiHlD,CAAC,CAAC;IAEF,OAAO;MACLwB,QAAQ;MACRC,WAAW;MACXI,gBAAgB;MAChBF,UAAU;MACVM,IAAI;MACJP;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VListItem.mjs","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","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","list","isActive","activatable","isLink","isClickable","selectable","roundedProps","rounded","color","variantProps","val","open","immediate","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","slotProps","navigate","onKeyDown","key","preventDefault","target","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","class","style","_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, 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\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number\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: [String, Number],\n title: [String, Number],\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 } = 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 isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\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 watch(() => link.isActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n\n if (val) {\n openOnSelect(val)\n }\n }, { immediate: true })\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\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 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 href={ link.href.value }\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && props.ripple }\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 }) ?? props.title }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? 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 }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -319,7 +319,7 @@
|
|
|
319
319
|
.v-list-group__items .v-list-item
|
|
320
320
|
padding-inline-start: calc(#{$base-padding} + var(--indent-padding)) !important
|
|
321
321
|
|
|
322
|
-
.v-list-group__header:not(.v-treeview-item--
|
|
322
|
+
.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active
|
|
323
323
|
&:not(:focus-visible)
|
|
324
324
|
.v-list-item__overlay
|
|
325
325
|
opacity: 0
|
|
@@ -58,6 +58,7 @@ interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'v
|
|
|
58
58
|
|
|
59
59
|
type ListItemSlot = {
|
|
60
60
|
isActive: boolean;
|
|
61
|
+
isOpen: boolean;
|
|
61
62
|
isSelected: boolean;
|
|
62
63
|
isIndeterminate: boolean;
|
|
63
64
|
select: (value: boolean) => void;
|
|
@@ -104,7 +105,7 @@ declare const VListItem: {
|
|
|
104
105
|
value?: any;
|
|
105
106
|
title?: string | number | undefined;
|
|
106
107
|
class?: any;
|
|
107
|
-
onClick?: ((args_0: MouseEvent) => void) | undefined;
|
|
108
|
+
onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
|
|
108
109
|
onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
|
|
109
110
|
href?: string | undefined;
|
|
110
111
|
elevation?: string | number | undefined;
|
|
@@ -112,12 +113,12 @@ declare const VListItem: {
|
|
|
112
113
|
theme?: string | undefined;
|
|
113
114
|
rounded?: string | number | boolean | undefined;
|
|
114
115
|
baseColor?: string | undefined;
|
|
116
|
+
activeColor?: string | undefined;
|
|
115
117
|
prependIcon?: IconValue | undefined;
|
|
116
118
|
appendIcon?: IconValue | undefined;
|
|
117
119
|
activeClass?: string | undefined;
|
|
118
120
|
appendAvatar?: string | undefined;
|
|
119
121
|
prependAvatar?: string | undefined;
|
|
120
|
-
activeColor?: string | undefined;
|
|
121
122
|
subtitle?: string | number | undefined;
|
|
122
123
|
lines?: false | "one" | "two" | "three" | undefined;
|
|
123
124
|
} & {
|
|
@@ -183,7 +184,7 @@ declare const VListItem: {
|
|
|
183
184
|
value?: any;
|
|
184
185
|
title?: string | number | undefined;
|
|
185
186
|
class?: any;
|
|
186
|
-
onClick?: ((args_0: MouseEvent) => void) | undefined;
|
|
187
|
+
onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
|
|
187
188
|
onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
|
|
188
189
|
href?: string | undefined;
|
|
189
190
|
elevation?: string | number | undefined;
|
|
@@ -191,12 +192,12 @@ declare const VListItem: {
|
|
|
191
192
|
theme?: string | undefined;
|
|
192
193
|
rounded?: string | number | boolean | undefined;
|
|
193
194
|
baseColor?: string | undefined;
|
|
195
|
+
activeColor?: string | undefined;
|
|
194
196
|
prependIcon?: IconValue | undefined;
|
|
195
197
|
appendIcon?: IconValue | undefined;
|
|
196
198
|
activeClass?: string | undefined;
|
|
197
199
|
appendAvatar?: string | undefined;
|
|
198
200
|
prependAvatar?: string | undefined;
|
|
199
|
-
activeColor?: string | undefined;
|
|
200
201
|
subtitle?: string | number | undefined;
|
|
201
202
|
lines?: false | "one" | "two" | "three" | undefined;
|
|
202
203
|
} & {
|
|
@@ -280,7 +281,7 @@ declare const VListItem: {
|
|
|
280
281
|
value?: any;
|
|
281
282
|
title?: string | number | undefined;
|
|
282
283
|
class?: any;
|
|
283
|
-
onClick?: ((args_0: MouseEvent) => void) | undefined;
|
|
284
|
+
onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
|
|
284
285
|
onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
|
|
285
286
|
href?: string | undefined;
|
|
286
287
|
elevation?: string | number | undefined;
|
|
@@ -288,12 +289,12 @@ declare const VListItem: {
|
|
|
288
289
|
theme?: string | undefined;
|
|
289
290
|
rounded?: string | number | boolean | undefined;
|
|
290
291
|
baseColor?: string | undefined;
|
|
292
|
+
activeColor?: string | undefined;
|
|
291
293
|
prependIcon?: IconValue | undefined;
|
|
292
294
|
appendIcon?: IconValue | undefined;
|
|
293
295
|
activeClass?: string | undefined;
|
|
294
296
|
appendAvatar?: string | undefined;
|
|
295
297
|
prependAvatar?: string | undefined;
|
|
296
|
-
activeColor?: string | undefined;
|
|
297
298
|
subtitle?: string | number | undefined;
|
|
298
299
|
lines?: false | "one" | "two" | "three" | undefined;
|
|
299
300
|
} & {
|
|
@@ -378,7 +379,7 @@ declare const VListItem: {
|
|
|
378
379
|
value?: any;
|
|
379
380
|
title?: string | number | undefined;
|
|
380
381
|
class?: any;
|
|
381
|
-
onClick?: ((args_0: MouseEvent) => void) | undefined;
|
|
382
|
+
onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
|
|
382
383
|
onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
|
|
383
384
|
href?: string | undefined;
|
|
384
385
|
elevation?: string | number | undefined;
|
|
@@ -386,12 +387,12 @@ declare const VListItem: {
|
|
|
386
387
|
theme?: string | undefined;
|
|
387
388
|
rounded?: string | number | boolean | undefined;
|
|
388
389
|
baseColor?: string | undefined;
|
|
390
|
+
activeColor?: string | undefined;
|
|
389
391
|
prependIcon?: IconValue | undefined;
|
|
390
392
|
appendIcon?: IconValue | undefined;
|
|
391
393
|
activeClass?: string | undefined;
|
|
392
394
|
appendAvatar?: string | undefined;
|
|
393
395
|
prependAvatar?: string | undefined;
|
|
394
|
-
activeColor?: string | undefined;
|
|
395
396
|
subtitle?: string | number | undefined;
|
|
396
397
|
lines?: false | "one" | "two" | "three" | undefined;
|
|
397
398
|
} & {
|
|
@@ -523,7 +524,7 @@ declare const VListItem: {
|
|
|
523
524
|
subtitle: (StringConstructor | NumberConstructor)[];
|
|
524
525
|
title: (StringConstructor | NumberConstructor)[];
|
|
525
526
|
value: null;
|
|
526
|
-
onClick: PropType<(args_0: MouseEvent) => void>;
|
|
527
|
+
onClick: PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
|
|
527
528
|
onClickOnce: PropType<(args_0: MouseEvent) => void>;
|
|
528
529
|
}, vue.ExtractPropTypes<{
|
|
529
530
|
color: StringConstructor;
|
|
@@ -596,7 +597,7 @@ declare const VListItem: {
|
|
|
596
597
|
subtitle: (StringConstructor | NumberConstructor)[];
|
|
597
598
|
title: (StringConstructor | NumberConstructor)[];
|
|
598
599
|
value: null;
|
|
599
|
-
onClick: PropType<(args_0: MouseEvent) => void>;
|
|
600
|
+
onClick: PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
|
|
600
601
|
onClickOnce: PropType<(args_0: MouseEvent) => void>;
|
|
601
602
|
}>>;
|
|
602
603
|
type VListItem = InstanceType<typeof VListItem>;
|
|
@@ -742,9 +743,9 @@ declare const VList: {
|
|
|
742
743
|
rounded?: string | number | boolean | undefined;
|
|
743
744
|
baseColor?: string | undefined;
|
|
744
745
|
bgColor?: string | undefined;
|
|
746
|
+
activeColor?: string | undefined;
|
|
745
747
|
activeClass?: string | undefined;
|
|
746
748
|
activeStrategy?: ActiveStrategyProp | undefined;
|
|
747
|
-
activeColor?: string | undefined;
|
|
748
749
|
collapseIcon?: string | undefined;
|
|
749
750
|
expandIcon?: string | undefined;
|
|
750
751
|
} & {
|
|
@@ -813,9 +814,9 @@ declare const VList: {
|
|
|
813
814
|
rounded?: string | number | boolean | undefined;
|
|
814
815
|
baseColor?: string | undefined;
|
|
815
816
|
bgColor?: string | undefined;
|
|
817
|
+
activeColor?: string | undefined;
|
|
816
818
|
activeClass?: string | undefined;
|
|
817
819
|
activeStrategy?: ActiveStrategyProp | undefined;
|
|
818
|
-
activeColor?: string | undefined;
|
|
819
820
|
collapseIcon?: string | undefined;
|
|
820
821
|
expandIcon?: string | undefined;
|
|
821
822
|
} & {
|
|
@@ -911,9 +912,9 @@ declare const VList: {
|
|
|
911
912
|
rounded?: string | number | boolean | undefined;
|
|
912
913
|
baseColor?: string | undefined;
|
|
913
914
|
bgColor?: string | undefined;
|
|
915
|
+
activeColor?: string | undefined;
|
|
914
916
|
activeClass?: string | undefined;
|
|
915
917
|
activeStrategy?: ActiveStrategyProp | undefined;
|
|
916
|
-
activeColor?: string | undefined;
|
|
917
918
|
collapseIcon?: string | undefined;
|
|
918
919
|
expandIcon?: string | undefined;
|
|
919
920
|
} & {
|
|
@@ -986,9 +987,9 @@ declare const VList: {
|
|
|
986
987
|
rounded?: string | number | boolean | undefined;
|
|
987
988
|
baseColor?: string | undefined;
|
|
988
989
|
bgColor?: string | undefined;
|
|
990
|
+
activeColor?: string | undefined;
|
|
989
991
|
activeClass?: string | undefined;
|
|
990
992
|
activeStrategy?: ActiveStrategyProp | undefined;
|
|
991
|
-
activeColor?: string | undefined;
|
|
992
993
|
collapseIcon?: string | undefined;
|
|
993
994
|
expandIcon?: string | undefined;
|
|
994
995
|
} & {
|
|
@@ -1323,9 +1324,9 @@ declare const VListGroup: {
|
|
|
1323
1324
|
title?: string | undefined;
|
|
1324
1325
|
class?: any;
|
|
1325
1326
|
baseColor?: string | undefined;
|
|
1327
|
+
activeColor?: string | undefined;
|
|
1326
1328
|
prependIcon?: IconValue | undefined;
|
|
1327
1329
|
appendIcon?: IconValue | undefined;
|
|
1328
|
-
activeColor?: string | undefined;
|
|
1329
1330
|
} & {
|
|
1330
1331
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
1331
1332
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -1362,9 +1363,9 @@ declare const VListGroup: {
|
|
|
1362
1363
|
title?: string | undefined;
|
|
1363
1364
|
class?: any;
|
|
1364
1365
|
baseColor?: string | undefined;
|
|
1366
|
+
activeColor?: string | undefined;
|
|
1365
1367
|
prependIcon?: IconValue | undefined;
|
|
1366
1368
|
appendIcon?: IconValue | undefined;
|
|
1367
|
-
activeColor?: string | undefined;
|
|
1368
1369
|
} & {
|
|
1369
1370
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
1370
1371
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -1419,9 +1420,9 @@ declare const VListGroup: {
|
|
|
1419
1420
|
title?: string | undefined;
|
|
1420
1421
|
class?: any;
|
|
1421
1422
|
baseColor?: string | undefined;
|
|
1423
|
+
activeColor?: string | undefined;
|
|
1422
1424
|
prependIcon?: IconValue | undefined;
|
|
1423
1425
|
appendIcon?: IconValue | undefined;
|
|
1424
|
-
activeColor?: string | undefined;
|
|
1425
1426
|
} & {
|
|
1426
1427
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
1427
1428
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -1469,9 +1470,9 @@ declare const VListGroup: {
|
|
|
1469
1470
|
title?: string | undefined;
|
|
1470
1471
|
class?: any;
|
|
1471
1472
|
baseColor?: string | undefined;
|
|
1473
|
+
activeColor?: string | undefined;
|
|
1472
1474
|
prependIcon?: IconValue | undefined;
|
|
1473
1475
|
appendIcon?: IconValue | undefined;
|
|
1474
|
-
activeColor?: string | undefined;
|
|
1475
1476
|
} & {
|
|
1476
1477
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
1477
1478
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -28,8 +28,7 @@ export const VMain = genericComponent()({
|
|
|
28
28
|
dimensionStyles
|
|
29
29
|
} = useDimension(props);
|
|
30
30
|
const {
|
|
31
|
-
mainStyles
|
|
32
|
-
layoutIsReady
|
|
31
|
+
mainStyles
|
|
33
32
|
} = useLayout();
|
|
34
33
|
const {
|
|
35
34
|
ssrBootStyles
|
|
@@ -44,7 +43,7 @@ export const VMain = genericComponent()({
|
|
|
44
43
|
"class": "v-main__scroller"
|
|
45
44
|
}, [slots.default?.()]) : slots.default?.()]
|
|
46
45
|
}));
|
|
47
|
-
return
|
|
46
|
+
return {};
|
|
48
47
|
}
|
|
49
48
|
});
|
|
50
49
|
//# sourceMappingURL=VMain.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VMain.mjs","names":["makeComponentProps","makeDimensionProps","useDimension","useLayout","useSsrBoot","makeTagProps","genericComponent","propsFactory","useRender","makeVMainProps","scrollable","Boolean","tag","VMain","name","props","setup","_ref","slots","dimensionStyles","mainStyles","
|
|
1
|
+
{"version":3,"file":"VMain.mjs","names":["makeComponentProps","makeDimensionProps","useDimension","useLayout","useSsrBoot","makeTagProps","genericComponent","propsFactory","useRender","makeVMainProps","scrollable","Boolean","tag","VMain","name","props","setup","_ref","slots","dimensionStyles","mainStyles","ssrBootStyles","_createVNode","class","value","style","default"],"sources":["../../../src/components/VMain/VMain.tsx"],"sourcesContent":["// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVMainProps = propsFactory({\n scrollable: Boolean,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeTagProps({ tag: 'main' }),\n}, 'VMain')\n\nexport const VMain = genericComponent()({\n name: 'VMain',\n\n props: makeVMainProps(),\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n useRender(() => (\n <props.tag\n class={[\n 'v-main',\n { 'v-main--scrollable': props.scrollable },\n props.class,\n ]}\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n >\n { props.scrollable\n ? (\n <div class=\"v-main__scroller\">\n { slots.default?.() }\n </div>\n )\n : slots.default?.()\n }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VMain = InstanceType<typeof VMain>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,SAAS;AAAA,SACTC,UAAU;AAAA,SACVC,YAAY,qCAErB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,cAAc,GAAGF,YAAY,CAAC;EACzCG,UAAU,EAAEC,OAAO;EAEnB,GAAGX,kBAAkB,CAAC,CAAC;EACvB,GAAGC,kBAAkB,CAAC,CAAC;EACvB,GAAGI,YAAY,CAAC;IAAEO,GAAG,EAAE;EAAO,CAAC;AACjC,CAAC,EAAE,OAAO,CAAC;AAEX,OAAO,MAAMC,KAAK,GAAGP,gBAAgB,CAAC,CAAC,CAAC;EACtCQ,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAEN,cAAc,CAAC,CAAC;EAEvBO,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAgB,CAAC,GAAGjB,YAAY,CAACa,KAAK,CAAC;IAC/C,MAAM;MAAEK;IAAW,CAAC,GAAGjB,SAAS,CAAC,CAAC;IAClC,MAAM;MAAEkB;IAAc,CAAC,GAAGjB,UAAU,CAAC,CAAC;IAEtCI,SAAS,CAAC,MAAAc,YAAA,CAAAP,KAAA,CAAAH,GAAA;MAAA,SAEC,CACL,QAAQ,EACR;QAAE,oBAAoB,EAAEG,KAAK,CAACL;MAAW,CAAC,EAC1CK,KAAK,CAACQ,KAAK,CACZ;MAAA,SACM,CACLH,UAAU,CAACI,KAAK,EAChBH,aAAa,CAACG,KAAK,EACnBL,eAAe,CAACK,KAAK,EACrBT,KAAK,CAACU,KAAK;IACZ;MAAAC,OAAA,EAAAA,CAAA,MAECX,KAAK,CAACL,UAAU,GAAAY,YAAA;QAAA;MAAA,IAGVJ,KAAK,CAACQ,OAAO,GAAG,CAAC,KAGrBR,KAAK,CAACQ,OAAO,GAAG,CAAC;IAAA,EAGxB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -29,7 +29,7 @@ declare const VMain: {
|
|
|
29
29
|
} | undefined;
|
|
30
30
|
} & {
|
|
31
31
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
32
|
-
},
|
|
32
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
33
33
|
style: vue.StyleValue;
|
|
34
34
|
tag: string;
|
|
35
35
|
scrollable: boolean;
|
|
@@ -113,7 +113,7 @@ declare const VMain: {
|
|
|
113
113
|
} | undefined;
|
|
114
114
|
} & {
|
|
115
115
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
116
|
-
},
|
|
116
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
|
117
117
|
style: vue.StyleValue;
|
|
118
118
|
tag: string;
|
|
119
119
|
scrollable: boolean;
|
|
@@ -8,19 +8,22 @@ import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
|
|
|
8
8
|
import { VOverlay } from "../VOverlay/index.mjs";
|
|
9
9
|
import { makeVOverlayProps } from "../VOverlay/VOverlay.mjs"; // Composables
|
|
10
10
|
import { forwardRefs } from "../../composables/forwardRefs.mjs";
|
|
11
|
+
import { useRtl } from "../../composables/locale.mjs";
|
|
11
12
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
12
13
|
import { useScopeId } from "../../composables/scopeId.mjs"; // Utilities
|
|
13
|
-
import { computed, inject, mergeProps, nextTick, provide, ref, shallowRef, watch } from 'vue';
|
|
14
|
+
import { computed, inject, mergeProps, nextTick, onBeforeUnmount, onDeactivated, provide, ref, shallowRef, watch } from 'vue';
|
|
14
15
|
import { VMenuSymbol } from "./shared.mjs";
|
|
15
16
|
import { focusableChildren, focusChild, genericComponent, getNextElement, getUid, isClickInsideElement, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
16
17
|
export const makeVMenuProps = propsFactory({
|
|
17
18
|
// TODO
|
|
18
19
|
// disableKeys: Boolean,
|
|
19
20
|
id: String,
|
|
21
|
+
submenu: Boolean,
|
|
20
22
|
...omit(makeVOverlayProps({
|
|
21
23
|
closeDelay: 250,
|
|
22
24
|
closeOnContentClick: true,
|
|
23
25
|
locationStrategy: 'connected',
|
|
26
|
+
location: undefined,
|
|
24
27
|
openDelay: 300,
|
|
25
28
|
scrim: false,
|
|
26
29
|
scrollStrategy: 'reposition',
|
|
@@ -43,27 +46,32 @@ export const VMenu = genericComponent()({
|
|
|
43
46
|
const {
|
|
44
47
|
scopeId
|
|
45
48
|
} = useScopeId();
|
|
49
|
+
const {
|
|
50
|
+
isRtl
|
|
51
|
+
} = useRtl();
|
|
46
52
|
const uid = getUid();
|
|
47
53
|
const id = computed(() => props.id || `v-menu-${uid}`);
|
|
48
54
|
const overlay = ref();
|
|
49
55
|
const parent = inject(VMenuSymbol, null);
|
|
50
|
-
const openChildren = shallowRef(
|
|
56
|
+
const openChildren = shallowRef(new Set());
|
|
51
57
|
provide(VMenuSymbol, {
|
|
52
58
|
register() {
|
|
53
|
-
|
|
59
|
+
openChildren.value.add(uid);
|
|
54
60
|
},
|
|
55
61
|
unregister() {
|
|
56
|
-
|
|
62
|
+
openChildren.value.delete(uid);
|
|
57
63
|
},
|
|
58
64
|
closeParents(e) {
|
|
59
65
|
setTimeout(() => {
|
|
60
|
-
if (!openChildren.value && !props.persistent && (e == null || overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl))) {
|
|
66
|
+
if (!openChildren.value.size && !props.persistent && (e == null || overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl))) {
|
|
61
67
|
isActive.value = false;
|
|
62
68
|
parent?.closeParents();
|
|
63
69
|
}
|
|
64
70
|
}, 40);
|
|
65
71
|
}
|
|
66
72
|
});
|
|
73
|
+
onBeforeUnmount(() => parent?.unregister());
|
|
74
|
+
onDeactivated(() => isActive.value = false);
|
|
67
75
|
async function onFocusIn(e) {
|
|
68
76
|
const before = e.relatedTarget;
|
|
69
77
|
const after = e.target;
|
|
@@ -103,9 +111,9 @@ export const VMenu = genericComponent()({
|
|
|
103
111
|
isActive.value = false;
|
|
104
112
|
overlay.value?.activatorEl?.focus();
|
|
105
113
|
}
|
|
106
|
-
} else if (
|
|
114
|
+
} else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
|
|
107
115
|
isActive.value = false;
|
|
108
|
-
|
|
116
|
+
overlay.value?.activatorEl?.focus();
|
|
109
117
|
}
|
|
110
118
|
}
|
|
111
119
|
function onActivatorKeydown(e) {
|
|
@@ -114,12 +122,21 @@ export const VMenu = genericComponent()({
|
|
|
114
122
|
if (el && isActive.value) {
|
|
115
123
|
if (e.key === 'ArrowDown') {
|
|
116
124
|
e.preventDefault();
|
|
125
|
+
e.stopImmediatePropagation();
|
|
117
126
|
focusChild(el, 'next');
|
|
118
127
|
} else if (e.key === 'ArrowUp') {
|
|
119
128
|
e.preventDefault();
|
|
129
|
+
e.stopImmediatePropagation();
|
|
120
130
|
focusChild(el, 'prev');
|
|
131
|
+
} else if (props.submenu) {
|
|
132
|
+
if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
|
|
133
|
+
isActive.value = false;
|
|
134
|
+
} else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
|
|
135
|
+
e.preventDefault();
|
|
136
|
+
focusChild(el, 'first');
|
|
137
|
+
}
|
|
121
138
|
}
|
|
122
|
-
} else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
139
|
+
} else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
123
140
|
isActive.value = true;
|
|
124
141
|
e.preventDefault();
|
|
125
142
|
setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
|
|
@@ -143,6 +160,7 @@ export const VMenu = genericComponent()({
|
|
|
143
160
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
144
161
|
"absolute": true,
|
|
145
162
|
"activatorProps": activatorProps.value,
|
|
163
|
+
"location": props.location ?? (props.submenu ? 'end' : 'bottom'),
|
|
146
164
|
"onClick:outside": onClickOutside,
|
|
147
165
|
"onKeydown": onKeydown
|
|
148
166
|
}, scopeId), {
|