@undp/design-system-react
Version:
React based design system for UNDP
1 lines • 10.3 kB
Source Map (JSON)
{"version":3,"file":"dist-odcXV7N3.cjs","names":["React","React2"],"sources":["../node_modules/@radix-ui/react-presence/dist/index.mjs"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/presence.tsx\nimport * as React2 from \"react\";\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__name(useStateMachine, \"useStateMachine\");\n\n// src/presence.tsx\nvar Presence = /* @__PURE__ */ __name((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 = useStableComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n}, \"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 mountAnimationNameRef = React2.useRef(void 0);\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 if (state === \"mounted\") {\n prevAnimationNameRef.current = mountAnimationNameRef.current ?? getAnimationName(stylesRef.current);\n mountAnimationNameRef.current = void 0;\n } else {\n prevAnimationNameRef.current = \"none\";\n }\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 mountAnimationNameRef.current = currentAnimationName;\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 = /* @__PURE__ */ __name((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 }, \"handleAnimationEnd\");\n const handleAnimationStart = /* @__PURE__ */ __name((event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n }, \"handleAnimationStart\");\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 if (node2) {\n const styles = getComputedStyle(node2);\n stylesRef.current = styles;\n mountAnimationNameRef.current = getAnimationName(styles);\n } else {\n stylesRef.current = null;\n }\n setNode(node2);\n }, [])\n };\n}\n__name(usePresence, \"usePresence\");\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\n__name(setRef, \"setRef\");\nfunction useStableComposedRefs(...refs) {\n const refsRef = React2.useRef(refs);\n refsRef.current = refs;\n return React2.useCallback((node) => {\n const currentRefs = refsRef.current;\n let hasCleanup = false;\n const cleanups = currentRefs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup === \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup === \"function\") {\n cleanup();\n } else {\n setRef(currentRefs[i], null);\n }\n }\n };\n }\n }, []);\n}\n__name(useStableComposedRefs, \"useStableComposedRefs\");\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\n__name(getAnimationName, \"getAnimationName\");\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}\n__name(getElementRef, \"getElementRef\");\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0],"mappings":"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"}