{"version":3,"names":["useIsPresent","useComposedRefs","isWeb","Theme","View","createStyledContext","styled","useConfiguration","useEvent","useThemeName","Dismissable","composeEventHandlers","PortalItem","YStack","React","TOAST_NAME","ToastAnnounce","Collection","useToastProviderContext","VIEWPORT_PAUSE","VIEWPORT_RESUME","Fragment","jsx","jsxs","getPanResponder","ToastImplFrame","name","tabIndex","variants","unstyled","false","focusStyle","outlineStyle","outlineWidth","outlineColor","backgroundColor","borderRadius","paddingHorizontal","paddingVertical","marginHorizontal","marginVertical","elevation","defaultVariants","process","env","TAMAGUI_HEADLESS","Provider","ToastInteractiveProvider","useStyledContext","useToastInteractiveContext","onClose","ToastImpl","forwardRef","props","forwardedRef","scope","type","duration","durationProp","open","onEscapeKeyDown","onPause","onResume","onSwipeStart","onSwipeMove","onSwipeCancel","onSwipeEnd","viewportName","toastProps","isPresent","context","node","setNode","useState","composedRefs","closeTimerStartTimeRef","useRef","closeTimerRemainingTimeRef","closeTimerRef","onToastAdd","onToastRemove","viewport","useMemo","viewports","handleClose","contains","document","activeElement","focus","startTimer","useCallback","duration2","Number","POSITIVE_INFINITY","clearTimeout","current","Date","getTime","setTimeout","handleResume","handlePause","elapsedTime","window","useEffect","addEventListener","removeEventListener","isClosePausedRef","announceTextContent","getAnnounceTextContent","isHorizontalSwipe","includes","swipeDirection","animationDriver","Error","useAnimatedNumber","useAnimatedNumberStyle","animatedNumber","AnimatedView","animatedStyles","val","transform","translateX","translateY","panResponder","PanResponder","create","onMoveShouldSetPanResponder","e","gesture","shouldGrantGestureMove","onPanResponderGrant","onPanResponderMove","x","y","getGestureDistance","delta","setValue","isDeltaInDirection","swipeThreshold","onPanResponderEnd","dx","dy","themeName","children","role","hostName","isFocusedToastEscapeKeyDownRef","contain","forceClassName","panHandlers","style","margin","ItemSlot","toastScope","pointerEvents","touchAction","userSelect","ref","onKeyDown","event","key","defaultPrevented","id","propTypes","error","direction","threshold","deltaX","Math","abs","deltaY","isDeltaX","container","textContent","Array","from","childNodes","forEach","nodeType","TEXT_NODE","push","isHTMLElement","isHidden","ariaHidden","hidden","display","isExcluded","dataset","toastAnnounceExclude","altText","toastAnnounceAlt","ELEMENT_NODE","GESTURE_GRANT_THRESHOLD","dir","min","max"],"sources":["ToastImpl.mjs"],"sourcesContent":["import { useIsPresent } from \"@tamagui/animate-presence\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { Theme, View, createStyledContext, styled, useConfiguration, useEvent, useThemeName } from \"@tamagui/core\";\nimport { Dismissable } from \"@tamagui/dismissable\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport { PortalItem } from \"@tamagui/portal\";\nimport { YStack } from \"@tamagui/stacks\";\nimport * as React from \"react\";\nimport { TOAST_NAME } from \"./constants\";\nimport { ToastAnnounce } from \"./ToastAnnounce\";\nimport { Collection, useToastProviderContext } from \"./ToastProvider\";\nimport { VIEWPORT_PAUSE, VIEWPORT_RESUME } from \"./ToastViewport\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n\nconst getPanResponder = () => {\n\treturn null;\n};\nconst ToastImplFrame = styled(YStack, {\n\tname: \"ToastImpl\",\n\ttabIndex: 0,\n\tvariants: { unstyled: { false: {\n\t\tfocusStyle: {\n\t\t\toutlineStyle: \"solid\",\n\t\t\toutlineWidth: 2,\n\t\t\toutlineColor: \"$outlineColor\"\n\t\t},\n\t\tbackgroundColor: \"$color6\",\n\t\tborderRadius: \"$4\",\n\t\tpaddingHorizontal: \"$4\",\n\t\tpaddingVertical: \"$3\",\n\t\tmarginHorizontal: \"auto\",\n\t\tmarginVertical: \"$1\",\n\t\televation: \"$3\"\n\t} } },\n\tdefaultVariants: { unstyled: process.env.TAMAGUI_HEADLESS === \"1\" }\n});\nconst { Provider: ToastInteractiveProvider, useStyledContext: useToastInteractiveContext } = createStyledContext({ onClose() {} });\nconst ToastImpl = React.forwardRef((props, forwardedRef) => {\n\tconst { scope, type = \"foreground\", duration: durationProp, open, onClose, onEscapeKeyDown, onPause, onResume, onSwipeStart, onSwipeMove, onSwipeCancel, onSwipeEnd, viewportName = \"default\", ...toastProps } = props;\n\tconst isPresent = useIsPresent();\n\tconst context = useToastProviderContext(scope);\n\tconst [node, setNode] = React.useState(null);\n\tconst composedRefs = useComposedRefs(forwardedRef, setNode);\n\tconst duration = durationProp || context.duration;\n\tconst closeTimerStartTimeRef = React.useRef(0);\n\tconst closeTimerRemainingTimeRef = React.useRef(duration);\n\tconst closeTimerRef = React.useRef(0);\n\tconst { onToastAdd, onToastRemove } = context;\n\tconst viewport = React.useMemo(() => {\n\t\treturn context.viewports[viewportName];\n\t}, [context.viewports, viewportName]);\n\tconst handleClose = useEvent(() => {\n\t\tif (!isPresent) return;\n\t\tif (isWeb) {\n\t\t\tif (node?.contains(document.activeElement)) viewport?.focus();\n\t\t}\n\t\tonClose();\n\t});\n\tconst startTimer = React.useCallback((duration2) => {\n\t\tif (!duration2 || duration2 === Number.POSITIVE_INFINITY) return;\n\t\tclearTimeout(closeTimerRef.current);\n\t\tcloseTimerStartTimeRef.current = (/* @__PURE__ */ new Date()).getTime();\n\t\tcloseTimerRef.current = setTimeout(handleClose, duration2);\n\t}, [handleClose]);\n\tconst handleResume = React.useCallback(() => {\n\t\tstartTimer(closeTimerRemainingTimeRef.current);\n\t\tonResume?.();\n\t}, [onResume, startTimer]);\n\tconst handlePause = React.useCallback(() => {\n\t\tconst elapsedTime = (/* @__PURE__ */ new Date()).getTime() - closeTimerStartTimeRef.current;\n\t\tcloseTimerRemainingTimeRef.current = closeTimerRemainingTimeRef.current - elapsedTime;\n\t\twindow.clearTimeout(closeTimerRef.current);\n\t\tonPause?.();\n\t}, [onPause]);\n\tReact.useEffect(() => {\n\t\tif (!isWeb) return;\n\t\tif (viewport) {\n\t\t\tviewport.addEventListener(VIEWPORT_PAUSE, handlePause);\n\t\t\tviewport.addEventListener(VIEWPORT_RESUME, handleResume);\n\t\t\treturn () => {\n\t\t\t\tviewport.removeEventListener(VIEWPORT_PAUSE, handlePause);\n\t\t\t\tviewport.removeEventListener(VIEWPORT_RESUME, handleResume);\n\t\t\t};\n\t\t}\n\t}, [\n\t\tviewport,\n\t\tduration,\n\t\tonPause,\n\t\tonResume,\n\t\tstartTimer\n\t]);\n\tReact.useEffect(() => {\n\t\tif (open && !context.isClosePausedRef.current) startTimer(duration);\n\t}, [\n\t\topen,\n\t\tduration,\n\t\tcontext.isClosePausedRef,\n\t\tstartTimer\n\t]);\n\tReact.useEffect(() => {\n\t\tonToastAdd();\n\t\treturn () => onToastRemove();\n\t}, [onToastAdd, onToastRemove]);\n\tconst announceTextContent = React.useMemo(() => {\n\t\tif (!isWeb) return null;\n\t\treturn node ? getAnnounceTextContent(node) : null;\n\t}, [node]);\n\tconst isHorizontalSwipe = [\n\t\t\"left\",\n\t\t\"right\",\n\t\t\"horizontal\"\n\t].includes(context.swipeDirection);\n\tconst { animationDriver } = useConfiguration();\n\tif (!animationDriver) throw new Error(\"Must set animations in tamagui.config.ts\");\n\tconst { useAnimatedNumber, useAnimatedNumberStyle } = animationDriver;\n\tconst animatedNumber = useAnimatedNumber(0);\n\tconst AnimatedView = animationDriver[\"NumberView\"] ?? animationDriver.View ?? View;\n\tconst animatedStyles = useAnimatedNumberStyle(animatedNumber, (val) => {\n\t\t\"worklet\";\n\t\treturn { transform: [isHorizontalSwipe ? { translateX: val } : { translateY: val }] };\n\t});\n\tconst panResponder = React.useMemo(() => {\n\t\tconst PanResponder = getPanResponder();\n\t\tif (!PanResponder) return null;\n\t\treturn PanResponder.create({\n\t\t\tonMoveShouldSetPanResponder: (e, gesture) => {\n\t\t\t\tif (shouldGrantGestureMove(context.swipeDirection, gesture)) {\n\t\t\t\t\tonSwipeStart?.(e);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tonPanResponderGrant: (e) => {\n\t\t\t\tif (!isWeb) handlePause?.();\n\t\t\t},\n\t\t\tonPanResponderMove: (e, gesture) => {\n\t\t\t\tconst { x, y } = getGestureDistance(context.swipeDirection, gesture);\n\t\t\t\tconst delta = {\n\t\t\t\t\tx,\n\t\t\t\t\ty\n\t\t\t\t};\n\t\t\t\tanimatedNumber.setValue(isHorizontalSwipe ? x : y, { type: \"direct\" });\n\t\t\t\tif (isDeltaInDirection(delta, context.swipeDirection, context.swipeThreshold)) onSwipeEnd?.(e);\n\t\t\t\tonSwipeMove?.(e);\n\t\t\t},\n\t\t\tonPanResponderEnd: (e, { dx, dy }) => {\n\t\t\t\tif (!isDeltaInDirection({\n\t\t\t\t\tx: dx,\n\t\t\t\t\ty: dy\n\t\t\t\t}, context.swipeDirection, context.swipeThreshold)) {\n\t\t\t\t\tif (!isWeb) handleResume?.();\n\t\t\t\t\tonSwipeCancel?.(e);\n\t\t\t\t\tanimatedNumber.setValue(0, { type: \"spring\" });\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}, [handlePause, handleResume]);\n\tconst themeName = useThemeName();\n\treturn /* @__PURE__ */ jsxs(Fragment, { children: [announceTextContent && /* @__PURE__ */ jsx(ToastAnnounce, {\n\t\tscope,\n\t\trole: \"status\",\n\t\t\"aria-live\": type === \"foreground\" ? \"assertive\" : \"polite\",\n\t\t\"aria-atomic\": true,\n\t\tchildren: announceTextContent\n\t}), /* @__PURE__ */ jsx(PortalItem, {\n\t\thostName: viewportName ?? \"default\",\n\t\tchildren: /* @__PURE__ */ jsx(ToastInteractiveProvider, {\n\t\t\tscope,\n\t\t\tonClose: () => {\n\t\t\t\thandleClose();\n\t\t\t},\n\t\t\tchildren: /* @__PURE__ */ jsx(Dismissable, {\n\t\t\t\tonEscapeKeyDown: composeEventHandlers(onEscapeKeyDown, () => {\n\t\t\t\t\tif (!context.isFocusedToastEscapeKeyDownRef.current) handleClose();\n\t\t\t\t\tcontext.isFocusedToastEscapeKeyDownRef.current = false;\n\t\t\t\t}),\n\t\t\t\tchildren: /* @__PURE__ */ jsx(Theme, {\n\t\t\t\t\tcontain: true,\n\t\t\t\t\tforceClassName: true,\n\t\t\t\t\tname: themeName,\n\t\t\t\t\tchildren: /* @__PURE__ */ jsx(AnimatedView, {\n\t\t\t\t\t\t...panResponder?.panHandlers,\n\t\t\t\t\t\tstyle: [{ margin: \"auto\" }, animatedStyles],\n\t\t\t\t\t\tchildren: /* @__PURE__ */ jsx(Collection.ItemSlot, {\n\t\t\t\t\t\t\tscope: context.toastScope,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ jsx(ToastImplFrame, {\n\t\t\t\t\t\t\t\trole: \"status\",\n\t\t\t\t\t\t\t\t\"aria-live\": \"off\",\n\t\t\t\t\t\t\t\t\"aria-atomic\": true,\n\t\t\t\t\t\t\t\t\"data-state\": open ? \"open\" : \"closed\",\n\t\t\t\t\t\t\t\t\"data-swipe-direction\": context.swipeDirection,\n\t\t\t\t\t\t\t\tpointerEvents: \"auto\",\n\t\t\t\t\t\t\t\t\"$platform-web\": {\n\t\t\t\t\t\t\t\t\ttouchAction: \"none\",\n\t\t\t\t\t\t\t\t\tuserSelect: \"none\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...toastProps,\n\t\t\t\t\t\t\t\tref: composedRefs,\n\t\t\t\t\t\t\t\t...isWeb && { onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n\t\t\t\t\t\t\t\t\tif (event.key !== \"Escape\") return;\n\t\t\t\t\t\t\t\t\tonEscapeKeyDown?.(event);\n\t\t\t\t\t\t\t\t\tif (!event.defaultPrevented) {\n\t\t\t\t\t\t\t\t\t\tcontext.isFocusedToastEscapeKeyDownRef.current = true;\n\t\t\t\t\t\t\t\t\t\thandleClose();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}) }\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t})\n\t\t}, props.id)\n\t})] });\n});\nToastImpl.propTypes = { type(props) {\n\tif (props.type && ![\"foreground\", \"background\"].includes(props.type)) {\n\t\tconst error = `Invalid prop \\`type\\` supplied to \\`${TOAST_NAME}\\`. Expected \\`foreground | background\\`.`;\n\t\treturn new Error(error);\n\t}\n\treturn null;\n} };\nconst isDeltaInDirection = (delta, direction, threshold = 0) => {\n\tconst deltaX = Math.abs(delta.x);\n\tconst deltaY = Math.abs(delta.y);\n\tconst isDeltaX = deltaX > deltaY;\n\tif (direction === \"left\" || direction === \"right\" || direction === \"horizontal\") return isDeltaX && deltaX > threshold;\n\treturn !isDeltaX && deltaY > threshold;\n};\nfunction getAnnounceTextContent(container) {\n\tif (!isWeb) return \"\";\n\tconst textContent = [];\n\tArray.from(container.childNodes).forEach((node) => {\n\t\tif (node.nodeType === node.TEXT_NODE && node.textContent) textContent.push(node.textContent);\n\t\tif (isHTMLElement(node)) {\n\t\t\tconst isHidden = node.ariaHidden || node.hidden || node.style.display === \"none\";\n\t\t\tconst isExcluded = node.dataset.toastAnnounceExclude === \"\";\n\t\t\tif (!isHidden) if (isExcluded) {\n\t\t\t\tconst altText = node.dataset.toastAnnounceAlt;\n\t\t\t\tif (altText) textContent.push(altText);\n\t\t\t} else textContent.push(...getAnnounceTextContent(node));\n\t\t}\n\t});\n\treturn textContent;\n}\nfunction isHTMLElement(node) {\n\treturn node.nodeType === node.ELEMENT_NODE;\n}\nconst GESTURE_GRANT_THRESHOLD = 10;\nconst shouldGrantGestureMove = (dir, { dx, dy }) => {\n\tif ((dir === \"horizontal\" || dir === \"left\") && dx < -GESTURE_GRANT_THRESHOLD) return true;\n\tif ((dir === \"horizontal\" || dir === \"right\") && dx > GESTURE_GRANT_THRESHOLD) return true;\n\tif ((dir === \"vertical\" || dir === \"up\") && dy > -GESTURE_GRANT_THRESHOLD) return true;\n\tif ((dir === \"vertical\" || dir === \"down\") && dy < GESTURE_GRANT_THRESHOLD) return true;\n\treturn false;\n};\nconst getGestureDistance = (dir, { dx, dy }) => {\n\tlet y = 0;\n\tlet x = 0;\n\tif (dir === \"horizontal\") x = dx;\n\telse if (dir === \"left\") x = Math.min(0, dx);\n\telse if (dir === \"right\") x = Math.max(0, dx);\n\telse if (dir === \"vertical\") y = dy;\n\telse if (dir === \"up\") y = Math.min(0, dy);\n\telse if (dir === \"down\") y = Math.max(0, dy);\n\treturn {\n\t\tx,\n\t\ty\n\t};\n};\n\nexport { ToastImpl, ToastImplFrame, useToastInteractiveContext };"],"mappings":"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","ignoreList":[]}