@vuetify/nightly 3.7.1-master.2024-08-29 → 3.7.1-master.2024-09-01
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/importMap-labs.json +20 -20
- package/dist/json/importMap.json +134 -134
- package/dist/json/web-types.json +1 -1
- package/dist/vuetify-labs.css +4938 -4938
- package/dist/vuetify-labs.d.ts +57 -0
- package/dist/vuetify-labs.esm.js +38 -40
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +38 -40
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1481 -1481
- package/dist/vuetify.d.ts +104 -47
- package/dist/vuetify.esm.js +26 -9
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +26 -9
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +22 -22
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +3 -0
- package/lib/components/VCombobox/index.d.mts +3 -0
- package/lib/components/VList/VList.mjs +4 -2
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +5 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +57 -0
- package/lib/components/VSelect/index.d.mts +3 -0
- package/lib/components/index.d.mts +57 -0
- package/lib/composables/nested/nested.mjs +15 -3
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +47 -47
- package/lib/labs/VTreeview/VTreeview.mjs +3 -12
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.mjs +9 -20
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/package.json +1 -1
@@ -397,6 +397,7 @@ declare const VList: {
|
|
397
397
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
398
398
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
399
399
|
parents: vue.Ref<Map<unknown, unknown>>;
|
400
|
+
getPath: (id: unknown) => unknown[];
|
400
401
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
401
402
|
'update:selected': (value: unknown) => true;
|
402
403
|
'update:activated': (value: unknown) => true;
|
@@ -566,6 +567,7 @@ declare const VList: {
|
|
566
567
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
567
568
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
568
569
|
parents: vue.Ref<Map<unknown, unknown>>;
|
570
|
+
getPath: (id: unknown) => unknown[];
|
569
571
|
}, {}, {}, {}, {
|
570
572
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
571
573
|
nav: boolean;
|
@@ -641,6 +643,7 @@ declare const VList: {
|
|
641
643
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
642
644
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
643
645
|
parents: vue.Ref<Map<unknown, unknown>>;
|
646
|
+
getPath: (id: unknown) => unknown[];
|
644
647
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
645
648
|
'update:selected': (value: unknown) => true;
|
646
649
|
'update:activated': (value: unknown) => true;
|
@@ -397,6 +397,7 @@ declare const VList: {
|
|
397
397
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
398
398
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
399
399
|
parents: vue.Ref<Map<unknown, unknown>>;
|
400
|
+
getPath: (id: unknown) => unknown[];
|
400
401
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
401
402
|
'update:selected': (value: unknown) => true;
|
402
403
|
'update:activated': (value: unknown) => true;
|
@@ -566,6 +567,7 @@ declare const VList: {
|
|
566
567
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
567
568
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
568
569
|
parents: vue.Ref<Map<unknown, unknown>>;
|
570
|
+
getPath: (id: unknown) => unknown[];
|
569
571
|
}, {}, {}, {}, {
|
570
572
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
571
573
|
nav: boolean;
|
@@ -641,6 +643,7 @@ declare const VList: {
|
|
641
643
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
642
644
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
643
645
|
parents: vue.Ref<Map<unknown, unknown>>;
|
646
|
+
getPath: (id: unknown) => unknown[];
|
644
647
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
645
648
|
'update:selected': (value: unknown) => true;
|
646
649
|
'update:activated': (value: unknown) => true;
|
@@ -139,7 +139,8 @@ export const VList = genericComponent()({
|
|
139
139
|
children,
|
140
140
|
open,
|
141
141
|
parents,
|
142
|
-
select
|
142
|
+
select,
|
143
|
+
getPath
|
143
144
|
} = useNested(props);
|
144
145
|
const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined);
|
145
146
|
const activeColor = toRef(props, 'activeColor');
|
@@ -231,7 +232,8 @@ export const VList = genericComponent()({
|
|
231
232
|
select,
|
232
233
|
focus,
|
233
234
|
children,
|
234
|
-
parents
|
235
|
+
parents,
|
236
|
+
getPath
|
235
237
|
};
|
236
238
|
}
|
237
239
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VList.mjs","names":["VListChildren","createList","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","computed","ref","shallowRef","toRef","EventProp","focusChild","genericComponent","getPropertyFromItem","omit","propsFactory","useRender","isPrimitive","value","transformItem","props","item","type","itemType","title","itemTitle","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","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 { 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 { EventProp, focusChild, genericComponent, getPropertyFromItem, omit, propsFactory, useRender } 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 isPrimitive (value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'\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: String,\n collapseIcon: String,\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 } = 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 || isFocused.value) ? -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 }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VList.mjs","names":["VListChildren","createList","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","computed","ref","shallowRef","toRef","EventProp","focusChild","genericComponent","getPropertyFromItem","omit","propsFactory","useRender","isPrimitive","value","transformItem","props","item","type","itemType","title","itemTitle","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 { 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 { EventProp, focusChild, genericComponent, getPropertyFromItem, omit, propsFactory, useRender } 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 isPrimitive (value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'\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: String,\n collapseIcon: String,\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 || isFocused.value) ? -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":[]}
|
@@ -94,7 +94,8 @@ export const VListItem = genericComponent()({
|
|
94
94
|
isGroupActivator,
|
95
95
|
root,
|
96
96
|
parent,
|
97
|
-
openOnSelect
|
97
|
+
openOnSelect,
|
98
|
+
id: uid
|
98
99
|
} = useNestedItem(id, false);
|
99
100
|
const list = useList();
|
100
101
|
const isActive = computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
|
@@ -280,7 +281,9 @@ export const VListItem = genericComponent()({
|
|
280
281
|
isGroupActivator,
|
281
282
|
isSelected,
|
282
283
|
list,
|
283
|
-
select
|
284
|
+
select,
|
285
|
+
root,
|
286
|
+
id: uid
|
284
287
|
};
|
285
288
|
}
|
286
289
|
});
|
@@ -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","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":[]}
|
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","uid","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 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 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 root,\n id: uid,\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;AA4BA,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,CAA+B,CAAC;EAClD8B,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,MAAM;MACNC,UAAU;MACVC,eAAe;MACfC,gBAAgB;MAChBC,IAAI;MACJC,MAAM;MACNC,YAAY;MACZX,EAAE,EAAEY;IACN,CAAC,GAAGvE,aAAa,CAAC2D,EAAE,EAAE,KAAK,CAAC;IAC5B,MAAMa,IAAI,GAAGnF,OAAO,CAAC,CAAC;IACtB,MAAMoF,QAAQ,GAAG7D,QAAQ,CAAC,MACxBsC,KAAK,CAAC9B,MAAM,KAAK,KAAK,KACrB8B,KAAK,CAAC9B,MAAM,IAAIa,IAAI,CAACwC,QAAQ,EAAE9B,KAAK,KAAKyB,IAAI,CAACM,WAAW,CAAC/B,KAAK,GAAGmB,WAAW,CAACnB,KAAK,GAAGsB,UAAU,CAACtB,KAAK,CAAC,CAC1G,CAAC;IACD,MAAMgC,MAAM,GAAG/D,QAAQ,CAAC,MAAMsC,KAAK,CAACjB,IAAI,KAAK,KAAK,IAAIA,IAAI,CAAC0C,MAAM,CAAChC,KAAK,CAAC;IACxE,MAAMiC,WAAW,GAAGhE,QAAQ,CAAC,MAC3B,CAACsC,KAAK,CAACnB,QAAQ,IACfmB,KAAK,CAACjB,IAAI,KAAK,KAAK,KACnBiB,KAAK,CAACjB,IAAI,IAAIA,IAAI,CAAC2C,WAAW,CAACjC,KAAK,IAAK,CAAC,CAAC6B,IAAI,KAAKJ,IAAI,CAACS,UAAU,CAAClC,KAAK,IAAIyB,IAAI,CAACM,WAAW,CAAC/B,KAAK,IAAIO,KAAK,CAACP,KAAK,IAAI,IAAI,CAAE,CAC/H,CAAC;IAED,MAAMmC,YAAY,GAAGlE,QAAQ,CAAC,MAAMsC,KAAK,CAAC6B,OAAO,IAAI7B,KAAK,CAAChB,GAAG,CAAC;IAC/D,MAAM8C,KAAK,GAAGpE,QAAQ,CAAC,MAAMsC,KAAK,CAAC8B,KAAK,IAAI9B,KAAK,CAACvB,WAAW,CAAC;IAC9D,MAAMsD,YAAY,GAAGrE,QAAQ,CAAC,OAAO;MACnCoE,KAAK,EAAEP,QAAQ,CAAC9B,KAAK,GAAGqC,KAAK,CAACrC,KAAK,IAAIO,KAAK,CAACpB,SAAS,GAAGoB,KAAK,CAACpB,SAAS;MACxEgB,OAAO,EAAEI,KAAK,CAACJ;IACjB,CAAC,CAAC,CAAC;IAEHjC,KAAK,CAAC,MAAMoB,IAAI,CAACwC,QAAQ,EAAE9B,KAAK,EAAEuC,GAAG,IAAI;MACvC,IAAIA,GAAG,IAAIb,MAAM,CAAC1B,KAAK,IAAI,IAAI,EAAE;QAC/ByB,IAAI,CAACe,IAAI,CAACd,MAAM,CAAC1B,KAAK,EAAE,IAAI,CAAC;MAC/B;MAEA,IAAIuC,GAAG,EAAE;QACPZ,YAAY,CAACY,GAAG,CAAC;MACnB;IACF,CAAC,EAAE;MAAEE,SAAS,EAAE;IAAK,CAAC,CAAC;IAEvB,MAAM;MAAEC;IAAa,CAAC,GAAG9E,YAAY,CAAC2C,KAAK,CAAC;IAC5C,MAAM;MAAEoC;IAAc,CAAC,GAAG/F,SAAS,CAAC2D,KAAK,CAAC;IAC1C,MAAM;MAAEqC,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAG/E,UAAU,CAACuE,YAAY,CAAC;IAC9E,MAAM;MAAES;IAAe,CAAC,GAAGhG,UAAU,CAACwD,KAAK,CAAC;IAC5C,MAAM;MAAEyC;IAAgB,CAAC,GAAG/F,YAAY,CAACsD,KAAK,CAAC;IAC/C,MAAM;MAAE0C;IAAiB,CAAC,GAAG9F,YAAY,CAACoD,KAAK,CAAC;IAChD,MAAM;MAAE2C;IAAe,CAAC,GAAG3F,UAAU,CAAC4E,YAAY,CAAC;IACnD,MAAMgB,WAAW,GAAGlF,QAAQ,CAAC,MAAMsC,KAAK,CAAClB,KAAK,GAAG,gBAAgBkB,KAAK,CAAClB,KAAK,OAAO,GAAGR,SAAS,CAAC;IAEhG,MAAMuE,SAAS,GAAGnF,QAAQ,CAAC,OAAO;MAChC6D,QAAQ,EAAEA,QAAQ,CAAC9B,KAAK;MACxBoB,MAAM;MACNC,MAAM,EAAEA,MAAM,CAACrB,KAAK;MACpBsB,UAAU,EAAEA,UAAU,CAACtB,KAAK;MAC5BuB,eAAe,EAAEA,eAAe,CAACvB;IACnC,CAAC,CAAwB,CAAC;IAE1B,SAASC,OAAOA,CAAES,CAAa,EAAE;MAC/BK,IAAI,CAAC,OAAO,EAAEL,CAAC,CAAC;MAEhB,IAAI,CAACuB,WAAW,CAACjC,KAAK,EAAE;MAExBV,IAAI,CAAC+D,QAAQ,GAAG3C,CAAC,CAAC;MAElB,IAAIc,gBAAgB,EAAE;MAEtB,IAAIC,IAAI,CAACM,WAAW,CAAC/B,KAAK,EAAE;QAC1BkB,QAAQ,CAAC,CAACC,WAAW,CAACnB,KAAK,EAAEU,CAAC,CAAC;MACjC,CAAC,MAAM,IAAIe,IAAI,CAACS,UAAU,CAAClC,KAAK,EAAE;QAChCoB,MAAM,CAAC,CAACE,UAAU,CAACtB,KAAK,EAAEU,CAAC,CAAC;MAC9B,CAAC,MAAM,IAAIH,KAAK,CAACP,KAAK,IAAI,IAAI,EAAE;QAC9BoB,MAAM,CAAC,CAACE,UAAU,CAACtB,KAAK,EAAEU,CAAC,CAAC;MAC9B;IACF;IAEA,SAAS4C,SAASA,CAAE5C,CAAgB,EAAE;MACpC,IAAIA,CAAC,CAAC6C,GAAG,KAAK,OAAO,IAAI7C,CAAC,CAAC6C,GAAG,KAAK,GAAG,EAAE;QACtC7C,CAAC,CAAC8C,cAAc,CAAC,CAAC;QAClB9C,CAAC,CAAC+C,MAAM,CAAEC,aAAa,CAAC,IAAIC,UAAU,CAAC,OAAO,EAAEjD,CAAC,CAAC,CAAC;MACrD;IACF;IAEAnC,SAAS,CAAC,MAAM;MACd,MAAMqF,GAAG,GAAG5B,MAAM,CAAChC,KAAK,GAAG,GAAG,GAAGO,KAAK,CAACsD,GAAG;MAC1C,MAAMC,QAAQ,GAAIhD,KAAK,CAACf,KAAK,IAAIQ,KAAK,CAACR,KAAK,IAAI,IAAK;MACrD,MAAMgE,WAAW,GAAIjD,KAAK,CAACjB,QAAQ,IAAIU,KAAK,CAACV,QAAQ,IAAI,IAAK;MAC9D,MAAMmE,cAAc,GAAG,CAAC,EAAEzD,KAAK,CAACtB,YAAY,IAAIsB,KAAK,CAACrB,UAAU,CAAC;MACjE,MAAM+E,SAAS,GAAG,CAAC,EAAED,cAAc,IAAIlD,KAAK,CAACoD,MAAM,CAAC;MACpD,MAAMC,eAAe,GAAG,CAAC,EAAE5D,KAAK,CAACf,aAAa,IAAIe,KAAK,CAACd,WAAW,CAAC;MACpE,MAAM2E,UAAU,GAAG,CAAC,EAAED,eAAe,IAAIrD,KAAK,CAACuD,OAAO,CAAC;MAEvDxC,IAAI,EAAEyC,gBAAgB,CAACF,UAAU,CAAC;MAElC,IAAI7D,KAAK,CAACvB,WAAW,EAAE;QACrBb,SAAS,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;MACpD;MAEA,OAAAoG,eAAA,CAAAC,YAAA,CAAAZ,GAAA;QAAA,SAEW,CACL,aAAa,EACb;UACE,qBAAqB,EAAE9B,QAAQ,CAAC9B,KAAK;UACrC,uBAAuB,EAAEO,KAAK,CAACnB,QAAQ;UACvC,mBAAmB,EAAE6C,WAAW,CAACjC,KAAK;UACtC,kBAAkB,EAAEO,KAAK,CAAChB,GAAG;UAC7B,sBAAsB,EAAE,CAAC6E,UAAU,IAAIvC,IAAI,EAAEuC,UAAU,CAACpE,KAAK;UAC7D,mBAAmB,EAAEO,KAAK,CAACX,IAAI;UAC/B,CAAC,GAAGW,KAAK,CAACzB,WAAW,EAAE,GAAGyB,KAAK,CAACzB,WAAW,IAAIgD,QAAQ,CAAC9B;QAC1D,CAAC,EACD0C,YAAY,CAAC1C,KAAK,EAClB2C,aAAa,CAAC3C,KAAK,EACnB4C,YAAY,CAAC5C,KAAK,EAClB+C,cAAc,CAAC/C,KAAK,EACpBiD,gBAAgB,CAACjD,KAAK,EACtBmD,WAAW,CAACnD,KAAK,EACjBkD,cAAc,CAAClD,KAAK,EACpB8C,cAAc,CAAC9C,KAAK,EACpBO,KAAK,CAACkE,KAAK,CACZ;QAAA,SACM,CACL5B,WAAW,CAAC7C,KAAK,EACjBgD,eAAe,CAAChD,KAAK,EACrBO,KAAK,CAACmE,KAAK,CACZ;QAAA,QACMpF,IAAI,CAAC2B,IAAI,CAACjB,KAAK;QAAA,YACXiC,WAAW,CAACjC,KAAK,GAAI6B,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAIhD,SAAS;QAAA,WAChDoB,OAAO;QAAA,aACLgC,WAAW,CAACjC,KAAK,IAAI,CAACgC,MAAM,CAAChC,KAAK,IAAIsD;MAAS;QAAA1E,OAAA,EAAAA,CAAA,MAGzDf,WAAW,CAACoE,WAAW,CAACjC,KAAK,IAAI8B,QAAQ,CAAC9B,KAAK,EAAE,aAAa,CAAC,EAE/DoE,UAAU,IAAAI,YAAA;UAAA;UAAA;QAAA,IAEN,CAAC1D,KAAK,CAACuD,OAAO,GAAAG,YAAA,CAAAG,SAAA,SAEVpE,KAAK,CAACf,aAAa,IAAAgF,YAAA,CAAAjI,OAAA;UAAA;UAAA,WAGPgE,KAAK,CAACqE,OAAO;UAAA,SACfrE,KAAK,CAACf;QAAa,QAE9B,EAECe,KAAK,CAACd,WAAW,IAAA+E,YAAA,CAAA/H,KAAA;UAAA;UAAA,WAGL8D,KAAK,CAACqE,OAAO;UAAA,QAChBrE,KAAK,CAACd;QAAW,QAE3B,KAAA+E,YAAA,CAAAhI,iBAAA;UAAA;UAAA,YAKU,CAAC2H,eAAe;UAAA,YACjB;YACR5H,OAAO,EAAE;cACPqI,OAAO,EAAErE,KAAK,CAACqE,OAAO;cACtBC,KAAK,EAAEtE,KAAK,CAACf;YACf,CAAC;YACD/C,KAAK,EAAE;cACLmI,OAAO,EAAErE,KAAK,CAACqE,OAAO;cACtBE,IAAI,EAAEvE,KAAK,CAACd;YACd,CAAC;YACDsF,eAAe,EAAE;cACfC,KAAK,EAAE;YACT;UACF;QAAC;UAAApG,OAAA,EAAAA,CAAA,MAECkC,KAAK,CAACuD,OAAO,GAAGjB,SAAS,CAACpD,KAAK,CAAC;QAAA,EAErC,EAAAwE,YAAA;UAAA;QAAA,UAIJ,EAAAA,YAAA;UAAA;UAAA;QAAA,IAGGV,QAAQ,IAAAU,YAAA,CAAAlI,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,EAECgE,WAAW,IAAAS,YAAA,CAAAnI,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,GAAGwE,SAAS,CAACpD,KAAK,CAAC,IAGlCiE,SAAS,IAAAO,YAAA;UAAA;UAAA;QAAA,IAEL,CAAC1D,KAAK,CAACoD,MAAM,GAAAM,YAAA,CAAAG,SAAA,SAETpE,KAAK,CAACrB,UAAU,IAAAsF,YAAA,CAAA/H,KAAA;UAAA;UAAA,WAGJ8D,KAAK,CAACqE,OAAO;UAAA,QAChBrE,KAAK,CAACrB;QAAU,QAE1B,EAECqB,KAAK,CAACtB,YAAY,IAAAuF,YAAA,CAAAjI,OAAA;UAAA;UAAA,WAGNgE,KAAK,CAACqE,OAAO;UAAA,SACfrE,KAAK,CAACtB;QAAY,QAE7B,KAAAuF,YAAA,CAAAhI,iBAAA;UAAA;UAAA,YAKU,CAACwH,cAAc;UAAA,YAChB;YACRzH,OAAO,EAAE;cACPqI,OAAO,EAAErE,KAAK,CAACqE,OAAO;cACtBC,KAAK,EAAEtE,KAAK,CAACtB;YACf,CAAC;YACDxC,KAAK,EAAE;cACLmI,OAAO,EAAErE,KAAK,CAACqE,OAAO;cACtBE,IAAI,EAAEvE,KAAK,CAACrB;YACd,CAAC;YACD6F,eAAe,EAAE;cACfE,GAAG,EAAE;YACP;UACF;QAAC;UAAArG,OAAA,EAAAA,CAAA,MAECkC,KAAK,CAACoD,MAAM,GAAGd,SAAS,CAACpD,KAAK,CAAC;QAAA,EAEpC,EAAAwE,YAAA;UAAA;QAAA,UAIJ;MAAA,MAAAU,iBAAA,YA9GUjD,WAAW,CAACjC,KAAK,IAAIO,KAAK,CAACb,MAAM;IAiHlD,CAAC,CAAC;IAEF,OAAO;MACLwB,QAAQ;MACRC,WAAW;MACXK,gBAAgB;MAChBF,UAAU;MACVO,IAAI;MACJT,MAAM;MACNK,IAAI;MACJT,EAAE,EAAEY;IACN,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -157,6 +157,24 @@ declare const VListItem: {
|
|
157
157
|
updateHasPrepend: (value: boolean) => void;
|
158
158
|
} | null;
|
159
159
|
select: (selected: boolean, e?: Event) => void;
|
160
|
+
root: {
|
161
|
+
children: vue.Ref<Map<unknown, unknown[]>>;
|
162
|
+
parents: vue.Ref<Map<unknown, unknown>>;
|
163
|
+
activatable: vue.Ref<boolean>;
|
164
|
+
selectable: vue.Ref<boolean>;
|
165
|
+
opened: vue.Ref<Set<unknown>>;
|
166
|
+
activated: vue.Ref<Set<unknown>>;
|
167
|
+
selected: vue.Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
168
|
+
selectedValues: vue.Ref<unknown[]>;
|
169
|
+
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
170
|
+
unregister: (id: unknown) => void;
|
171
|
+
open: (id: unknown, value: boolean, event?: Event) => void;
|
172
|
+
activate: (id: unknown, value: boolean, event?: Event) => void;
|
173
|
+
select: (id: unknown, value: boolean, event?: Event) => void;
|
174
|
+
openOnSelect: (id: unknown, value: boolean, event?: Event) => void;
|
175
|
+
getPath: (id: unknown) => unknown[];
|
176
|
+
};
|
177
|
+
id: vue.ComputedRef<{} | null>;
|
160
178
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
161
179
|
click: (e: MouseEvent | KeyboardEvent) => true;
|
162
180
|
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
@@ -333,6 +351,24 @@ declare const VListItem: {
|
|
333
351
|
updateHasPrepend: (value: boolean) => void;
|
334
352
|
} | null;
|
335
353
|
select: (selected: boolean, e?: Event) => void;
|
354
|
+
root: {
|
355
|
+
children: vue.Ref<Map<unknown, unknown[]>>;
|
356
|
+
parents: vue.Ref<Map<unknown, unknown>>;
|
357
|
+
activatable: vue.Ref<boolean>;
|
358
|
+
selectable: vue.Ref<boolean>;
|
359
|
+
opened: vue.Ref<Set<unknown>>;
|
360
|
+
activated: vue.Ref<Set<unknown>>;
|
361
|
+
selected: vue.Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
362
|
+
selectedValues: vue.Ref<unknown[]>;
|
363
|
+
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
364
|
+
unregister: (id: unknown) => void;
|
365
|
+
open: (id: unknown, value: boolean, event?: Event) => void;
|
366
|
+
activate: (id: unknown, value: boolean, event?: Event) => void;
|
367
|
+
select: (id: unknown, value: boolean, event?: Event) => void;
|
368
|
+
openOnSelect: (id: unknown, value: boolean, event?: Event) => void;
|
369
|
+
getPath: (id: unknown) => unknown[];
|
370
|
+
};
|
371
|
+
id: vue.ComputedRef<{} | null>;
|
336
372
|
}, {}, {}, {}, {
|
337
373
|
replace: boolean;
|
338
374
|
link: boolean;
|
@@ -431,6 +467,24 @@ declare const VListItem: {
|
|
431
467
|
updateHasPrepend: (value: boolean) => void;
|
432
468
|
} | null;
|
433
469
|
select: (selected: boolean, e?: Event) => void;
|
470
|
+
root: {
|
471
|
+
children: vue.Ref<Map<unknown, unknown[]>>;
|
472
|
+
parents: vue.Ref<Map<unknown, unknown>>;
|
473
|
+
activatable: vue.Ref<boolean>;
|
474
|
+
selectable: vue.Ref<boolean>;
|
475
|
+
opened: vue.Ref<Set<unknown>>;
|
476
|
+
activated: vue.Ref<Set<unknown>>;
|
477
|
+
selected: vue.Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
478
|
+
selectedValues: vue.Ref<unknown[]>;
|
479
|
+
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
480
|
+
unregister: (id: unknown) => void;
|
481
|
+
open: (id: unknown, value: boolean, event?: Event) => void;
|
482
|
+
activate: (id: unknown, value: boolean, event?: Event) => void;
|
483
|
+
select: (id: unknown, value: boolean, event?: Event) => void;
|
484
|
+
openOnSelect: (id: unknown, value: boolean, event?: Event) => void;
|
485
|
+
getPath: (id: unknown) => unknown[];
|
486
|
+
};
|
487
|
+
id: vue.ComputedRef<{} | null>;
|
434
488
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
435
489
|
click: (e: MouseEvent | KeyboardEvent) => true;
|
436
490
|
}, string, {
|
@@ -764,6 +818,7 @@ declare const VList: {
|
|
764
818
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
765
819
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
766
820
|
parents: vue.Ref<Map<unknown, unknown>>;
|
821
|
+
getPath: (id: unknown) => unknown[];
|
767
822
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
768
823
|
'update:selected': (value: unknown) => true;
|
769
824
|
'update:activated': (value: unknown) => true;
|
@@ -933,6 +988,7 @@ declare const VList: {
|
|
933
988
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
934
989
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
935
990
|
parents: vue.Ref<Map<unknown, unknown>>;
|
991
|
+
getPath: (id: unknown) => unknown[];
|
936
992
|
}, {}, {}, {}, {
|
937
993
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
938
994
|
nav: boolean;
|
@@ -1008,6 +1064,7 @@ declare const VList: {
|
|
1008
1064
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
1009
1065
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
1010
1066
|
parents: vue.Ref<Map<unknown, unknown>>;
|
1067
|
+
getPath: (id: unknown) => unknown[];
|
1011
1068
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
1012
1069
|
'update:selected': (value: unknown) => true;
|
1013
1070
|
'update:activated': (value: unknown) => true;
|
@@ -386,6 +386,7 @@ declare const VList: {
|
|
386
386
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
387
387
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
388
388
|
parents: vue.Ref<Map<unknown, unknown>>;
|
389
|
+
getPath: (id: unknown) => unknown[];
|
389
390
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
390
391
|
'update:selected': (value: unknown) => true;
|
391
392
|
'update:activated': (value: unknown) => true;
|
@@ -555,6 +556,7 @@ declare const VList: {
|
|
555
556
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
556
557
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
557
558
|
parents: vue.Ref<Map<unknown, unknown>>;
|
559
|
+
getPath: (id: unknown) => unknown[];
|
558
560
|
}, {}, {}, {}, {
|
559
561
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
560
562
|
nav: boolean;
|
@@ -630,6 +632,7 @@ declare const VList: {
|
|
630
632
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
631
633
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
632
634
|
parents: vue.Ref<Map<unknown, unknown>>;
|
635
|
+
getPath: (id: unknown) => unknown[];
|
633
636
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
634
637
|
'update:selected': (value: unknown) => true;
|
635
638
|
'update:activated': (value: unknown) => true;
|
@@ -3841,6 +3841,24 @@ declare const VListItem: {
|
|
3841
3841
|
updateHasPrepend: (value: boolean) => void;
|
3842
3842
|
} | null;
|
3843
3843
|
select: (selected: boolean, e?: Event) => void;
|
3844
|
+
root: {
|
3845
|
+
children: vue.Ref<Map<unknown, unknown[]>>;
|
3846
|
+
parents: vue.Ref<Map<unknown, unknown>>;
|
3847
|
+
activatable: vue.Ref<boolean>;
|
3848
|
+
selectable: vue.Ref<boolean>;
|
3849
|
+
opened: vue.Ref<Set<unknown>>;
|
3850
|
+
activated: vue.Ref<Set<unknown>>;
|
3851
|
+
selected: vue.Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
3852
|
+
selectedValues: vue.Ref<unknown[]>;
|
3853
|
+
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
3854
|
+
unregister: (id: unknown) => void;
|
3855
|
+
open: (id: unknown, value: boolean, event?: Event) => void;
|
3856
|
+
activate: (id: unknown, value: boolean, event?: Event) => void;
|
3857
|
+
select: (id: unknown, value: boolean, event?: Event) => void;
|
3858
|
+
openOnSelect: (id: unknown, value: boolean, event?: Event) => void;
|
3859
|
+
getPath: (id: unknown) => unknown[];
|
3860
|
+
};
|
3861
|
+
id: vue.ComputedRef<{} | null>;
|
3844
3862
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
3845
3863
|
click: (e: MouseEvent | KeyboardEvent) => true;
|
3846
3864
|
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
@@ -4017,6 +4035,24 @@ declare const VListItem: {
|
|
4017
4035
|
updateHasPrepend: (value: boolean) => void;
|
4018
4036
|
} | null;
|
4019
4037
|
select: (selected: boolean, e?: Event) => void;
|
4038
|
+
root: {
|
4039
|
+
children: vue.Ref<Map<unknown, unknown[]>>;
|
4040
|
+
parents: vue.Ref<Map<unknown, unknown>>;
|
4041
|
+
activatable: vue.Ref<boolean>;
|
4042
|
+
selectable: vue.Ref<boolean>;
|
4043
|
+
opened: vue.Ref<Set<unknown>>;
|
4044
|
+
activated: vue.Ref<Set<unknown>>;
|
4045
|
+
selected: vue.Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
4046
|
+
selectedValues: vue.Ref<unknown[]>;
|
4047
|
+
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
4048
|
+
unregister: (id: unknown) => void;
|
4049
|
+
open: (id: unknown, value: boolean, event?: Event) => void;
|
4050
|
+
activate: (id: unknown, value: boolean, event?: Event) => void;
|
4051
|
+
select: (id: unknown, value: boolean, event?: Event) => void;
|
4052
|
+
openOnSelect: (id: unknown, value: boolean, event?: Event) => void;
|
4053
|
+
getPath: (id: unknown) => unknown[];
|
4054
|
+
};
|
4055
|
+
id: vue.ComputedRef<{} | null>;
|
4020
4056
|
}, {}, {}, {}, {
|
4021
4057
|
replace: boolean;
|
4022
4058
|
link: boolean;
|
@@ -4115,6 +4151,24 @@ declare const VListItem: {
|
|
4115
4151
|
updateHasPrepend: (value: boolean) => void;
|
4116
4152
|
} | null;
|
4117
4153
|
select: (selected: boolean, e?: Event) => void;
|
4154
|
+
root: {
|
4155
|
+
children: vue.Ref<Map<unknown, unknown[]>>;
|
4156
|
+
parents: vue.Ref<Map<unknown, unknown>>;
|
4157
|
+
activatable: vue.Ref<boolean>;
|
4158
|
+
selectable: vue.Ref<boolean>;
|
4159
|
+
opened: vue.Ref<Set<unknown>>;
|
4160
|
+
activated: vue.Ref<Set<unknown>>;
|
4161
|
+
selected: vue.Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
4162
|
+
selectedValues: vue.Ref<unknown[]>;
|
4163
|
+
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
4164
|
+
unregister: (id: unknown) => void;
|
4165
|
+
open: (id: unknown, value: boolean, event?: Event) => void;
|
4166
|
+
activate: (id: unknown, value: boolean, event?: Event) => void;
|
4167
|
+
select: (id: unknown, value: boolean, event?: Event) => void;
|
4168
|
+
openOnSelect: (id: unknown, value: boolean, event?: Event) => void;
|
4169
|
+
getPath: (id: unknown) => unknown[];
|
4170
|
+
};
|
4171
|
+
id: vue.ComputedRef<{} | null>;
|
4118
4172
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
4119
4173
|
click: (e: MouseEvent | KeyboardEvent) => true;
|
4120
4174
|
}, string, {
|
@@ -4443,6 +4497,7 @@ declare const VList: {
|
|
4443
4497
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
4444
4498
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
4445
4499
|
parents: vue.Ref<Map<unknown, unknown>>;
|
4500
|
+
getPath: (id: unknown) => unknown[];
|
4446
4501
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
4447
4502
|
'update:selected': (value: unknown) => true;
|
4448
4503
|
'update:activated': (value: unknown) => true;
|
@@ -4612,6 +4667,7 @@ declare const VList: {
|
|
4612
4667
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
4613
4668
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
4614
4669
|
parents: vue.Ref<Map<unknown, unknown>>;
|
4670
|
+
getPath: (id: unknown) => unknown[];
|
4615
4671
|
}, {}, {}, {}, {
|
4616
4672
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
4617
4673
|
nav: boolean;
|
@@ -4687,6 +4743,7 @@ declare const VList: {
|
|
4687
4743
|
focus: (location?: "next" | "prev" | "first" | "last") => void;
|
4688
4744
|
children: vue.Ref<Map<unknown, unknown[]>>;
|
4689
4745
|
parents: vue.Ref<Map<unknown, unknown>>;
|
4746
|
+
getPath: (id: unknown) => unknown[];
|
4690
4747
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
4691
4748
|
'update:selected': (value: unknown) => true;
|
4692
4749
|
'update:activated': (value: unknown) => true;
|
@@ -4,7 +4,7 @@ import { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw, toR
|
|
4
4
|
import { independentActiveStrategy, independentSingleActiveStrategy, leafActiveStrategy, leafSingleActiveStrategy } from "./activeStrategies.mjs";
|
5
5
|
import { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from "./openStrategies.mjs";
|
6
6
|
import { classicSelectStrategy, independentSelectStrategy, independentSingleSelectStrategy, leafSelectStrategy, leafSingleSelectStrategy } from "./selectStrategies.mjs";
|
7
|
-
import { getCurrentInstance, getUid, propsFactory } from "../../util/index.mjs"; // Types
|
7
|
+
import { consoleError, getCurrentInstance, getUid, propsFactory } from "../../util/index.mjs"; // Types
|
8
8
|
export const VNestedSymbol = Symbol.for('vuetify:nested');
|
9
9
|
export const emptyNested = {
|
10
10
|
id: shallowRef(),
|
@@ -22,7 +22,8 @@ export const emptyNested = {
|
|
22
22
|
opened: ref(new Set()),
|
23
23
|
activated: ref(new Set()),
|
24
24
|
selected: ref(new Map()),
|
25
|
-
selectedValues: ref([])
|
25
|
+
selectedValues: ref([]),
|
26
|
+
getPath: () => []
|
26
27
|
}
|
27
28
|
};
|
28
29
|
export const makeNestedProps = propsFactory({
|
@@ -100,6 +101,7 @@ export const useNested = props => {
|
|
100
101
|
return path;
|
101
102
|
}
|
102
103
|
const vm = getCurrentInstance('nested');
|
104
|
+
const nodeIds = new Set();
|
103
105
|
const nested = {
|
104
106
|
id: shallowRef(),
|
105
107
|
root: {
|
@@ -116,6 +118,14 @@ export const useNested = props => {
|
|
116
118
|
return arr;
|
117
119
|
}),
|
118
120
|
register: (id, parentId, isGroup) => {
|
121
|
+
if (nodeIds.has(id)) {
|
122
|
+
const path = getPath(id).join(' -> ');
|
123
|
+
const newPath = getPath(parentId).concat(id).join(' -> ');
|
124
|
+
consoleError(`Multiple nodes with the same ID\n\t${path}\n\t${newPath}`);
|
125
|
+
return;
|
126
|
+
} else {
|
127
|
+
nodeIds.add(id);
|
128
|
+
}
|
119
129
|
parentId && id !== parentId && parents.value.set(id, parentId);
|
120
130
|
isGroup && children.value.set(id, []);
|
121
131
|
if (parentId != null) {
|
@@ -124,6 +134,7 @@ export const useNested = props => {
|
|
124
134
|
},
|
125
135
|
unregister: id => {
|
126
136
|
if (isUnmounted) return;
|
137
|
+
nodeIds.delete(id);
|
127
138
|
children.value.delete(id);
|
128
139
|
const parent = parents.value.get(id);
|
129
140
|
if (parent) {
|
@@ -200,7 +211,8 @@ export const useNested = props => {
|
|
200
211
|
newActivated && (activated.value = newActivated);
|
201
212
|
},
|
202
213
|
children,
|
203
|
-
parents
|
214
|
+
parents,
|
215
|
+
getPath
|
204
216
|
}
|
205
217
|
};
|
206
218
|
provide(VNestedSymbol, nested);
|