Skip to content

Commit

Permalink
fix(Tooltip): added Presence to TooltipContent to allow close animation
Browse files Browse the repository at this point in the history
  • Loading branch information
Azurency committed Jun 6, 2024
1 parent b85f1a5 commit df3ebe4
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 8 deletions.
18 changes: 10 additions & 8 deletions packages/radix-vue/src/Tooltip/TooltipContent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import TooltipContentImpl from './TooltipContentImpl.vue'
import TooltipContentHoverable from './TooltipContentHoverable.vue'
import { injectTooltipRootContext } from './TooltipRoot.vue'
import { useForwardExpose, useForwardPropsEmits } from '@/shared'
import { Presence } from '@/Presence'
const props = withDefaults(defineProps<TooltipContentProps>(), {
side: 'top',
Expand All @@ -23,12 +24,13 @@ const { forwardRef } = useForwardExpose()
</script>

<template>
<component
:is="rootContext.disableHoverableContent.value ? TooltipContentImpl : TooltipContentHoverable"
v-if="rootContext.open.value"
:ref="forwardRef"
v-bind="forwarded"
>
<slot />
</component>
<Presence :present="rootContext.open.value">
<component
:is="rootContext.disableHoverableContent.value ? TooltipContentImpl : TooltipContentHoverable"
:ref="forwardRef"
v-bind="forwarded"
>
<slot />
</component>
</Presence>
</template>
22 changes: 22 additions & 0 deletions packages/radix-vue/src/Tooltip/stories/Tooltip.story.vue
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,27 @@ const disableTooltip = ref(false)
</TooltipProvider>
</div>
</Variant>
<Variant title="closeAnimation">
<div class="py-20">
<TooltipProvider :disabled="disableTooltip">
<TooltipRoot v-model:open="toggleState">
<TooltipTrigger
class="text-violet11 shadow-blackA7 hover:bg-violet3 inline-flex h-[35px] w-[35px] items-center justify-center rounded-full bg-white shadow-[0_2px_10px] outline-none focus:shadow-[0_0_0_2px] focus:shadow-black"
>
<Icon icon="radix-icons:plus" />
</TooltipTrigger>
<TooltipPortal>
<TooltipContent
:side-offset="5"
class="data-[state=closed]:animate-fadeOut data-[state=delayed-open]:data-[side=top]:animate-slideDownAndFade data-[state=delayed-open]:data-[side=right]:animate-slideLeftAndFade data-[state=delayed-open]:data-[side=left]:animate-slideRightAndFade data-[state=delayed-open]:data-[side=bottom]:animate-slideUpAndFade text-violet11 select-none rounded-[4px] bg-white px-[15px] py-[10px] text-[15px] leading-none shadow-[hsl(206_22%_7%_/_35%)_0px_10px_38px_-10px,_hsl(206_22%_7%_/_20%)_0px_10px_20px_-15px] will-change-[transform,opacity]"
>
Add to library
<TooltipArrow class="fill-white" />
</TooltipContent>
</TooltipPortal>
</TooltipRoot>
</TooltipProvider>
</div>
</Variant>
</Story>
</template>

0 comments on commit df3ebe4

Please sign in to comment.