Skip to content

feat(useTransition): support custom window #4850

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions packages/core/useTransition/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import type { ComputedRef, MaybeRef, MaybeRefOrGetter, Ref } from 'vue'
import type { ConfigurableWindow } from '../_configurable'
import { identity as linear, promiseTimeout, tryOnScopeDispose } from '@vueuse/shared'
import { computed, ref as deepRef, toValue, watch } from 'vue'
import { defaultWindow } from '../_configurable'

/**
* Cubic bezier points
Expand All @@ -15,7 +17,7 @@ export type EasingFunction = (n: number) => number
/**
* Transition options
*/
export interface TransitionOptions {
export interface TransitionOptions extends ConfigurableWindow {

/**
* Manually abort a transition
Expand Down Expand Up @@ -140,6 +142,9 @@ export function executeTransition<T extends number | number[]>(
to: MaybeRefOrGetter<T>,
options: TransitionOptions = {},
): PromiseLike<void> {
const {
window = defaultWindow,
} = options
const fromVal = toValue(from)
const toVal = toValue(to)
const v1 = toVec(fromVal)
Expand Down Expand Up @@ -175,7 +180,7 @@ export function executeTransition<T extends number | number[]>(
(source.value as number) = arr[0]

if (now < endAt) {
requestAnimationFrame(tick)
window?.requestAnimationFrame(tick)
}
else {
source.value = toVal
Expand Down
Loading
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy