vuetify 3.10.3 → 3.10.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +3285 -3269
- package/dist/json/importMap-labs.json +18 -18
- package/dist/json/importMap.json +176 -176
- package/dist/json/tags.json +4 -0
- package/dist/json/web-types.json +5963 -5923
- package/dist/vuetify-labs.cjs +125 -81
- package/dist/vuetify-labs.css +6900 -6889
- package/dist/vuetify-labs.d.ts +117 -59
- package/dist/vuetify-labs.esm.js +126 -82
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +125 -81
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +117 -77
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3658 -3647
- package/dist/vuetify.d.ts +117 -59
- package/dist/vuetify.esm.js +117 -77
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +117 -77
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +43 -39
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBadge/VBadge.css +10 -0
- package/lib/components/VBadge/VBadge.sass +9 -0
- package/lib/components/VBtn/VBtn.js +1 -1
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VChip/VChip.js +13 -2
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.d.ts +13 -0
- package/lib/components/VCombobox/VCombobox.js +3 -1
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.d.ts +29 -0
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +4 -1
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.d.ts +29 -0
- package/lib/components/VDataTable/VDataTableHeaders.js +3 -0
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.d.ts +29 -0
- package/lib/components/VDataTable/VDataTableRow.js +3 -0
- package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.d.ts +29 -0
- package/lib/components/VDataTable/VDataTableRows.js +4 -3
- package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +29 -11
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VDialog/__test__/VDialog.spec.browser.js +41 -0
- package/lib/components/VDialog/__test__/VDialog.spec.browser.js.map +1 -1
- package/lib/components/VDivider/VDivider.css +1 -0
- package/lib/components/VDivider/VDivider.sass +1 -0
- package/lib/components/VFileInput/VFileInput.js +2 -1
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VKbd/_variables.scss +3 -1
- package/lib/components/VList/VListItem.js +1 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VTable/VTable.js +20 -32
- package/lib/components/VTable/VTable.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.js +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/composables/group.d.ts +2 -0
- package/lib/composables/group.js +15 -9
- package/lib/composables/group.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +59 -59
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.js +7 -3
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/composables/calendarWithEvents.js +7 -4
- package/lib/labs/VCalendar/composables/calendarWithEvents.js.map +1 -1
- package/lib/labs/VFileUpload/VFileUpload.js +2 -1
- package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
- package/lib/labs/rules/rules.js +3 -3
- package/lib/labs/rules/rules.js.map +1 -1
- package/lib/util/animation.js +1 -1
- package/lib/util/animation.js.map +1 -1
- package/lib/util/box.d.ts +1 -1
- package/lib/util/box.js +19 -14
- package/lib/util/box.js.map +1 -1
- package/package.json +1 -1
|
@@ -75,4 +75,14 @@
|
|
|
75
75
|
display: inline-flex;
|
|
76
76
|
justify-content: center;
|
|
77
77
|
margin: 0 4px;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@media (forced-colors: active) {
|
|
81
|
+
.v-badge__badge {
|
|
82
|
+
forced-color-adjust: preserve-parent-color;
|
|
83
|
+
}
|
|
84
|
+
.v-badge__badge.v-badge__badge {
|
|
85
|
+
background: highlight !important;
|
|
86
|
+
color: highlighttext !important;
|
|
87
|
+
}
|
|
78
88
|
}
|
|
@@ -76,3 +76,12 @@
|
|
|
76
76
|
display: inline-flex
|
|
77
77
|
justify-content: center
|
|
78
78
|
margin: $badge-wrapper-margin
|
|
79
|
+
|
|
80
|
+
@media (forced-colors: active)
|
|
81
|
+
.v-badge__badge
|
|
82
|
+
forced-color-adjust: preserve-parent-color
|
|
83
|
+
// override .bg-* classes specificity when used without $layers
|
|
84
|
+
&.v-badge__badge
|
|
85
|
+
background: highlight !important
|
|
86
|
+
color: highlighttext !important
|
|
87
|
+
|
|
@@ -151,7 +151,7 @@ export const VBtn = genericComponent()({
|
|
|
151
151
|
});
|
|
152
152
|
function onClick(e) {
|
|
153
153
|
if (isDisabled.value || link.isLink.value && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) return;
|
|
154
|
-
if (link.
|
|
154
|
+
if (link.isRouterLink.value) {
|
|
155
155
|
link.navigate?.(e);
|
|
156
156
|
} else {
|
|
157
157
|
// Group active state for links is handled by useSelectLink
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VBtn.js","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","spaced","ripple","text","Number","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isRouterLink","value","isSelected","color","variantProps","showColor","isLink","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","linkProps","selectedClass","loading","class","style","_createElementVNode","loader","center"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\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 { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\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, toDisplayString, toRef, withDirectives } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n spaced: String as PropType<'start' | 'end' | 'both'>,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isRouterLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n\n const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = toRef(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n if (link.isLink.value) {\n link.navigate?.(e)\n } else {\n // Group active state for links is handled by useSelectLink\n group?.toggle()\n }\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n\n return withDirectives(\n <Tag\n { ...link.linkProps }\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n props.spaced\n ? [\n 'v-btn--spaced',\n `v-btn--spaced-${props.spaced}`,\n ]\n : [],\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ (isDisabled.value && Tag !== 'a') || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? toDisplayString(props.text) }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n vRipple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VBtn.js","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","spaced","ripple","text","Number","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isRouterLink","value","isSelected","color","variantProps","showColor","isLink","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","linkProps","selectedClass","loading","class","style","_createElementVNode","loader","center"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\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 { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\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, toDisplayString, toRef, withDirectives } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n spaced: String as PropType<'start' | 'end' | 'both'>,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isRouterLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n\n const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = toRef(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n if (link.isRouterLink.value) {\n link.navigate?.(e)\n } else {\n // Group active state for links is handled by useSelectLink\n group?.toggle()\n }\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n\n return withDirectives(\n <Tag\n { ...link.linkProps }\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n props.spaced\n ? [\n 'v-btn--spaced',\n `v-btn--spaced-${props.spaced}`,\n ]\n : [],\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ (isDisabled.value && Tag !== 'a') || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? toDisplayString(props.text) }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n vRipple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,8 @@ import { VExpandXTransition } from "../transitions/index.js";
|
|
|
8
8
|
import { VAvatar } from "../VAvatar/index.js";
|
|
9
9
|
import { VChipGroupSymbol } from "../VChipGroup/VChipGroup.js";
|
|
10
10
|
import { VDefaultsProvider } from "../VDefaultsProvider/index.js";
|
|
11
|
-
import { VIcon } from "../VIcon/index.js";
|
|
11
|
+
import { VIcon } from "../VIcon/index.js";
|
|
12
|
+
import { VSlideGroupSymbol } from "../VSlideGroup/VSlideGroup.js"; // Composables
|
|
12
13
|
import { makeBorderProps, useBorder } from "../../composables/border.js";
|
|
13
14
|
import { makeComponentProps } from "../../composables/component.js";
|
|
14
15
|
import { makeDensityProps, useDensity } from "../../composables/density.js";
|
|
@@ -24,7 +25,7 @@ import { makeTagProps } from "../../composables/tag.js";
|
|
|
24
25
|
import { makeThemeProps, provideTheme } from "../../composables/theme.js";
|
|
25
26
|
import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.js"; // Directives
|
|
26
27
|
import vRipple from "../../directives/ripple/index.js"; // Utilities
|
|
27
|
-
import { computed, toDisplayString, toRef } from 'vue';
|
|
28
|
+
import { computed, toDisplayString, toRef, watch } from 'vue';
|
|
28
29
|
import { EventProp, genericComponent, propsFactory } from "../../util/index.js"; // Types
|
|
29
30
|
export const makeVChipProps = propsFactory({
|
|
30
31
|
activeClass: String,
|
|
@@ -125,6 +126,7 @@ export const VChip = genericComponent()({
|
|
|
125
126
|
} = provideTheme(props);
|
|
126
127
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
127
128
|
const group = useGroupItem(props, VChipGroupSymbol, false);
|
|
129
|
+
const slideGroup = useGroupItem(props, VSlideGroupSymbol, false);
|
|
128
130
|
const link = useLink(props, attrs);
|
|
129
131
|
const isLink = toRef(() => props.link !== false && link.isLink.value);
|
|
130
132
|
const isClickable = computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
|
@@ -138,6 +140,15 @@ export const VChip = genericComponent()({
|
|
|
138
140
|
emit('click:close', e);
|
|
139
141
|
}
|
|
140
142
|
}));
|
|
143
|
+
watch(isActive, val => {
|
|
144
|
+
if (val) {
|
|
145
|
+
group?.register();
|
|
146
|
+
slideGroup?.register();
|
|
147
|
+
} else {
|
|
148
|
+
group?.unregister();
|
|
149
|
+
slideGroup?.unregister();
|
|
150
|
+
}
|
|
151
|
+
});
|
|
141
152
|
const {
|
|
142
153
|
colorClasses,
|
|
143
154
|
colorStyles,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VChip.js","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","baseColor","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","Number","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","colorClasses","colorStyles","variantClasses","showColor","isSelected","color","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","_withDirectives","_createVNode","_mergeProps","linkProps","selectedClass","class","style","_createElementVNode","icon","_vShow","_Fragment","image","start","select","end","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\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, toDisplayString, toRef } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: IconValue,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { vRipple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n disabled: props.disabled,\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => {\n const showColor = !group || group.isSelected.value\n return ({\n color: showColor ? props.color ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return isActive.value && (\n <Tag\n { ...link.linkProps }\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n [`${props.activeClass}`]: props.activeClass && link.isActive?.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\" data-no-activator=\"\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? toDisplayString(props.text)}\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <button\n key=\"close\"\n class=\"v-chip__close\"\n type=\"button\"\n data-testid=\"close-chip\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </button>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VChip.js","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","VSlideGroupSymbol","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","watch","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","baseColor","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","Number","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","slideGroup","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","register","unregister","colorClasses","colorStyles","variantClasses","showColor","isSelected","color","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","_withDirectives","_createVNode","_mergeProps","linkProps","selectedClass","class","style","_createElementVNode","icon","_vShow","_Fragment","image","start","select","end","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VSlideGroupSymbol } from '@/components/VSlideGroup/VSlideGroup'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\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, toDisplayString, toRef, watch } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: IconValue,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { vRipple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const slideGroup = useGroupItem(props, VSlideGroupSymbol, false)\n\n const link = useLink(props, attrs)\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n disabled: props.disabled,\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n watch(isActive, val => {\n if (val) {\n group?.register()\n slideGroup?.register()\n } else {\n group?.unregister()\n slideGroup?.unregister()\n }\n })\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => {\n const showColor = !group || group.isSelected.value\n return ({\n color: showColor ? props.color ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return isActive.value && (\n <Tag\n { ...link.linkProps }\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n [`${props.activeClass}`]: props.activeClass && link.isActive?.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\" data-no-activator=\"\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? toDisplayString(props.text)}\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <button\n key=\"close\"\n class=\"v-chip__close\"\n type=\"button\"\n data-testid=\"close-chip\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </button>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -107,6 +107,7 @@ export declare const makeVComboboxProps: <Defaults extends {
|
|
|
107
107
|
openOnClear?: unknown;
|
|
108
108
|
itemColor?: unknown;
|
|
109
109
|
noAutoScroll?: unknown;
|
|
110
|
+
alwaysFilter?: unknown;
|
|
110
111
|
autoSelectFirst?: unknown;
|
|
111
112
|
clearOnSelect?: unknown;
|
|
112
113
|
delimiters?: unknown;
|
|
@@ -3409,6 +3410,10 @@ export declare const makeVComboboxProps: <Defaults extends {
|
|
|
3409
3410
|
type: PropType<unknown extends Defaults["noAutoScroll"] ? boolean : boolean | Defaults["noAutoScroll"]>;
|
|
3410
3411
|
default: unknown extends Defaults["noAutoScroll"] ? boolean : boolean | Defaults["noAutoScroll"];
|
|
3411
3412
|
};
|
|
3413
|
+
alwaysFilter: unknown extends Defaults["alwaysFilter"] ? BooleanConstructor : {
|
|
3414
|
+
type: PropType<unknown extends Defaults["alwaysFilter"] ? boolean : boolean | Defaults["alwaysFilter"]>;
|
|
3415
|
+
default: unknown extends Defaults["alwaysFilter"] ? boolean : boolean | Defaults["alwaysFilter"];
|
|
3416
|
+
};
|
|
3412
3417
|
autoSelectFirst: unknown extends Defaults["autoSelectFirst"] ? {
|
|
3413
3418
|
type: PropType<"exact" | boolean>;
|
|
3414
3419
|
} : Omit<{
|
|
@@ -3484,6 +3489,7 @@ export declare const VCombobox: {
|
|
|
3484
3489
|
noDataText: string;
|
|
3485
3490
|
openOnClear: boolean;
|
|
3486
3491
|
noAutoScroll: boolean;
|
|
3492
|
+
alwaysFilter: boolean;
|
|
3487
3493
|
clearOnSelect: boolean;
|
|
3488
3494
|
} & {
|
|
3489
3495
|
theme?: string | undefined;
|
|
@@ -6202,6 +6208,7 @@ export declare const VCombobox: {
|
|
|
6202
6208
|
noDataText: string;
|
|
6203
6209
|
openOnClear: boolean;
|
|
6204
6210
|
noAutoScroll: boolean;
|
|
6211
|
+
alwaysFilter: boolean;
|
|
6205
6212
|
clearOnSelect: boolean;
|
|
6206
6213
|
}, true, {}, import("vue").SlotsType<Partial<{
|
|
6207
6214
|
prepend: (arg: import("../VInput/VInput.js").VInputSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -6334,6 +6341,7 @@ export declare const VCombobox: {
|
|
|
6334
6341
|
noDataText: string;
|
|
6335
6342
|
openOnClear: boolean;
|
|
6336
6343
|
noAutoScroll: boolean;
|
|
6344
|
+
alwaysFilter: boolean;
|
|
6337
6345
|
clearOnSelect: boolean;
|
|
6338
6346
|
} & {
|
|
6339
6347
|
theme?: string | undefined;
|
|
@@ -9047,6 +9055,7 @@ export declare const VCombobox: {
|
|
|
9047
9055
|
noDataText: string;
|
|
9048
9056
|
openOnClear: boolean;
|
|
9049
9057
|
noAutoScroll: boolean;
|
|
9058
|
+
alwaysFilter: boolean;
|
|
9050
9059
|
clearOnSelect: boolean;
|
|
9051
9060
|
}>;
|
|
9052
9061
|
__isFragment?: undefined;
|
|
@@ -9102,6 +9111,7 @@ export declare const VCombobox: {
|
|
|
9102
9111
|
noDataText: string;
|
|
9103
9112
|
openOnClear: boolean;
|
|
9104
9113
|
noAutoScroll: boolean;
|
|
9114
|
+
alwaysFilter: boolean;
|
|
9105
9115
|
clearOnSelect: boolean;
|
|
9106
9116
|
} & {
|
|
9107
9117
|
theme?: string | undefined;
|
|
@@ -11820,6 +11830,7 @@ export declare const VCombobox: {
|
|
|
11820
11830
|
noDataText: string;
|
|
11821
11831
|
openOnClear: boolean;
|
|
11822
11832
|
noAutoScroll: boolean;
|
|
11833
|
+
alwaysFilter: boolean;
|
|
11823
11834
|
clearOnSelect: boolean;
|
|
11824
11835
|
}, {}, string, import("vue").SlotsType<Partial<{
|
|
11825
11836
|
prepend: (arg: import("../VInput/VInput.js").VInputSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -12617,6 +12628,7 @@ export declare const VCombobox: {
|
|
|
12617
12628
|
openOnClear: BooleanConstructor;
|
|
12618
12629
|
itemColor: StringConstructor;
|
|
12619
12630
|
noAutoScroll: BooleanConstructor;
|
|
12631
|
+
alwaysFilter: BooleanConstructor;
|
|
12620
12632
|
autoSelectFirst: {
|
|
12621
12633
|
type: PropType<"exact" | boolean>;
|
|
12622
12634
|
};
|
|
@@ -13277,6 +13289,7 @@ export declare const VCombobox: {
|
|
|
13277
13289
|
openOnClear: BooleanConstructor;
|
|
13278
13290
|
itemColor: StringConstructor;
|
|
13279
13291
|
noAutoScroll: BooleanConstructor;
|
|
13292
|
+
alwaysFilter: BooleanConstructor;
|
|
13280
13293
|
autoSelectFirst: {
|
|
13281
13294
|
type: PropType<"exact" | boolean>;
|
|
13282
13295
|
};
|
|
@@ -28,6 +28,7 @@ import { makeTransitionProps } from "../../composables/transition.js"; // Utilit
|
|
|
28
28
|
import { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue';
|
|
29
29
|
import { checkPrintable, deepEqual, ensureValidVNode, escapeForRegex, genericComponent, IN_BROWSER, isComposingIgnoreKey, noop, omit, propsFactory, useRender, wrapInArray } from "../../util/index.js"; // Types
|
|
30
30
|
export const makeVComboboxProps = propsFactory({
|
|
31
|
+
alwaysFilter: Boolean,
|
|
31
32
|
autoSelectFirst: {
|
|
32
33
|
type: [Boolean, String]
|
|
33
34
|
},
|
|
@@ -127,7 +128,7 @@ export const VCombobox = genericComponent()({
|
|
|
127
128
|
const {
|
|
128
129
|
filteredItems,
|
|
129
130
|
getMatches
|
|
130
|
-
} = useFilter(props, items, () => isPristine.value ?
|
|
131
|
+
} = useFilter(props, items, () => props.alwaysFilter || !isPristine.value ? search.value : '');
|
|
131
132
|
const displayItems = computed(() => {
|
|
132
133
|
if (props.hideSelected) {
|
|
133
134
|
return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
|
|
@@ -174,6 +175,7 @@ export const VCombobox = genericComponent()({
|
|
|
174
175
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
|
175
176
|
function onClear(e) {
|
|
176
177
|
cleared = true;
|
|
178
|
+
nextTick(() => cleared = false);
|
|
177
179
|
if (props.openOnClear) {
|
|
178
180
|
menu.value = true;
|
|
179
181
|
}
|