@tamagui/animate-presence
Advanced tools
Comparing version 1.0.0-beta.207 to 1.0.0-beta.208
@@ -28,6 +28,6 @@ var __create = Object.create; | ||
var import_core = require("@tamagui/core"); | ||
var React = __toESM(require("react")); | ||
var import_react = require("react"); | ||
var import_react = __toESM(require("react")); | ||
var import_LayoutGroupContext = require("./LayoutGroupContext"); | ||
var import_PresenceChild = require("./PresenceChild"); | ||
import_react.default["keep"]; | ||
const getChildKey = /* @__PURE__ */ __name((child) => child.key || "", "getChildKey"); | ||
@@ -37,3 +37,3 @@ const isDev = process.env.NODE_ENV !== "production"; | ||
const seenChildren = isDev ? /* @__PURE__ */ new Set() : null; | ||
for (const child of children) { | ||
children.forEach((child) => { | ||
const key = getChildKey(child); | ||
@@ -45,3 +45,3 @@ if (isDev && seenChildren && seenChildren.has(key)) { | ||
allChildren.set(key, child); | ||
} | ||
}); | ||
} | ||
@@ -60,3 +60,4 @@ __name(updateChildLookup, "updateChildLookup"); | ||
children, | ||
custom, | ||
enterVariant, | ||
exitVariant, | ||
initial = true, | ||
@@ -71,3 +72,6 @@ onExitComplete, | ||
forceRender = forceRenderLayoutGroup; | ||
const isMounted = (0, import_core.useIsMounted)(); | ||
const [isMounted, setIsMounted] = (0, import_react.useState)(false); | ||
(0, import_react.useEffect)(() => { | ||
setIsMounted(true); | ||
}, []); | ||
const filteredChildren = onlyElements(children); | ||
@@ -90,5 +94,7 @@ let childrenToRender = filteredChildren; | ||
if (isInitialRender.current) { | ||
return /* @__PURE__ */ React.createElement(React.Fragment, null, childrenToRender.map((child) => /* @__PURE__ */ React.createElement(import_PresenceChild.PresenceChild, { | ||
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, childrenToRender.map((child) => /* @__PURE__ */ import_react.default.createElement(import_PresenceChild.PresenceChild, { | ||
key: getChildKey(child), | ||
isPresent: true, | ||
isEntering: true, | ||
exitVariant, | ||
enterVariant, | ||
initial: initial ? void 0 : false, | ||
@@ -111,38 +117,37 @@ presenceAffectsLayout | ||
} | ||
for (const key of exiting) { | ||
if (targetKeys.indexOf(key) !== -1) { | ||
continue; | ||
} | ||
exiting.forEach((key) => { | ||
if (targetKeys.indexOf(key) !== -1) | ||
return; | ||
const child = allChildren.get(key); | ||
if (!child) { | ||
continue; | ||
} | ||
if (!child) | ||
return; | ||
const insertionIndex = presentKeys.indexOf(key); | ||
const onExit = /* @__PURE__ */ __name(() => { | ||
allChildren.delete(key); | ||
exiting.delete(key); | ||
const removeIndex = presentChildren.current.findIndex((presentChild) => presentChild.key === key); | ||
presentChildren.current.splice(removeIndex, 1); | ||
if (!exiting.size) { | ||
presentChildren.current = filteredChildren; | ||
if (isMounted.current === false) { | ||
return; | ||
childrenToRender.splice(insertionIndex, 0, /* @__PURE__ */ import_react.default.createElement(import_PresenceChild.PresenceChild, { | ||
key: getChildKey(child), | ||
isEntering: false, | ||
onExitComplete: () => { | ||
allChildren.delete(key); | ||
exiting.delete(key); | ||
const removeIndex = presentChildren.current.findIndex((presentChild) => presentChild.key === key); | ||
presentChildren.current.splice(removeIndex, 1); | ||
if (!exiting.size) { | ||
presentChildren.current = filteredChildren; | ||
if (isMounted === false) | ||
return; | ||
forceRender(); | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
} | ||
forceRender(); | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
} | ||
}, "onExit"); | ||
childrenToRender.splice(insertionIndex, 0, /* @__PURE__ */ React.createElement(import_PresenceChild.PresenceChild, { | ||
key: getChildKey(child), | ||
isPresent: false, | ||
onExitComplete: onExit, | ||
custom, | ||
}, | ||
exitVariant, | ||
enterVariant, | ||
presenceAffectsLayout | ||
}, child)); | ||
} | ||
}); | ||
childrenToRender = childrenToRender.map((child) => { | ||
const key = child.key; | ||
return exiting.has(key) ? child : /* @__PURE__ */ React.createElement(import_PresenceChild.PresenceChild, { | ||
return exiting.has(key) ? child : /* @__PURE__ */ import_react.default.createElement(import_PresenceChild.PresenceChild, { | ||
key: getChildKey(child), | ||
isPresent: true, | ||
isEntering: void 0, | ||
exitVariant, | ||
enterVariant, | ||
presenceAffectsLayout | ||
@@ -154,4 +159,4 @@ }, child); | ||
} | ||
return /* @__PURE__ */ React.createElement(React.Fragment, null, exiting.size ? childrenToRender : childrenToRender.map((child) => (0, import_react.cloneElement)(child))); | ||
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, exiting.size ? childrenToRender : childrenToRender.map((child) => (0, import_react.cloneElement)(child))); | ||
}, "AnimatePresence"); | ||
//# sourceMappingURL=AnimatePresence.js.map |
@@ -25,4 +25,4 @@ var __defProp = Object.defineProperty; | ||
__reExport(src_exports, require("./AnimatePresence"), module.exports); | ||
__reExport(src_exports, require("./usePresence"), module.exports); | ||
__reExport(src_exports, require("./useEntering"), module.exports); | ||
var import_AnimatePresenceContext = require("./AnimatePresenceContext"); | ||
//# sourceMappingURL=index.js.map |
@@ -34,5 +34,6 @@ var __create = Object.create; | ||
initial, | ||
isPresent, | ||
isEntering, | ||
onExitComplete, | ||
custom, | ||
exitVariant, | ||
enterVariant, | ||
presenceAffectsLayout | ||
@@ -42,30 +43,33 @@ }) => { | ||
const id = (0, import_utils.useId)(); | ||
const context = React.useMemo(() => ({ | ||
id, | ||
initial, | ||
isPresent, | ||
custom, | ||
onExitComplete: (childId) => { | ||
presenceChildren.set(childId, true); | ||
for (const isComplete of presenceChildren.values()) { | ||
if (!isComplete) { | ||
return; | ||
const context = React.useMemo(() => { | ||
return { | ||
id, | ||
initial, | ||
isEntering, | ||
exitVariant, | ||
enterVariant, | ||
onExitComplete: (childId) => { | ||
console.log("on exist complete", childId); | ||
presenceChildren.set(childId, true); | ||
for (const isComplete of presenceChildren.values()) { | ||
if (!isComplete) { | ||
return; | ||
} | ||
} | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
}, | ||
register: (childId) => { | ||
presenceChildren.set(childId, false); | ||
return () => presenceChildren.delete(childId); | ||
} | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
}, | ||
register: (childId) => { | ||
presenceChildren.set(childId, false); | ||
return () => presenceChildren.delete(childId); | ||
} | ||
}), presenceAffectsLayout ? void 0 : [isPresent]); | ||
}; | ||
}, presenceAffectsLayout ? void 0 : [isEntering, onExitComplete, exitVariant, enterVariant]); | ||
React.useMemo(() => { | ||
presenceChildren.forEach((_, key) => presenceChildren.set(key, false)); | ||
}, [isPresent]); | ||
}, [isEntering]); | ||
React.useEffect(() => { | ||
if (!isPresent && !presenceChildren.size) { | ||
console.log("on exit complete"); | ||
if (isEntering === false && !presenceChildren.size) { | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
} | ||
}, [isPresent]); | ||
}, [isEntering]); | ||
return /* @__PURE__ */ React.createElement(import_AnimatePresenceContext.AnimatePresenceContext.Provider, { | ||
@@ -72,0 +76,0 @@ value: context |
var __defProp = Object.defineProperty; | ||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); | ||
import { | ||
useForceUpdate, | ||
useIsMounted, | ||
useIsomorphicLayoutEffect, | ||
useUnmountEffect | ||
} from "@tamagui/core"; | ||
import * as React from "react"; | ||
import { | ||
import { useForceUpdate, useIsomorphicLayoutEffect, useUnmountEffect } from "@tamagui/core"; | ||
import React, { | ||
Children, | ||
@@ -15,6 +9,9 @@ cloneElement, | ||
useContext, | ||
useRef | ||
useEffect, | ||
useRef, | ||
useState | ||
} from "react"; | ||
import { LayoutGroupContext } from "./LayoutGroupContext"; | ||
import { PresenceChild } from "./PresenceChild"; | ||
React["keep"]; | ||
const getChildKey = /* @__PURE__ */ __name((child) => child.key || "", "getChildKey"); | ||
@@ -24,3 +21,3 @@ const isDev = process.env.NODE_ENV !== "production"; | ||
const seenChildren = isDev ? /* @__PURE__ */ new Set() : null; | ||
for (const child of children) { | ||
children.forEach((child) => { | ||
const key = getChildKey(child); | ||
@@ -32,3 +29,3 @@ if (isDev && seenChildren && seenChildren.has(key)) { | ||
allChildren.set(key, child); | ||
} | ||
}); | ||
} | ||
@@ -47,3 +44,4 @@ __name(updateChildLookup, "updateChildLookup"); | ||
children, | ||
custom, | ||
enterVariant, | ||
exitVariant, | ||
initial = true, | ||
@@ -58,3 +56,6 @@ onExitComplete, | ||
forceRender = forceRenderLayoutGroup; | ||
const isMounted = useIsMounted(); | ||
const [isMounted, setIsMounted] = useState(false); | ||
useEffect(() => { | ||
setIsMounted(true); | ||
}, []); | ||
const filteredChildren = onlyElements(children); | ||
@@ -79,3 +80,5 @@ let childrenToRender = filteredChildren; | ||
key: getChildKey(child), | ||
isPresent: true, | ||
isEntering: true, | ||
exitVariant, | ||
enterVariant, | ||
initial: initial ? void 0 : false, | ||
@@ -98,33 +101,30 @@ presenceAffectsLayout | ||
} | ||
for (const key of exiting) { | ||
if (targetKeys.indexOf(key) !== -1) { | ||
continue; | ||
} | ||
exiting.forEach((key) => { | ||
if (targetKeys.indexOf(key) !== -1) | ||
return; | ||
const child = allChildren.get(key); | ||
if (!child) { | ||
continue; | ||
} | ||
if (!child) | ||
return; | ||
const insertionIndex = presentKeys.indexOf(key); | ||
const onExit = /* @__PURE__ */ __name(() => { | ||
allChildren.delete(key); | ||
exiting.delete(key); | ||
const removeIndex = presentChildren.current.findIndex((presentChild) => presentChild.key === key); | ||
presentChildren.current.splice(removeIndex, 1); | ||
if (!exiting.size) { | ||
presentChildren.current = filteredChildren; | ||
if (isMounted.current === false) { | ||
return; | ||
} | ||
forceRender(); | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
} | ||
}, "onExit"); | ||
childrenToRender.splice(insertionIndex, 0, /* @__PURE__ */ React.createElement(PresenceChild, { | ||
key: getChildKey(child), | ||
isPresent: false, | ||
onExitComplete: onExit, | ||
custom, | ||
isEntering: false, | ||
onExitComplete: () => { | ||
allChildren.delete(key); | ||
exiting.delete(key); | ||
const removeIndex = presentChildren.current.findIndex((presentChild) => presentChild.key === key); | ||
presentChildren.current.splice(removeIndex, 1); | ||
if (!exiting.size) { | ||
presentChildren.current = filteredChildren; | ||
if (isMounted === false) | ||
return; | ||
forceRender(); | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
} | ||
}, | ||
exitVariant, | ||
enterVariant, | ||
presenceAffectsLayout | ||
}, child)); | ||
} | ||
}); | ||
childrenToRender = childrenToRender.map((child) => { | ||
@@ -134,3 +134,5 @@ const key = child.key; | ||
key: getChildKey(child), | ||
isPresent: true, | ||
isEntering: void 0, | ||
exitVariant, | ||
enterVariant, | ||
presenceAffectsLayout | ||
@@ -137,0 +139,0 @@ }, child); |
export * from "./AnimatePresence"; | ||
export * from "./usePresence"; | ||
export * from "./useEntering"; | ||
import { AnimatePresenceContext } from "./AnimatePresenceContext"; | ||
@@ -4,0 +4,0 @@ export { |
@@ -10,5 +10,6 @@ var __defProp = Object.defineProperty; | ||
initial, | ||
isPresent, | ||
isEntering, | ||
onExitComplete, | ||
custom, | ||
exitVariant, | ||
enterVariant, | ||
presenceAffectsLayout | ||
@@ -18,30 +19,33 @@ }) => { | ||
const id = useId(); | ||
const context = React.useMemo(() => ({ | ||
id, | ||
initial, | ||
isPresent, | ||
custom, | ||
onExitComplete: (childId) => { | ||
presenceChildren.set(childId, true); | ||
for (const isComplete of presenceChildren.values()) { | ||
if (!isComplete) { | ||
return; | ||
const context = React.useMemo(() => { | ||
return { | ||
id, | ||
initial, | ||
isEntering, | ||
exitVariant, | ||
enterVariant, | ||
onExitComplete: (childId) => { | ||
console.log("on exist complete", childId); | ||
presenceChildren.set(childId, true); | ||
for (const isComplete of presenceChildren.values()) { | ||
if (!isComplete) { | ||
return; | ||
} | ||
} | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
}, | ||
register: (childId) => { | ||
presenceChildren.set(childId, false); | ||
return () => presenceChildren.delete(childId); | ||
} | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
}, | ||
register: (childId) => { | ||
presenceChildren.set(childId, false); | ||
return () => presenceChildren.delete(childId); | ||
} | ||
}), presenceAffectsLayout ? void 0 : [isPresent]); | ||
}; | ||
}, presenceAffectsLayout ? void 0 : [isEntering, onExitComplete, exitVariant, enterVariant]); | ||
React.useMemo(() => { | ||
presenceChildren.forEach((_, key) => presenceChildren.set(key, false)); | ||
}, [isPresent]); | ||
}, [isEntering]); | ||
React.useEffect(() => { | ||
if (!isPresent && !presenceChildren.size) { | ||
console.log("on exit complete"); | ||
if (isEntering === false && !presenceChildren.size) { | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
} | ||
}, [isPresent]); | ||
}, [isEntering]); | ||
return /* @__PURE__ */ React.createElement(AnimatePresenceContext.Provider, { | ||
@@ -48,0 +52,0 @@ value: context |
var __defProp = Object.defineProperty; | ||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); | ||
import { | ||
useForceUpdate, | ||
useIsMounted, | ||
useIsomorphicLayoutEffect, | ||
useUnmountEffect | ||
} from "@tamagui/core"; | ||
import { | ||
import { useForceUpdate, useIsomorphicLayoutEffect, useUnmountEffect } from "@tamagui/core"; | ||
import React, { | ||
Children, | ||
@@ -14,6 +9,9 @@ cloneElement, | ||
useContext, | ||
useRef | ||
useEffect, | ||
useRef, | ||
useState | ||
} from "react"; | ||
import { LayoutGroupContext } from "./LayoutGroupContext"; | ||
import { PresenceChild } from "./PresenceChild"; | ||
React["keep"]; | ||
const getChildKey = /* @__PURE__ */ __name((child) => child.key || "", "getChildKey"); | ||
@@ -23,3 +21,3 @@ const isDev = process.env.NODE_ENV !== "production"; | ||
const seenChildren = isDev ? /* @__PURE__ */ new Set() : null; | ||
for (const child of children) { | ||
children.forEach((child) => { | ||
const key = getChildKey(child); | ||
@@ -31,3 +29,3 @@ if (isDev && seenChildren && seenChildren.has(key)) { | ||
allChildren.set(key, child); | ||
} | ||
}); | ||
} | ||
@@ -46,3 +44,4 @@ __name(updateChildLookup, "updateChildLookup"); | ||
children, | ||
custom, | ||
enterVariant, | ||
exitVariant, | ||
initial = true, | ||
@@ -57,3 +56,6 @@ onExitComplete, | ||
forceRender = forceRenderLayoutGroup; | ||
const isMounted = useIsMounted(); | ||
const [isMounted, setIsMounted] = useState(false); | ||
useEffect(() => { | ||
setIsMounted(true); | ||
}, []); | ||
const filteredChildren = onlyElements(children); | ||
@@ -76,3 +78,3 @@ let childrenToRender = filteredChildren; | ||
if (isInitialRender.current) { | ||
return <>{childrenToRender.map((child) => <PresenceChild key={getChildKey(child)} isPresent initial={initial ? void 0 : false} presenceAffectsLayout={presenceAffectsLayout}>{child}</PresenceChild>)}</>; | ||
return <>{childrenToRender.map((child) => <PresenceChild key={getChildKey(child)} isEntering exitVariant={exitVariant} enterVariant={enterVariant} initial={initial ? void 0 : false} presenceAffectsLayout={presenceAffectsLayout}>{child}</PresenceChild>)}</>; | ||
} | ||
@@ -92,12 +94,10 @@ childrenToRender = [...childrenToRender]; | ||
} | ||
for (const key of exiting) { | ||
if (targetKeys.indexOf(key) !== -1) { | ||
continue; | ||
} | ||
exiting.forEach((key) => { | ||
if (targetKeys.indexOf(key) !== -1) | ||
return; | ||
const child = allChildren.get(key); | ||
if (!child) { | ||
continue; | ||
} | ||
if (!child) | ||
return; | ||
const insertionIndex = presentKeys.indexOf(key); | ||
const onExit = /* @__PURE__ */ __name(() => { | ||
childrenToRender.splice(insertionIndex, 0, <PresenceChild key={getChildKey(child)} isEntering={false} onExitComplete={() => { | ||
allChildren.delete(key); | ||
@@ -109,14 +109,12 @@ exiting.delete(key); | ||
presentChildren.current = filteredChildren; | ||
if (isMounted.current === false) { | ||
if (isMounted === false) | ||
return; | ||
} | ||
forceRender(); | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
} | ||
}, "onExit"); | ||
childrenToRender.splice(insertionIndex, 0, <PresenceChild key={getChildKey(child)} isPresent={false} onExitComplete={onExit} custom={custom} presenceAffectsLayout={presenceAffectsLayout}>{child}</PresenceChild>); | ||
} | ||
}} exitVariant={exitVariant} enterVariant={enterVariant} presenceAffectsLayout={presenceAffectsLayout}>{child}</PresenceChild>); | ||
}); | ||
childrenToRender = childrenToRender.map((child) => { | ||
const key = child.key; | ||
return exiting.has(key) ? child : <PresenceChild key={getChildKey(child)} isPresent presenceAffectsLayout={presenceAffectsLayout}>{child}</PresenceChild>; | ||
return exiting.has(key) ? child : <PresenceChild key={getChildKey(child)} isEntering={void 0} exitVariant={exitVariant} enterVariant={enterVariant} presenceAffectsLayout={presenceAffectsLayout}>{child}</PresenceChild>; | ||
}); | ||
@@ -123,0 +121,0 @@ if (process.env.NODE_ENV !== "production" && exitBeforeEnter && childrenToRender.length > 1) { |
export * from "./AnimatePresence"; | ||
export * from "./usePresence"; | ||
export * from "./useEntering"; | ||
import { AnimatePresenceContext } from "./AnimatePresenceContext"; | ||
@@ -4,0 +4,0 @@ export { |
@@ -10,5 +10,6 @@ var __defProp = Object.defineProperty; | ||
initial, | ||
isPresent, | ||
isEntering, | ||
onExitComplete, | ||
custom, | ||
exitVariant, | ||
enterVariant, | ||
presenceAffectsLayout | ||
@@ -18,30 +19,33 @@ }) => { | ||
const id = useId(); | ||
const context = React.useMemo(() => ({ | ||
id, | ||
initial, | ||
isPresent, | ||
custom, | ||
onExitComplete: (childId) => { | ||
presenceChildren.set(childId, true); | ||
for (const isComplete of presenceChildren.values()) { | ||
if (!isComplete) { | ||
return; | ||
const context = React.useMemo(() => { | ||
return { | ||
id, | ||
initial, | ||
isEntering, | ||
exitVariant, | ||
enterVariant, | ||
onExitComplete: (childId) => { | ||
console.log("on exist complete", childId); | ||
presenceChildren.set(childId, true); | ||
for (const isComplete of presenceChildren.values()) { | ||
if (!isComplete) { | ||
return; | ||
} | ||
} | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
}, | ||
register: (childId) => { | ||
presenceChildren.set(childId, false); | ||
return () => presenceChildren.delete(childId); | ||
} | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
}, | ||
register: (childId) => { | ||
presenceChildren.set(childId, false); | ||
return () => presenceChildren.delete(childId); | ||
} | ||
}), presenceAffectsLayout ? void 0 : [isPresent]); | ||
}; | ||
}, presenceAffectsLayout ? void 0 : [isEntering, onExitComplete, exitVariant, enterVariant]); | ||
React.useMemo(() => { | ||
presenceChildren.forEach((_, key) => presenceChildren.set(key, false)); | ||
}, [isPresent]); | ||
}, [isEntering]); | ||
React.useEffect(() => { | ||
if (!isPresent && !presenceChildren.size) { | ||
console.log("on exit complete"); | ||
if (isEntering === false && !presenceChildren.size) { | ||
onExitComplete == null ? void 0 : onExitComplete(); | ||
} | ||
}, [isPresent]); | ||
}, [isEntering]); | ||
return <AnimatePresenceContext.Provider value={context}>{children}</AnimatePresenceContext.Provider>; | ||
@@ -48,0 +52,0 @@ }, "PresenceChild"); |
{ | ||
"name": "@tamagui/animate-presence", | ||
"version": "1.0.0-beta.207+3fd10ea6", | ||
"version": "1.0.0-beta.208+f5ae07b4", | ||
"source": "src/index.ts", | ||
@@ -15,6 +15,6 @@ "license": "MIT", | ||
"dependencies": { | ||
"@tamagui/core": "^1.0.0-beta.207+3fd10ea6" | ||
"@tamagui/core": "^1.0.0-beta.208+f5ae07b4" | ||
}, | ||
"devDependencies": { | ||
"@tamagui/build": "^1.0.0-beta.207+3fd10ea6" | ||
"@tamagui/build": "^1.0.0-beta.208+f5ae07b4" | ||
}, | ||
@@ -30,3 +30,3 @@ "scripts": { | ||
}, | ||
"gitHead": "3fd10ea6d026fac0339fbc1a501ee304f4985b05" | ||
"gitHead": "f5ae07b474577e5546139d5a187dde4e1d08df4b" | ||
} |
@@ -1,5 +0,6 @@ | ||
import * as React from 'react'; | ||
import React from 'react'; | ||
export interface AnimatePresenceProps { | ||
initial?: boolean; | ||
custom?: any; | ||
exitVariant?: string | null; | ||
enterVariant?: string | null; | ||
onExitComplete?: () => void; | ||
@@ -9,3 +10,3 @@ exitBeforeEnter?: boolean; | ||
} | ||
export declare const AnimatePresence: React.FunctionComponent<AnimatePresenceProps>; | ||
export declare const AnimatePresence: React.FunctionComponent<React.PropsWithChildren<AnimatePresenceProps>>; | ||
//# sourceMappingURL=AnimatePresence.d.ts.map |
@@ -5,9 +5,10 @@ /// <reference types="react" /> | ||
id: string; | ||
isPresent: boolean; | ||
isEntering: boolean | undefined; | ||
register: (id: string) => () => void; | ||
onExitComplete?: (id: string) => void; | ||
initial?: false | VariantLabels; | ||
custom?: any; | ||
exitVariant?: string | null; | ||
enterVariant?: string | null; | ||
} | ||
export declare const AnimatePresenceContext: import("react").Context<AnimatePresenceContextProps | null>; | ||
//# sourceMappingURL=AnimatePresenceContext.d.ts.map |
export * from './AnimatePresence'; | ||
export * from './usePresence'; | ||
export * from './useEntering'; | ||
export { AnimatePresenceContext } from './AnimatePresenceContext'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -5,10 +5,11 @@ import * as React from 'react'; | ||
children: React.ReactElement<any>; | ||
isPresent: boolean; | ||
isEntering: boolean | undefined; | ||
onExitComplete?: () => void; | ||
initial?: false | VariantLabels; | ||
custom?: any; | ||
exitVariant?: string | null; | ||
enterVariant?: string | null; | ||
presenceAffectsLayout: boolean; | ||
} | ||
export declare const PresenceChild: ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, }: PresenceChildProps) => JSX.Element; | ||
export declare const PresenceChild: ({ children, initial, isEntering, onExitComplete, exitVariant, enterVariant, presenceAffectsLayout, }: PresenceChildProps) => JSX.Element; | ||
export {}; | ||
//# sourceMappingURL=PresenceChild.d.ts.map |
import { AnimatePresenceContextProps } from './AnimatePresenceContext'; | ||
export declare type SafeToRemove = () => void; | ||
declare type AlwaysPresent = [true, null]; | ||
declare type Present = [true]; | ||
declare type NotPresent = [false, SafeToRemove]; | ||
export declare function usePresence(): AlwaysPresent | Present | NotPresent; | ||
export declare function useIsPresent(): boolean; | ||
export declare function isPresent(context: AnimatePresenceContextProps | null): boolean; | ||
declare type AlreadyPresent = [undefined]; | ||
declare type Entering = [true]; | ||
declare type Leaving = [false, SafeToRemove]; | ||
export declare function useEntering(): Entering | Leaving | AlreadyPresent; | ||
export declare function useIsEntering(): boolean | undefined; | ||
export declare function isEntering(context: AnimatePresenceContextProps | null): boolean | undefined; | ||
export {}; | ||
//# sourceMappingURL=usePresence.d.ts.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
107902
59
1041