@vuetify/nightly 3.9.0-beta.1-dev.2025-07-02 → 3.9.0-beta.1-dev.2025-07-04
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -3
- package/dist/json/attributes.json +3406 -3414
- package/dist/json/importMap-labs.json +12 -12
- package/dist/json/importMap.json +166 -166
- package/dist/json/tags.json +2 -4
- package/dist/json/web-types.json +6709 -6730
- package/dist/vuetify-labs.cjs +121 -61
- package/dist/vuetify-labs.css +4732 -4721
- package/dist/vuetify-labs.d.ts +106 -116
- package/dist/vuetify-labs.esm.js +121 -61
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +121 -61
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +121 -61
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3631 -3620
- package/dist/vuetify.d.ts +106 -116
- package/dist/vuetify.esm.js +121 -61
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +121 -61
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +73 -59
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.css +12 -1
- package/lib/components/VDataTable/VDataTable.d.ts +20 -38
- package/lib/components/VDataTable/VDataTable.sass +12 -2
- package/lib/components/VDataTable/VDataTableColumn.d.ts +9 -3
- package/lib/components/VDataTable/VDataTableColumn.js +12 -3
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
- package/lib/components/VDataTable/VDataTableHeaders.js +5 -4
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.js +2 -0
- package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +10 -23
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +10 -23
- package/lib/components/VDataTable/composables/headers.d.ts +22 -14
- package/lib/components/VDataTable/composables/headers.js +51 -22
- package/lib/components/VDataTable/composables/headers.js.map +1 -1
- package/lib/components/VDataTable/types.d.ts +3 -1
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VList/VListGroup.d.ts +13 -0
- package/lib/components/VList/VListGroup.js +2 -1
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.d.ts +6 -3
- package/lib/components/VList/VListItem.js +1 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.d.ts +6 -21
- package/lib/components/VTreeview/VTreeview.js +6 -9
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewGroup.d.ts +13 -0
- package/lib/components/VTreeview/VTreeviewItem.d.ts +18 -9
- package/lib/components/VTreeview/VTreeviewItem.js +1 -1
- package/lib/components/VTreeview/VTreeviewItem.js.map +1 -1
- package/lib/composables/nested/nested.d.ts +7 -4
- package/lib/composables/nested/nested.js +16 -6
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/composables/nested/selectStrategies.d.ts +2 -1
- package/lib/composables/nested/selectStrategies.js +22 -11
- package/lib/composables/nested/selectStrategies.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +61 -58
- package/lib/framework.js +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VListItem.js","names":["VListItemSubtitle","VListItemTitle","VAvatar","VDefaultsProvider","VIcon","useList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useNestedItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","onBeforeMount","toDisplayString","toRef","watch","deprecate","EventProp","genericComponent","keyCodes","propsFactory","useRender","makeVListItemProps","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","Object","slim","subtitle","Number","title","value","onClick","onClickOnce","variant","VListItem","name","directives","props","emits","click","e","setup","_ref","attrs","slots","emit","id","href","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","uid","list","isActive","activatable","isLink","isSelectable","selectable","isClickable","roundedProps","rounded","color","variantProps","val","handleActiveLink","open","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","rippleOptions","filterable","keys","enter","slotProps","includes","target","tagName","navigate","onKeyDown","key","preventDefault","stopPropagation","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","_mergeProps","class","style","linkProps","_createElementVNode","_Fragment","density","image","icon","VListItemAction","start","end"],"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 vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, onBeforeMount, toDisplayString, toRef, watch } from 'vue'\nimport { deprecate, EventProp, genericComponent, keyCodes, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type ListItemSlot = {\n index?: number\n depth?: number\n path?: number[]\n isFirst?: boolean\n isLast?: boolean\n isActive: boolean\n isOpen: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number | boolean\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number | boolean\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n slim: Boolean,\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n value: null,\n\n onClick: EventProp<[MouseEvent | KeyboardEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { vRipple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n id: uid,\n } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))\n )\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isSelectable = computed(() => (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || isSelectable.value)\n )\n\n const roundedProps = toRef(() => props.rounded || props.nav)\n const color = toRef(() => props.color ?? props.activeColor)\n const variantProps = toRef(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n // useNestedItem doesn't call register until beforeMount,\n // so this can't be an immediate watcher as we don't know parent yet\n watch(() => link.isActive?.value, val => {\n if (!val) return\n handleActiveLink()\n })\n onBeforeMount(() => {\n if (link.isActive?.value) handleActiveLink()\n })\n function handleActiveLink () {\n if (parent.value != null) {\n root.open(parent.value, true)\n }\n openOnSelect(true)\n }\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n const rippleOptions = toRef(() =>\n (\n props.ripple !== undefined &&\n !!props.ripple &&\n list?.filterable\n )\n ? { keys: [keyCodes.enter] }\n : props.ripple\n )\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n if (['INPUT', 'TEXTAREA'].includes((e.target as Element)?.tagName)) return\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n\n if (isGroupActivator) return\n\n if (root.activatable.value) {\n activate(!isActivated.value, e)\n } else if (root.selectable.value) {\n select(!isSelected.value, e)\n } else if (props.value != null) {\n select(!isSelected.value, e)\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'Enter' || (e.key === ' ' && !list?.filterable)) {\n e.preventDefault()\n e.stopPropagation()\n e.target!.dispatchEvent(new MouseEvent('click', e))\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n aria-selected={\n isSelectable.value ? (\n root.activatable.value ? isActivated.value\n : root.selectable.value ? isSelected.value\n : isActive.value\n ) : undefined\n }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && rippleOptions.value }\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? toDisplayString(props.title) }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? toDisplayString(props.subtitle) }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n </Tag>\n )\n })\n\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link,\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VListItem.js","names":["VListItemSubtitle","VListItemTitle","VAvatar","VDefaultsProvider","VIcon","useList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useNestedItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","onBeforeMount","toDisplayString","toRef","watch","deprecate","EventProp","genericComponent","keyCodes","propsFactory","useRender","makeVListItemProps","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","Object","slim","subtitle","Number","title","value","onClick","onClickOnce","variant","VListItem","name","directives","props","emits","click","e","setup","_ref","attrs","slots","emit","id","href","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","uid","list","isActive","activatable","isLink","isSelectable","selectable","isClickable","roundedProps","rounded","color","variantProps","val","handleActiveLink","open","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","rippleOptions","filterable","keys","enter","slotProps","includes","target","tagName","navigate","onKeyDown","key","preventDefault","stopPropagation","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","_mergeProps","class","style","linkProps","_createElementVNode","_Fragment","density","image","icon","VListItemAction","start","end"],"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 vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, onBeforeMount, toDisplayString, toRef, watch } from 'vue'\nimport { deprecate, EventProp, genericComponent, keyCodes, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type ListItemSlot = {\n index?: number\n depth?: number\n path?: number[]\n isFirst?: boolean\n isLast?: boolean\n isActive: boolean\n isOpen: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number | boolean\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number | boolean\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n slim: Boolean,\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n value: null,\n\n onClick: EventProp<[MouseEvent | KeyboardEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { vRipple },\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, () => props.disabled, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))\n )\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isSelectable = computed(() => (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || isSelectable.value)\n )\n\n const roundedProps = toRef(() => props.rounded || props.nav)\n const color = toRef(() => props.color ?? props.activeColor)\n const variantProps = toRef(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n // useNestedItem doesn't call register until beforeMount,\n // so this can't be an immediate watcher as we don't know parent yet\n watch(() => link.isActive?.value, val => {\n if (!val) return\n handleActiveLink()\n })\n onBeforeMount(() => {\n if (link.isActive?.value) handleActiveLink()\n })\n function handleActiveLink () {\n if (parent.value != null) {\n root.open(parent.value, true)\n }\n openOnSelect(true)\n }\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n const rippleOptions = toRef(() =>\n (\n props.ripple !== undefined &&\n !!props.ripple &&\n list?.filterable\n )\n ? { keys: [keyCodes.enter] }\n : props.ripple\n )\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n if (['INPUT', 'TEXTAREA'].includes((e.target as Element)?.tagName)) return\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n\n if (isGroupActivator) return\n\n if (root.activatable.value) {\n activate(!isActivated.value, e)\n } else if (root.selectable.value) {\n select(!isSelected.value, e)\n } else if (props.value != null) {\n select(!isSelected.value, e)\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'Enter' || (e.key === ' ' && !list?.filterable)) {\n e.preventDefault()\n e.stopPropagation()\n e.target!.dispatchEvent(new MouseEvent('click', e))\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n aria-selected={\n isSelectable.value ? (\n root.activatable.value ? isActivated.value\n : root.selectable.value ? isSelected.value\n : isActive.value\n ) : undefined\n }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && rippleOptions.value }\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? toDisplayString(props.title) }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? toDisplayString(props.subtitle) }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n </Tag>\n )\n })\n\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link,\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
|
@@ -64,13 +64,7 @@ export declare const makeVTreeviewProps: <Defaults extends {
|
|
64
64
|
openAll?: unknown;
|
65
65
|
search?: unknown;
|
66
66
|
} = {}>(defaults?: Defaults | undefined) => {
|
67
|
-
modelValue: unknown extends Defaults["modelValue"] ? {
|
68
|
-
type: ArrayConstructor;
|
69
|
-
default: () => never[];
|
70
|
-
} : Omit<{
|
71
|
-
type: ArrayConstructor;
|
72
|
-
default: () => never[];
|
73
|
-
}, "type" | "default"> & {
|
67
|
+
modelValue: unknown extends Defaults["modelValue"] ? ArrayConstructor : {
|
74
68
|
type: import("vue").PropType<unknown extends Defaults["modelValue"] ? unknown[] : unknown[] | Defaults["modelValue"]>;
|
75
69
|
default: unknown extends Defaults["modelValue"] ? unknown[] : unknown[] | Defaults["modelValue"];
|
76
70
|
};
|
@@ -502,7 +496,6 @@ export declare const VTreeview: {
|
|
502
496
|
filterMode: import("../../composables/filter.js").FilterMode;
|
503
497
|
noFilter: boolean;
|
504
498
|
filterKeys: import("../../composables/filter.js").FilterKeys;
|
505
|
-
modelValue: unknown[];
|
506
499
|
itemValue: import("../../util/index.js").SelectItemKey;
|
507
500
|
returnObject: boolean;
|
508
501
|
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
|
@@ -538,6 +531,7 @@ export declare const VTreeview: {
|
|
538
531
|
elevation?: string | number | undefined;
|
539
532
|
customFilter?: import("../../composables/filter.js").FilterFunction | undefined;
|
540
533
|
customKeyFilter?: import("../../composables/filter.js").FilterKeyFunctions | undefined;
|
534
|
+
modelValue?: unknown[] | undefined;
|
541
535
|
opened?: any;
|
542
536
|
valueComparator?: typeof import("../../util/index.js").deepEqual | undefined;
|
543
537
|
rounded?: string | number | boolean | undefined;
|
@@ -602,7 +596,6 @@ export declare const VTreeview: {
|
|
602
596
|
filterMode: import("../../composables/filter.js").FilterMode;
|
603
597
|
noFilter: boolean;
|
604
598
|
filterKeys: import("../../composables/filter.js").FilterKeys;
|
605
|
-
modelValue: unknown[];
|
606
599
|
itemValue: import("../../util/index.js").SelectItemKey;
|
607
600
|
returnObject: boolean;
|
608
601
|
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
|
@@ -666,7 +659,6 @@ export declare const VTreeview: {
|
|
666
659
|
filterMode: import("../../composables/filter.js").FilterMode;
|
667
660
|
noFilter: boolean;
|
668
661
|
filterKeys: import("../../composables/filter.js").FilterKeys;
|
669
|
-
modelValue: unknown[];
|
670
662
|
itemValue: import("../../util/index.js").SelectItemKey;
|
671
663
|
returnObject: boolean;
|
672
664
|
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
|
@@ -702,6 +694,7 @@ export declare const VTreeview: {
|
|
702
694
|
elevation?: string | number | undefined;
|
703
695
|
customFilter?: import("../../composables/filter.js").FilterFunction | undefined;
|
704
696
|
customKeyFilter?: import("../../composables/filter.js").FilterKeyFunctions | undefined;
|
697
|
+
modelValue?: unknown[] | undefined;
|
705
698
|
opened?: any;
|
706
699
|
valueComparator?: typeof import("../../util/index.js").deepEqual | undefined;
|
707
700
|
rounded?: string | number | boolean | undefined;
|
@@ -751,7 +744,6 @@ export declare const VTreeview: {
|
|
751
744
|
filterMode: import("../../composables/filter.js").FilterMode;
|
752
745
|
noFilter: boolean;
|
753
746
|
filterKeys: import("../../composables/filter.js").FilterKeys;
|
754
|
-
modelValue: unknown[];
|
755
747
|
itemValue: import("../../util/index.js").SelectItemKey;
|
756
748
|
returnObject: boolean;
|
757
749
|
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
|
@@ -786,7 +778,6 @@ export declare const VTreeview: {
|
|
786
778
|
filterMode: import("../../composables/filter.js").FilterMode;
|
787
779
|
noFilter: boolean;
|
788
780
|
filterKeys: import("../../composables/filter.js").FilterKeys;
|
789
|
-
modelValue: unknown[];
|
790
781
|
itemValue: import("../../util/index.js").SelectItemKey;
|
791
782
|
returnObject: boolean;
|
792
783
|
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
|
@@ -822,6 +813,7 @@ export declare const VTreeview: {
|
|
822
813
|
elevation?: string | number | undefined;
|
823
814
|
customFilter?: import("../../composables/filter.js").FilterFunction | undefined;
|
824
815
|
customKeyFilter?: import("../../composables/filter.js").FilterKeyFunctions | undefined;
|
816
|
+
modelValue?: unknown[] | undefined;
|
825
817
|
opened?: any;
|
826
818
|
valueComparator?: typeof import("../../util/index.js").deepEqual | undefined;
|
827
819
|
rounded?: string | number | boolean | undefined;
|
@@ -886,7 +878,6 @@ export declare const VTreeview: {
|
|
886
878
|
filterMode: import("../../composables/filter.js").FilterMode;
|
887
879
|
noFilter: boolean;
|
888
880
|
filterKeys: import("../../composables/filter.js").FilterKeys;
|
889
|
-
modelValue: unknown[];
|
890
881
|
itemValue: import("../../util/index.js").SelectItemKey;
|
891
882
|
returnObject: boolean;
|
892
883
|
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
|
@@ -936,10 +927,7 @@ export declare const VTreeview: {
|
|
936
927
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new <T>(props: {
|
937
928
|
items?: T[];
|
938
929
|
}, slots: VListChildrenSlots<T>) => GenericProps<typeof props, typeof slots>) & import("../../util/index.js").FilterPropsOptions<{
|
939
|
-
modelValue:
|
940
|
-
type: ArrayConstructor;
|
941
|
-
default: () => never[];
|
942
|
-
};
|
930
|
+
modelValue: ArrayConstructor;
|
943
931
|
variant: Omit<{
|
944
932
|
type: import("vue").PropType<import("../../composables/variant.js").Variant>;
|
945
933
|
default: string;
|
@@ -1077,10 +1065,7 @@ export declare const VTreeview: {
|
|
1077
1065
|
openAll: BooleanConstructor;
|
1078
1066
|
search: StringConstructor;
|
1079
1067
|
}, import("vue").ExtractPropTypes<{
|
1080
|
-
modelValue:
|
1081
|
-
type: ArrayConstructor;
|
1082
|
-
default: () => never[];
|
1083
|
-
};
|
1068
|
+
modelValue: ArrayConstructor;
|
1084
1069
|
variant: Omit<{
|
1085
1070
|
type: import("vue").PropType<import("../../composables/variant.js").Variant>;
|
1086
1071
|
default: string;
|
@@ -29,10 +29,7 @@ export const makeVTreeviewProps = propsFactory({
|
|
29
29
|
expandIcon: '$treeviewExpand',
|
30
30
|
slim: true
|
31
31
|
}), ['itemType', 'nav', 'openStrategy']),
|
32
|
-
modelValue:
|
33
|
-
type: Array,
|
34
|
-
default: () => []
|
35
|
-
}
|
32
|
+
modelValue: Array
|
36
33
|
}, 'VTreeview');
|
37
34
|
export const VTreeview = genericComponent()({
|
38
35
|
name: 'VTreeview',
|
@@ -47,7 +44,8 @@ export const VTreeview = genericComponent()({
|
|
47
44
|
},
|
48
45
|
setup(props, _ref) {
|
49
46
|
let {
|
50
|
-
slots
|
47
|
+
slots,
|
48
|
+
emit
|
51
49
|
} = _ref;
|
52
50
|
const {
|
53
51
|
items
|
@@ -56,13 +54,12 @@ export const VTreeview = genericComponent()({
|
|
56
54
|
const baseColor = toRef(() => props.baseColor);
|
57
55
|
const color = toRef(() => props.color);
|
58
56
|
const activated = useProxiedModel(props, 'activated');
|
59
|
-
const
|
60
|
-
const _selected = useProxiedModel(props, 'selected', props.modelValue);
|
57
|
+
const _selected = useProxiedModel(props, 'selected');
|
61
58
|
const selected = computed({
|
62
|
-
get: () => _selected.value,
|
59
|
+
get: () => props.modelValue ?? _selected.value,
|
63
60
|
set(val) {
|
64
61
|
_selected.value = val;
|
65
|
-
|
62
|
+
emit('update:modelValue', val);
|
66
63
|
}
|
67
64
|
});
|
68
65
|
const vListRef = ref();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTreeview.js","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRaw","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","fluid","Boolean","openAll","search","String","filterKeys","collapseIcon","expandIcon","slim","modelValue","type","Array","default","VTreeview","name","props","emits","val","value","setup","_ref","slots","activeColor","baseColor","color","activated","model","_selected","selected","get","set","vListRef","opened","flatItems","filteredItems","visibleIds","getPath","Set","flatMap","itemVal","returnObject","raw","getChildren","map","id","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","_createVNode","_mergeProps","class","style","$event"],"sources":["../../../src/components/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRaw, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n fluid: Boolean,\n openAll: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...omit(makeVTreeviewChildrenProps(), ['index', 'path']),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['itemType', 'nav', 'openStrategy']),\n modelValue: {\n type: Array,\n default: () => ([]),\n },\n}, 'VTreeview')\n\nexport const VTreeview = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeview',\n\n props: makeVTreeviewProps(),\n\n emits: {\n 'update:opened': (val: unknown) => true,\n 'update:activated': (val: unknown) => true,\n 'update:selected': (val: unknown) => true,\n 'update:modelValue': (val: unknown) => true,\n 'click:open': (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 activeColor = toRef(() => props.activeColor)\n const baseColor = toRef(() => props.baseColor)\n const color = toRef(() => props.color)\n const activated = useProxiedModel(props, 'activated')\n const model = useProxiedModel(props, 'modelValue')\n const _selected = useProxiedModel(props, 'selected', props.modelValue)\n\n const selected = computed({\n get: () => _selected.value,\n set (val) {\n _selected.value = val\n model.value = val\n },\n })\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(() => props.search)\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) return null\n const getPath = vListRef.value?.getPath\n if (!getPath) return null\n return new Set(filteredItems.value.flatMap(item => {\n const itemVal = props.returnObject ? item.raw : item.props.value\n return [\n ...getPath(itemVal),\n ...getChildren(itemVal),\n ].map(toRaw)\n }))\n })\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (items: InternalListItem<any>[]) {\n let ids: any[] = []\n\n for (const i of items) {\n if (!i.children) continue\n\n ids.push(props.returnObject ? toRaw(i.raw) : i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(() => props.collapseIcon),\n expandIcon: toRef(() => props.expandIcon),\n },\n VTreeviewItem: {\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 variant: toRef(() => props.variant),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n {\n 'v-treeview--fluid': props.fluid,\n },\n props.class,\n ]}\n open-strategy=\"multiple\"\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n density={ props.density }\n returnObject={ props.returnObject }\n items={ items.value }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return { }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VTreeview.js","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRaw","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","fluid","Boolean","openAll","search","String","filterKeys","collapseIcon","expandIcon","slim","modelValue","Array","VTreeview","name","props","emits","val","value","setup","_ref","slots","emit","activeColor","baseColor","color","activated","_selected","selected","get","set","vListRef","opened","flatItems","filteredItems","visibleIds","getPath","Set","flatMap","itemVal","returnObject","raw","getChildren","map","id","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","_createVNode","_mergeProps","class","style","$event","default"],"sources":["../../../src/components/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRaw, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n fluid: Boolean,\n openAll: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...omit(makeVTreeviewChildrenProps(), ['index', 'path']),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['itemType', 'nav', 'openStrategy']),\n\n modelValue: Array,\n}, 'VTreeview')\n\nexport const VTreeview = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeview',\n\n props: makeVTreeviewProps(),\n\n emits: {\n 'update:opened': (val: unknown) => true,\n 'update:activated': (val: unknown) => true,\n 'update:selected': (val: unknown) => true,\n 'update:modelValue': (val: unknown) => true,\n 'click:open': (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, emit }) {\n const { items } = useListItems(props)\n const activeColor = toRef(() => props.activeColor)\n const baseColor = toRef(() => props.baseColor)\n const color = toRef(() => props.color)\n const activated = useProxiedModel(props, 'activated')\n const _selected = useProxiedModel(props, 'selected')\n\n const selected = computed({\n get: () => props.modelValue ?? _selected.value,\n set (val) {\n _selected.value = val\n emit('update:modelValue', val)\n },\n })\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(() => props.search)\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) return null\n const getPath = vListRef.value?.getPath\n if (!getPath) return null\n return new Set(filteredItems.value.flatMap(item => {\n const itemVal = props.returnObject ? item.raw : item.props.value\n return [\n ...getPath(itemVal),\n ...getChildren(itemVal),\n ].map(toRaw)\n }))\n })\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (items: InternalListItem<any>[]) {\n let ids: any[] = []\n\n for (const i of items) {\n if (!i.children) continue\n\n ids.push(props.returnObject ? toRaw(i.raw) : i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(() => props.collapseIcon),\n expandIcon: toRef(() => props.expandIcon),\n },\n VTreeviewItem: {\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 variant: toRef(() => props.variant),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n {\n 'v-treeview--fluid': props.fluid,\n },\n props.class,\n ]}\n open-strategy=\"multiple\"\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n density={ props.density }\n returnObject={ props.returnObject }\n items={ items.value }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return { }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":"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","ignoreList":[]}
|
@@ -3,6 +3,7 @@ export declare const makeVTreeviewGroupProps: <Defaults extends {
|
|
3
3
|
value?: unknown;
|
4
4
|
style?: unknown;
|
5
5
|
title?: unknown;
|
6
|
+
disabled?: unknown;
|
6
7
|
class?: unknown;
|
7
8
|
tag?: unknown;
|
8
9
|
baseColor?: unknown;
|
@@ -36,6 +37,10 @@ export declare const makeVTreeviewGroupProps: <Defaults extends {
|
|
36
37
|
type: import("vue").PropType<unknown extends Defaults["title"] ? string : string | Defaults["title"]>;
|
37
38
|
default: unknown extends Defaults["title"] ? string : string | Defaults["title"];
|
38
39
|
};
|
40
|
+
disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : {
|
41
|
+
type: import("vue").PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
|
42
|
+
default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
|
43
|
+
};
|
39
44
|
class: unknown extends Defaults["class"] ? import("vue").PropType<any> : {
|
40
45
|
type: import("vue").PropType<unknown extends Defaults["class"] ? any : any>;
|
41
46
|
default: unknown extends Defaults["class"] ? any : any;
|
@@ -110,6 +115,7 @@ export declare const makeVTreeviewGroupProps: <Defaults extends {
|
|
110
115
|
export declare const VTreeviewGroup: {
|
111
116
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
|
112
117
|
style: import("vue").StyleValue;
|
118
|
+
disabled: boolean;
|
113
119
|
tag: string | import("../../util/index.js").JSXComponent;
|
114
120
|
collapseIcon: import("../../composables/icons.js").IconValue;
|
115
121
|
expandIcon: import("../../composables/icons.js").IconValue;
|
@@ -147,6 +153,7 @@ export declare const VTreeviewGroup: {
|
|
147
153
|
}) => import("vue").VNodeChild) | undefined;
|
148
154
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
|
149
155
|
style: import("vue").StyleValue;
|
156
|
+
disabled: boolean;
|
150
157
|
tag: string | import("../../util/index.js").JSXComponent;
|
151
158
|
collapseIcon: import("../../composables/icons.js").IconValue;
|
152
159
|
expandIcon: import("../../composables/icons.js").IconValue;
|
@@ -166,6 +173,7 @@ export declare const VTreeviewGroup: {
|
|
166
173
|
Defaults: {};
|
167
174
|
}, {
|
168
175
|
style: import("vue").StyleValue;
|
176
|
+
disabled: boolean;
|
169
177
|
tag: string | import("../../util/index.js").JSXComponent;
|
170
178
|
collapseIcon: import("../../composables/icons.js").IconValue;
|
171
179
|
expandIcon: import("../../composables/icons.js").IconValue;
|
@@ -203,6 +211,7 @@ export declare const VTreeviewGroup: {
|
|
203
211
|
}) => import("vue").VNodeChild) | undefined;
|
204
212
|
}, {}, {}, {}, {}, {
|
205
213
|
style: import("vue").StyleValue;
|
214
|
+
disabled: boolean;
|
206
215
|
tag: string | import("../../util/index.js").JSXComponent;
|
207
216
|
collapseIcon: import("../../composables/icons.js").IconValue;
|
208
217
|
expandIcon: import("../../composables/icons.js").IconValue;
|
@@ -213,6 +222,7 @@ export declare const VTreeviewGroup: {
|
|
213
222
|
__isSuspense?: never;
|
214
223
|
} & import("vue").ComponentOptionsBase<{
|
215
224
|
style: import("vue").StyleValue;
|
225
|
+
disabled: boolean;
|
216
226
|
tag: string | import("../../util/index.js").JSXComponent;
|
217
227
|
collapseIcon: import("../../composables/icons.js").IconValue;
|
218
228
|
expandIcon: import("../../composables/icons.js").IconValue;
|
@@ -250,6 +260,7 @@ export declare const VTreeviewGroup: {
|
|
250
260
|
}) => import("vue").VNodeChild) | undefined;
|
251
261
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
252
262
|
style: import("vue").StyleValue;
|
263
|
+
disabled: boolean;
|
253
264
|
tag: string | import("../../util/index.js").JSXComponent;
|
254
265
|
collapseIcon: import("../../composables/icons.js").IconValue;
|
255
266
|
expandIcon: import("../../composables/icons.js").IconValue;
|
@@ -268,6 +279,7 @@ export declare const VTreeviewGroup: {
|
|
268
279
|
default: null;
|
269
280
|
};
|
270
281
|
title: StringConstructor;
|
282
|
+
disabled: BooleanConstructor;
|
271
283
|
class: import("vue").PropType<import("../../composables/component.js").ClassValue>;
|
272
284
|
tag: {
|
273
285
|
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
|
@@ -301,6 +313,7 @@ export declare const VTreeviewGroup: {
|
|
301
313
|
default: null;
|
302
314
|
};
|
303
315
|
title: StringConstructor;
|
316
|
+
disabled: BooleanConstructor;
|
304
317
|
class: import("vue").PropType<import("../../composables/component.js").ClassValue>;
|
305
318
|
tag: {
|
306
319
|
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
|
@@ -564,13 +564,14 @@ export declare const VTreeviewItem: {
|
|
564
564
|
root: {
|
565
565
|
children: import("vue").Ref<Map<unknown, unknown[]>>;
|
566
566
|
parents: import("vue").Ref<Map<unknown, unknown>>;
|
567
|
+
disabled: import("vue").Ref<Set<unknown>>;
|
567
568
|
activatable: import("vue").Ref<boolean>;
|
568
569
|
selectable: import("vue").Ref<boolean>;
|
569
570
|
opened: import("vue").Ref<Set<unknown>>;
|
570
571
|
activated: import("vue").Ref<Set<unknown>>;
|
571
572
|
selected: import("vue").Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
572
573
|
selectedValues: import("vue").Ref<unknown[]>;
|
573
|
-
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
574
|
+
register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void;
|
574
575
|
unregister: (id: unknown) => void;
|
575
576
|
open: (id: unknown, value: boolean, event?: Event) => void;
|
576
577
|
activate: (id: unknown, value: boolean, event?: Event) => void;
|
@@ -730,13 +731,14 @@ export declare const VTreeviewItem: {
|
|
730
731
|
root: {
|
731
732
|
children: import("vue").Ref<Map<unknown, unknown[]>>;
|
732
733
|
parents: import("vue").Ref<Map<unknown, unknown>>;
|
734
|
+
disabled: import("vue").Ref<Set<unknown>>;
|
733
735
|
activatable: import("vue").Ref<boolean>;
|
734
736
|
selectable: import("vue").Ref<boolean>;
|
735
737
|
opened: import("vue").Ref<Set<unknown>>;
|
736
738
|
activated: import("vue").Ref<Set<unknown>>;
|
737
739
|
selected: import("vue").Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
738
740
|
selectedValues: import("vue").Ref<unknown[]>;
|
739
|
-
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
741
|
+
register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void;
|
740
742
|
unregister: (id: unknown) => void;
|
741
743
|
open: (id: unknown, value: boolean, event?: Event) => void;
|
742
744
|
activate: (id: unknown, value: boolean, event?: Event) => void;
|
@@ -761,13 +763,14 @@ export declare const VTreeviewItem: {
|
|
761
763
|
root: {
|
762
764
|
children: import("vue").Ref<Map<unknown, unknown[]>>;
|
763
765
|
parents: import("vue").Ref<Map<unknown, unknown>>;
|
766
|
+
disabled: import("vue").Ref<Set<unknown>>;
|
764
767
|
activatable: import("vue").Ref<boolean>;
|
765
768
|
selectable: import("vue").Ref<boolean>;
|
766
769
|
opened: import("vue").Ref<Set<unknown>>;
|
767
770
|
activated: import("vue").Ref<Set<unknown>>;
|
768
771
|
selected: import("vue").Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
769
772
|
selectedValues: import("vue").Ref<unknown[]>;
|
770
|
-
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
773
|
+
register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void;
|
771
774
|
unregister: (id: unknown) => void;
|
772
775
|
open: (id: unknown, value: boolean, event?: Event) => void;
|
773
776
|
activate: (id: unknown, value: boolean, event?: Event) => void;
|
@@ -1071,13 +1074,14 @@ export declare const VTreeviewItem: {
|
|
1071
1074
|
root: {
|
1072
1075
|
children: import("vue").Ref<Map<unknown, unknown[]>>;
|
1073
1076
|
parents: import("vue").Ref<Map<unknown, unknown>>;
|
1077
|
+
disabled: import("vue").Ref<Set<unknown>>;
|
1074
1078
|
activatable: import("vue").Ref<boolean>;
|
1075
1079
|
selectable: import("vue").Ref<boolean>;
|
1076
1080
|
opened: import("vue").Ref<Set<unknown>>;
|
1077
1081
|
activated: import("vue").Ref<Set<unknown>>;
|
1078
1082
|
selected: import("vue").Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
1079
1083
|
selectedValues: import("vue").Ref<unknown[]>;
|
1080
|
-
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
1084
|
+
register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void;
|
1081
1085
|
unregister: (id: unknown) => void;
|
1082
1086
|
open: (id: unknown, value: boolean, event?: Event) => void;
|
1083
1087
|
activate: (id: unknown, value: boolean, event?: Event) => void;
|
@@ -1237,13 +1241,14 @@ export declare const VTreeviewItem: {
|
|
1237
1241
|
root: {
|
1238
1242
|
children: import("vue").Ref<Map<unknown, unknown[]>>;
|
1239
1243
|
parents: import("vue").Ref<Map<unknown, unknown>>;
|
1244
|
+
disabled: import("vue").Ref<Set<unknown>>;
|
1240
1245
|
activatable: import("vue").Ref<boolean>;
|
1241
1246
|
selectable: import("vue").Ref<boolean>;
|
1242
1247
|
opened: import("vue").Ref<Set<unknown>>;
|
1243
1248
|
activated: import("vue").Ref<Set<unknown>>;
|
1244
1249
|
selected: import("vue").Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
1245
1250
|
selectedValues: import("vue").Ref<unknown[]>;
|
1246
|
-
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
1251
|
+
register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void;
|
1247
1252
|
unregister: (id: unknown) => void;
|
1248
1253
|
open: (id: unknown, value: boolean, event?: Event) => void;
|
1249
1254
|
activate: (id: unknown, value: boolean, event?: Event) => void;
|
@@ -1268,13 +1273,14 @@ export declare const VTreeviewItem: {
|
|
1268
1273
|
root: {
|
1269
1274
|
children: import("vue").Ref<Map<unknown, unknown[]>>;
|
1270
1275
|
parents: import("vue").Ref<Map<unknown, unknown>>;
|
1276
|
+
disabled: import("vue").Ref<Set<unknown>>;
|
1271
1277
|
activatable: import("vue").Ref<boolean>;
|
1272
1278
|
selectable: import("vue").Ref<boolean>;
|
1273
1279
|
opened: import("vue").Ref<Set<unknown>>;
|
1274
1280
|
activated: import("vue").Ref<Set<unknown>>;
|
1275
1281
|
selected: import("vue").Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
1276
1282
|
selectedValues: import("vue").Ref<unknown[]>;
|
1277
|
-
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
1283
|
+
register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void;
|
1278
1284
|
unregister: (id: unknown) => void;
|
1279
1285
|
open: (id: unknown, value: boolean, event?: Event) => void;
|
1280
1286
|
activate: (id: unknown, value: boolean, event?: Event) => void;
|
@@ -1567,13 +1573,14 @@ export declare const VTreeviewItem: {
|
|
1567
1573
|
root: {
|
1568
1574
|
children: import("vue").Ref<Map<unknown, unknown[]>>;
|
1569
1575
|
parents: import("vue").Ref<Map<unknown, unknown>>;
|
1576
|
+
disabled: import("vue").Ref<Set<unknown>>;
|
1570
1577
|
activatable: import("vue").Ref<boolean>;
|
1571
1578
|
selectable: import("vue").Ref<boolean>;
|
1572
1579
|
opened: import("vue").Ref<Set<unknown>>;
|
1573
1580
|
activated: import("vue").Ref<Set<unknown>>;
|
1574
1581
|
selected: import("vue").Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
1575
1582
|
selectedValues: import("vue").Ref<unknown[]>;
|
1576
|
-
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
1583
|
+
register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void;
|
1577
1584
|
unregister: (id: unknown) => void;
|
1578
1585
|
open: (id: unknown, value: boolean, event?: Event) => void;
|
1579
1586
|
activate: (id: unknown, value: boolean, event?: Event) => void;
|
@@ -1733,13 +1740,14 @@ export declare const VTreeviewItem: {
|
|
1733
1740
|
root: {
|
1734
1741
|
children: import("vue").Ref<Map<unknown, unknown[]>>;
|
1735
1742
|
parents: import("vue").Ref<Map<unknown, unknown>>;
|
1743
|
+
disabled: import("vue").Ref<Set<unknown>>;
|
1736
1744
|
activatable: import("vue").Ref<boolean>;
|
1737
1745
|
selectable: import("vue").Ref<boolean>;
|
1738
1746
|
opened: import("vue").Ref<Set<unknown>>;
|
1739
1747
|
activated: import("vue").Ref<Set<unknown>>;
|
1740
1748
|
selected: import("vue").Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
1741
1749
|
selectedValues: import("vue").Ref<unknown[]>;
|
1742
|
-
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
1750
|
+
register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void;
|
1743
1751
|
unregister: (id: unknown) => void;
|
1744
1752
|
open: (id: unknown, value: boolean, event?: Event) => void;
|
1745
1753
|
activate: (id: unknown, value: boolean, event?: Event) => void;
|
@@ -1764,13 +1772,14 @@ export declare const VTreeviewItem: {
|
|
1764
1772
|
root: {
|
1765
1773
|
children: import("vue").Ref<Map<unknown, unknown[]>>;
|
1766
1774
|
parents: import("vue").Ref<Map<unknown, unknown>>;
|
1775
|
+
disabled: import("vue").Ref<Set<unknown>>;
|
1767
1776
|
activatable: import("vue").Ref<boolean>;
|
1768
1777
|
selectable: import("vue").Ref<boolean>;
|
1769
1778
|
opened: import("vue").Ref<Set<unknown>>;
|
1770
1779
|
activated: import("vue").Ref<Set<unknown>>;
|
1771
1780
|
selected: import("vue").Ref<Map<unknown, "on" | "off" | "indeterminate">>;
|
1772
1781
|
selectedValues: import("vue").Ref<unknown[]>;
|
1773
|
-
register: (id: unknown, parentId: unknown, isGroup?: boolean) => void;
|
1782
|
+
register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void;
|
1774
1783
|
unregister: (id: unknown) => void;
|
1775
1784
|
open: (id: unknown, value: boolean, event?: Event) => void;
|
1776
1785
|
activate: (id: unknown, value: boolean, event?: Event) => void;
|
@@ -54,7 +54,7 @@ export const VTreeviewItem = genericComponent()({
|
|
54
54
|
return _createVNode(VListItem, _mergeProps({
|
55
55
|
"ref": vListItemRef
|
56
56
|
}, listItemProps, {
|
57
|
-
"active": vListItemRef.value?.isActivated,
|
57
|
+
"active": vListItemRef.value?.isActivated || undefined,
|
58
58
|
"class": ['v-treeview-item', {
|
59
59
|
'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,
|
60
60
|
'v-treeview-item--filtered': isFiltered.value
|