Compare commits

...

10 Commits

Author SHA1 Message Date
HugoRCD
f14314387a up 2025-07-08 14:17:51 +02:00
HugoRCD
8a20b7118d up 2025-07-08 13:54:40 +02:00
HugoRCD
08da06a78c up 2025-07-08 12:03:20 +02:00
HugoRCD
20fc6bfaad Merge remote-tracking branch 'origin/v3' into refactor/toast-animations 2025-07-08 11:49:42 +02:00
HugoRCD
2afce33038 Merge remote-tracking branch 'origin/v3' into refactor/toast-animations 2025-07-08 11:47:43 +02:00
HugoRCD
8e82780df0 up 2025-07-08 11:18:00 +02:00
HugoRCD
f81687724e up 2025-07-08 10:52:07 +02:00
HugoRCD
dbf19913a2 Merge remote-tracking branch 'origin/v3' into refactor/toast-animations 2025-07-08 10:46:35 +02:00
HugoRCD
faae76e796 up 2025-07-07 15:10:00 +02:00
HugoRCD
6ea33aba68 refactor(Toaster): improve animations 2025-07-07 14:58:12 +02:00
2 changed files with 6 additions and 4 deletions

View File

@@ -120,6 +120,8 @@ function getOffset(index: number) {
:close="(toast.close as boolean)"
:data-expanded="expanded"
:data-front="!expanded && index === toasts.length - 1"
:data-second="!expanded && index === toasts.length - 2"
:data-third="!expanded && index === toasts.length - 3"
:style="{
'--index': (index - toasts.length) + toasts.length,
'--before': toasts.length - 1 - index,

View File

@@ -1,7 +1,7 @@
export default {
slots: {
viewport: 'fixed flex flex-col w-[calc(100%-2rem)] sm:w-96 z-[100] data-[expanded=true]:h-(--height) focus:outline-none',
base: 'pointer-events-auto absolute inset-x-0 z-(--index) transform-(--transform) data-[expanded=false]:data-[front=false]:h-(--front-height) data-[expanded=false]:data-[front=false]:*:opacity-0 data-[front=false]:*:transition-opacity data-[front=false]:*:duration-100 data-[state=closed]:animate-[toast-closed_200ms_ease-in-out] data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_200ms_ease-in-out] data-[swipe=move]:transition-none transition-[transform,translate,height] duration-200 ease-out'
viewport: 'fixed flex flex-col w-[calc(100%-2rem)] sm:w-96 z-[100] data-[expanded=true]:h-(--height) focus:outline-none transition-all duration-500 ease-in-out',
base: 'pointer-events-auto absolute inset-x-0 z-(--index) transform-(--transform) data-[expanded=false]:data-[front=false]:max-h-[calc(var(--front-height)+0.5rem)] data-[expanded=false]:data-[front=false]:min-h-[3rem] data-[expanded=false]:data-[front=false]:overflow-hidden data-[expanded=false]:data-[front=false]:data-[second=false]:data-[third=false]:opacity-0 data-[expanded=false]:data-[second=true]:opacity-60 data-[expanded=false]:data-[third=true]:opacity-30 data-[expanded=false]:data-[front=false]:*:opacity-0 data-[front=false]:*:transition-opacity data-[front=false]:*:duration-200 transition-[transform,translate,max-height,opacity] duration-200 ease-out data-[state=closed]:animate-[toast-closed_200ms_ease-out] data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_200ms_ease-out] data-[swipe=move]:transition-none'
},
variants: {
position: {
@@ -35,13 +35,13 @@ export default {
position: ['top-left', 'top-center', 'top-right'],
class: {
viewport: 'top-4',
base: 'top-0 data-[state=open]:animate-[slide-in-from-top_200ms_ease-in-out]'
base: 'top-0 data-[state=open]:animate-[slide-in-from-top_280ms_cubic-bezier(0.4,0,0.6,1)]'
}
}, {
position: ['bottom-left', 'bottom-center', 'bottom-right'],
class: {
viewport: 'bottom-4',
base: 'bottom-0 data-[state=open]:animate-[slide-in-from-bottom_200ms_ease-in-out]'
base: 'bottom-0 data-[state=open]:animate-[slide-in-from-bottom_280ms_cubic-bezier(0.4,0,0.6,1)]'
}
}, {
swipeDirection: ['left', 'right'],