import {
enableDefaultTransitionIndicator,
enableViewTransition,
} from 'shared/ReactFeatureFlags';
export let rootMutationContext: boolean = false;
export let viewTransitionMutationContext: boolean = false;
export function pushRootMutationContext(): void {
if (enableDefaultTransitionIndicator) {
rootMutationContext = false;
}
if (enableViewTransition) {
viewTransitionMutationContext = false;
}
}
export function pushMutationContext(): boolean {
if (!enableViewTransition) {
return false;
}
const prev = viewTransitionMutationContext;
viewTransitionMutationContext = false;
return prev;
}
export function popMutationContext(prev: boolean): void {
if (enableViewTransition) {
if (viewTransitionMutationContext) {
rootMutationContext = true;
}
viewTransitionMutationContext = prev;
}
}
export function trackHostMutation(): void {
if (enableViewTransition) {
viewTransitionMutationContext = true;
} else if (enableDefaultTransitionIndicator) {
rootMutationContext = true;
}
}