mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-17 13:38:07 +01:00
fix(components): apply class on trigger instead of content when present
Resolves #2132
This commit is contained in:
@@ -167,12 +167,12 @@ const ui = computed(() => contextMenu({
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<ContextMenuRoot v-bind="rootProps">
|
<ContextMenuRoot v-bind="rootProps">
|
||||||
<ContextMenuTrigger v-if="!!slots.default" as-child :disabled="disabled">
|
<ContextMenuTrigger v-if="!!slots.default" as-child :disabled="disabled" :class="props.class">
|
||||||
<slot />
|
<slot />
|
||||||
</ContextMenuTrigger>
|
</ContextMenuTrigger>
|
||||||
|
|
||||||
<UContextMenuContent
|
<UContextMenuContent
|
||||||
:class="ui.content({ class: [props.class, props.ui?.content] })"
|
:class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })"
|
||||||
:ui="ui"
|
:ui="ui"
|
||||||
:ui-override="props.ui"
|
:ui-override="props.ui"
|
||||||
v-bind="contentProps"
|
v-bind="contentProps"
|
||||||
|
|||||||
@@ -81,14 +81,14 @@ const ui = computed(() => drawer({
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<DrawerRoot v-bind="rootProps">
|
<DrawerRoot v-bind="rootProps">
|
||||||
<DrawerTrigger v-if="!!slots.default" as-child>
|
<DrawerTrigger v-if="!!slots.default" as-child :class="props.class">
|
||||||
<slot />
|
<slot />
|
||||||
</DrawerTrigger>
|
</DrawerTrigger>
|
||||||
|
|
||||||
<DrawerPortal :disabled="!portal">
|
<DrawerPortal :disabled="!portal">
|
||||||
<DrawerOverlay v-if="overlay" :class="ui.overlay({ class: props.ui?.overlay })" />
|
<DrawerOverlay v-if="overlay" :class="ui.overlay({ class: props.ui?.overlay })" />
|
||||||
|
|
||||||
<DrawerContent :class="ui.content({ class: [props.class, props.ui?.content] })" v-bind="contentProps">
|
<DrawerContent :class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })" v-bind="contentProps">
|
||||||
<slot name="handle">
|
<slot name="handle">
|
||||||
<div v-if="handle" :class="ui.handle({ class: props.ui?.handle })" />
|
<div v-if="handle" :class="ui.handle({ class: props.ui?.handle })" />
|
||||||
</slot>
|
</slot>
|
||||||
|
|||||||
@@ -165,12 +165,12 @@ const ui = computed(() => dropdownMenu({
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<DropdownMenuRoot v-slot="{ open }" v-bind="rootProps">
|
<DropdownMenuRoot v-slot="{ open }" v-bind="rootProps">
|
||||||
<DropdownMenuTrigger v-if="!!slots.default" as-child :disabled="disabled">
|
<DropdownMenuTrigger v-if="!!slots.default" as-child :class="props.class" :disabled="disabled">
|
||||||
<slot :open="open" />
|
<slot :open="open" />
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
|
|
||||||
<UDropdownMenuContent
|
<UDropdownMenuContent
|
||||||
:class="ui.content({ class: [props.class, props.ui?.content] })"
|
:class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })"
|
||||||
:ui="ui"
|
:ui="ui"
|
||||||
:ui-override="props.ui"
|
:ui-override="props.ui"
|
||||||
v-bind="contentProps"
|
v-bind="contentProps"
|
||||||
|
|||||||
@@ -121,14 +121,14 @@ const ui = computed(() => modal({
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<DialogRoot v-slot="{ open }" v-bind="rootProps">
|
<DialogRoot v-slot="{ open }" v-bind="rootProps">
|
||||||
<DialogTrigger v-if="!!slots.default" as-child>
|
<DialogTrigger v-if="!!slots.default" as-child :class="props.class">
|
||||||
<slot :open="open" />
|
<slot :open="open" />
|
||||||
</DialogTrigger>
|
</DialogTrigger>
|
||||||
|
|
||||||
<DialogPortal :disabled="!portal">
|
<DialogPortal :disabled="!portal">
|
||||||
<DialogOverlay v-if="overlay" :class="ui.overlay({ class: props.ui?.overlay })" />
|
<DialogOverlay v-if="overlay" :class="ui.overlay({ class: props.ui?.overlay })" />
|
||||||
|
|
||||||
<DialogContent :class="ui.content({ class: [props.class, props.ui?.content] })" v-bind="contentProps" v-on="contentEvents">
|
<DialogContent :class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })" v-bind="contentProps" v-on="contentEvents">
|
||||||
<slot name="content">
|
<slot name="content">
|
||||||
<div v-if="!!slots.header || (title || !!slots.title) || (description || !!slots.description) || (close || !!slots.close)" :class="ui.header({ class: props.ui?.header })">
|
<div v-if="!!slots.header || (title || !!slots.title) || (description || !!slots.description) || (close || !!slots.close)" :class="ui.header({ class: props.ui?.header })">
|
||||||
<slot name="header">
|
<slot name="header">
|
||||||
|
|||||||
@@ -92,12 +92,12 @@ const Component = computed(() => props.mode === 'hover' ? HoverCard : Popover)
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Component.Root v-slot="{ open }" v-bind="rootProps">
|
<Component.Root v-slot="{ open }" v-bind="rootProps">
|
||||||
<Component.Trigger v-if="!!slots.default" as-child>
|
<Component.Trigger v-if="!!slots.default" as-child :class="props.class">
|
||||||
<slot :open="open" />
|
<slot :open="open" />
|
||||||
</Component.Trigger>
|
</Component.Trigger>
|
||||||
|
|
||||||
<Component.Portal :disabled="!portal">
|
<Component.Portal :disabled="!portal">
|
||||||
<Component.Content v-bind="contentProps" :class="ui.content({ class: [props.class, props.ui?.content] })" v-on="contentEvents">
|
<Component.Content v-bind="contentProps" :class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })" v-on="contentEvents">
|
||||||
<slot name="content" />
|
<slot name="content" />
|
||||||
|
|
||||||
<Component.Arrow v-if="!!arrow" v-bind="arrowProps" :class="ui.arrow({ class: props.ui?.arrow })" />
|
<Component.Arrow v-if="!!arrow" v-bind="arrowProps" :class="ui.arrow({ class: props.ui?.arrow })" />
|
||||||
|
|||||||
@@ -120,14 +120,14 @@ const ui = computed(() => slideover({
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<DialogRoot v-slot="{ open }" v-bind="rootProps">
|
<DialogRoot v-slot="{ open }" v-bind="rootProps">
|
||||||
<DialogTrigger v-if="!!slots.default" as-child>
|
<DialogTrigger v-if="!!slots.default" as-child :class="props.class">
|
||||||
<slot :open="open" />
|
<slot :open="open" />
|
||||||
</DialogTrigger>
|
</DialogTrigger>
|
||||||
|
|
||||||
<DialogPortal :disabled="!portal">
|
<DialogPortal :disabled="!portal">
|
||||||
<DialogOverlay v-if="overlay" :class="ui.overlay({ class: props.ui?.overlay })" />
|
<DialogOverlay v-if="overlay" :class="ui.overlay({ class: props.ui?.overlay })" />
|
||||||
|
|
||||||
<DialogContent :data-side="side" :class="ui.content({ class: [props.class, props.ui?.content] })" v-bind="contentProps" v-on="contentEvents">
|
<DialogContent :data-side="side" :class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })" v-bind="contentProps" v-on="contentEvents">
|
||||||
<slot name="content">
|
<slot name="content">
|
||||||
<div v-if="!!slots.header || (title || !!slots.title) || (description || !!slots.description) || (close || !!slots.close)" :class="ui.header({ class: props.ui?.header })">
|
<div v-if="!!slots.header || (title || !!slots.title) || (description || !!slots.description) || (close || !!slots.close)" :class="ui.header({ class: props.ui?.header })">
|
||||||
<slot name="header">
|
<slot name="header">
|
||||||
|
|||||||
@@ -70,12 +70,12 @@ const ui = computed(() => tooltip({
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<TooltipRoot v-slot="{ open }" v-bind="rootProps">
|
<TooltipRoot v-slot="{ open }" v-bind="rootProps">
|
||||||
<TooltipTrigger v-if="!!slots.default" as-child>
|
<TooltipTrigger v-if="!!slots.default" as-child :class="props.class">
|
||||||
<slot :open="open" />
|
<slot :open="open" />
|
||||||
</TooltipTrigger>
|
</TooltipTrigger>
|
||||||
|
|
||||||
<TooltipPortal :disabled="!portal">
|
<TooltipPortal :disabled="!portal">
|
||||||
<TooltipContent v-bind="contentProps" :class="ui.content({ class: [props.class, props.ui?.content] })">
|
<TooltipContent v-bind="contentProps" :class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })">
|
||||||
<slot name="content">
|
<slot name="content">
|
||||||
<span v-if="text" :class="ui.text({ class: props.ui?.text })">{{ text }}</span>
|
<span v-if="text" :class="ui.text({ class: props.ui?.text })">{{ text }}</span>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user