// Metro module 10335 (f10336).
import _slicedToArray from "../../../_bundle/_slicedToArray";
import { useState, useMemo, useCallback, useEffect } from "react";
import { Pressable, View } from "react-native";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import { useIsScreenReaderEnabled } from "../../a11y/native/useIsScreenReaderEnabled.native";
import * as _ReanimatedRexport from "../../reanimated/ReanimatedRexport";
import ReanimatedRexport, { useSharedValue, useAnimatedStyle, withDelay, withRepeat, cancelAnimation } from "../../reanimated/ReanimatedRexport";
import { getExpandNUXState, MAX_TIMES_SHOWN, ONE_DAY_MS, markExpandNUXStateAsShown, NUX_REVEAL_DELAY_MS, NUX_REVEAL_DURATION_MS, DRAG_HANDLE_BOUNCE_DISTANCE, DRAG_HANDLE_BOUNCE_DURATION_MS } from "./InAppNotificationExpandNux";
import { useSelectedDismissibleContent } from "../../dismissible_content/hooks/useSelectedDismissibleContent";
import { DismissibleContent } from "../../../_bundle/Module1358";
import { withTiming } from "../../../design/animation/reanimated/timing/timing";
import { Text } from "../../../design/components/Text/native/Text";
import { intl, t } from "../../../intl/index.native";
import MessageNotificationHeader, { SimpleNotificationHeader } from "./MessageNotificationHeader";
let useStyles, useStyles2, __initData, __initData2;
const DragHandle = function DragHandle(props) {
let c17882_5;
const onAccessibilityExpand = props.onAccessibilityExpand;
c17882_5 = void 0;
const styles = useStyles();
const isScreenReaderEnabled = useIsScreenReaderEnabled();
const sharedValue = useSharedValue(0);
const sharedValue2 = useSharedValue(0);
const [state, setState] = useState(0);
const [state2] = useState(() => Date.now());
const r61 = _slicedToArray(useSelectedDismissibleContent(useMemo(() => {
const expandNUXState = getExpandNUXState();
if (expandNUXState.numTimesShown >= MAX_TIMES_SHOWN) {
return false;
}
return !(state2 - expandNUXState.lastShownAtMs < ONE_DAY_MS);
}, [state2]) ? [DismissibleContent.IN_APP_NOTIFICATION_EXPAND_NUX] : [], void 0, true), 1)[0] === DismissibleContent.IN_APP_NOTIFICATION_EXPAND_NUX;
c17882_5 = r61;
const callback = useCallback((a0) => {
const height = a0.nativeEvent.layout.height;
setState((prevState) => {
let r2 = height;
if (prevState === height) {
r2 = prevState;
}
return r2;
});
}, []);
const c = () => ({
opacity: sharedValue2.get(),
height: _ReanimatedRexport.interpolate(sharedValue2.get(), [0, 1], [0, state])
});
c.__closure = {
textRevealProgress: sharedValue2,
interpolate: _ReanimatedRexport.interpolate,
textHeight: state
};
c.__workletHash = 11744264899632;
c.__initData = __initData;
const animatedStyle = useAnimatedStyle(c);
const A = () => ({
transform: [{
translateY: sharedValue.get()
}]
});
A.__closure = {
dragHandleBounceProgress: sharedValue
};
A.__workletHash = 16018166575562;
A.__initData = __initData2;
const animatedStyle2 = useAnimatedStyle(A);
useEffect(() => {
if (c17882_5) {
markExpandNUXStateAsShown();
sharedValue2.set(withDelay(NUX_REVEAL_DELAY_MS, withTiming(1, {
duration: NUX_REVEAL_DURATION_MS
})));
sharedValue.set(withDelay(NUX_REVEAL_DELAY_MS + NUX_REVEAL_DURATION_MS, withRepeat(withTiming(DRAG_HANDLE_BOUNCE_DISTANCE, {
duration: DRAG_HANDLE_BOUNCE_DURATION_MS
}), -1, true)));
return () => {
cancelAnimation(sharedValue2);
cancelAnimation(sharedValue);
};
}
}, [r61, sharedValue2, sharedValue]);
const r91 = r61 ? <>
{intl.string(t["vos6/N"])}
> : ;
return isScreenReaderEnabled ? onAccessibilityExpand != null ? {r91} : r91 : r91;
};
useStyles = createStyles({
dragHandleTextContainer: {
overflow: "hidden"
},
dragHandleText: {
position: "absolute",
left: 0,
right: 0,
textAlign: "center",
paddingBottom: Module712.space.PX_4
},
dragHandle: {
width: 32,
height: 4,
alignSelf: "center",
backgroundColor: Module712.colors.BACKGROUND_ACCENT,
borderRadius: Module712.radii.xs,
marginBottom: Module712.space.PX_8
}
});
useStyles2 = createStyles({
body: {
flex: 1
},
iconContainer: {
marginRight: Module712.space.PX_8
},
contentContainer: {
padding: Module712.space.PX_12,
flexDirection: "row"
},
contentContainerExpanded: {
padding: Module712.space.PX_12,
paddingBottom: 0,
flexDirection: "row"
},
headerContainer: {
flex: 1
},
labelContainer: {
flexDirection: "row",
alignItems: "center"
}
});
__initData = {
code: "function NotificationContentTsx1(){const{textRevealProgress,interpolate,textHeight}=this.__closure;return{opacity:textRevealProgress.get(),height:interpolate(textRevealProgress.get(),[0,1],[0,textHeight])};}"
};
__initData2 = {
code: "function NotificationContentTsx2(){const{dragHandleBounceProgress}=this.__closure;return{transform:[{translateY:dragHandleBounceProgress.get()}]};}"
};
export default function NotificationContent(props) {
const { icon, children, accessoryLabelNode, rightAccessory, header, showDragHandle = false, onAccessibilityExpand, bodyStyle, expandedContentVisible = false } = props;
const styles2 = useStyles2();
const style = expandedContentVisible ? styles2.contentContainerExpanded : styles2.contentContainer;
return <>
{icon != null ? {icon} : null}
{accessoryLabelNode ?? null}
{header.type === "message" ? : }
{children}
{rightAccessory}
{showDragHandle ? : null}
>;
};