ivt
Version:
Ivt Components Library
1 lines • 9.6 kB
Source Map (JSON)
{"version":3,"file":"index-C6s8KI_8.mjs","sources":["../../node_modules/@radix-ui/react-presence/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["React2","useLayoutEffect","node"],"mappings":"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","x_google_ignoreList":[0]}