/* Metro module 4500; source: design/components/AlertModal/native/AlertModal.native.tsx; dependencies: [5, 57, 862, 31, 27, 482, 33, 4501, 697, 4508, 4497, 4017, 1848, 4509, 4555, 690, 4562, 1244, 3875, 1585, 4570, 1478, 4571, 4572, 4573, 4577, 4578, 2] */ function _fun38389(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#38389, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4678:6, offset: 0x010be8a8, size: 808 bytes, params: 8, frame: 29 const env0_0 = require; const getAlertModalItemKey = function(a0) { return a0.key; }; const closure = AlertModal; const closure2 = AlertActions; const closure3 = AlertActionButton; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(5) /* metro dependency 5 */; const env0_4 = importDefault(57) /* metro dependency 57 */; const env0_5 = importDefault(862) /* metro dependency 862 */; let value = importAll(31) /* metro dependency 31 */; const value2 = require(27) /* metro dependency 27 */; const env0_7 = value2.View; const env0_8 = value2.StyleSheet; const env0_9 = value2.ScrollView; const NOOP = (require(482) /* metro dependency 482: Constants */).NOOP; const value3 = require(33) /* metro dependency 33 */; const env0_10 = value3.jsx; const env0_11 = value3.jsxs; const env0_12 = value3.Fragment; const createStylesModule = require(4501) /* metro dependency 4501: createStyles */; const createStyles = createStylesModule.createStyles; const object3 = {'backgroundColor': null, 'margin': 16, 'width': '100%', 'maxWidth': 400, 'height': '100%', 'borderRadius': null, 'borderWidth': 1}; const MOBILE_ALERT_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_ALERT_BACKGROUND_DEFAULT; object3.backgroundColor = MOBILE_ALERT_BACKGROUND_DEFAULT; object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xl; const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE; object3.borderColor = BORDER_SUBTLE; const SHADOW_TOP_HIGH = (importDefault(697) /* metro dependency 697: native */).shadows.SHADOW_TOP_HIGH; copyDataProperties(object3, SHADOW_TOP_HIGH, undefined); const env0_13 = Reflect.apply(createStyles, createStylesModule, [{root: {'flex': 1, 'position': 'relative', 'justifyContent': 'center', 'alignItems': 'center', 'paddingHorizontal': 16}, content: object3, overflow: {'width': '100%', 'height': '100%', 'overflow': 'hidden', 'padding': 24, 'position': 'relative'}, body: {alignItems: 'center'}, contentText: {textAlign: 'center'}}]); const env0_14 = {'overshootClamping': true, 'damping': 35, 'stiffness': 450, 'mass': 0.5, 'restDisplacementThreshold': 0.001}; const createContext = value.createContext; const TransitionStates = (require(4508) /* metro dependency 4508: TransitionGroup */).TransitionStates; const YEETED = TransitionStates.YEETED; const env0_15 = Reflect.apply(createContext, value, [YEETED]); const env0_16 = value.createContext(NOOP); const env0_17 = value.createContext(0); const env0_18 = value.createContext(''); const env0_19 = value.createContext(null); value = value.memo(_fun38414); object = {code: 'function AlertModalNativeTsx1(){const{withAlertModalSpring,sharedVisible,sharedTransitionState,TransitionStates,runOnJS,cleanUp}=this.__closure;return{opacity:withAlertModalSpring(sharedVisible.get(),function(finished){if(finished===true&&sharedVisible.get()===0&&sharedTransitionState.get()===TransitionStates.YEETED){runOnJS(cleanUp)();}})};}'}; object = {code: "function AlertModalNativeTsx2(){const{sharedVisible,sharedTransitionState,TransitionStates,runOnJS,cleanUp,windowHeight,ALERT_MODAL_MARGIN,safeAreaTop,safeAreaBottom,withAlertModalSpring,sharedIndex,sharedTopHeight,useReducedMotion}=this.__closure;var _CARD_OFFSETS$sharedI;function onComplete(finished){if(finished===true&&sharedVisible.get()===0&&sharedTransitionState.get()===TransitionStates.YEETED){runOnJS(cleanUp)();}}const CARD_OFFSETS=[0,-20,-34];const maxHeight=windowHeight-ALERT_MODAL_MARGIN*2-Math.max(safeAreaTop,safeAreaBottom)*2;return{position:'absolute',opacity:withAlertModalSpring(sharedVisible.get(),onComplete),zIndex:10-sharedIndex.get(),height:sharedIndex.get()>0?sharedTopHeight.get():'auto',maxHeight:maxHeight,transform:useReducedMotion?[]:[{scale:withAlertModalSpring(sharedVisible.get()===1?1-sharedIndex.get()*0.1:0.7)},{translateY:withAlertModalSpring(sharedVisible.get()===1?(_CARD_OFFSETS$sharedI=CARD_OFFSETS[sharedIndex.get()])!==null&&_CARD_OFFSETS$sharedI!==void 0?_CARD_OFFSETS$sharedI:sharedVisible.get()*-12:50-sharedIndex.get()*50)}]};}"}; object = {code: "function withAlertModalSpring_AlertModalNativeTsx3(value,callback){const{withSpring,MODAL_SPRING}=this.__closure;return withSpring(value,MODAL_SPRING,'animate-always',callback);}"}; const env0_23 = _fun38421(); object = {code: 'function AlertModalNativeTsx4(){const{sharedTransitionState}=this.__closure;return sharedTransitionState.get();}'}; object = {code: 'function AlertModalNativeTsx5(transitionState){const{TransitionStates,sharedVisible,runOnJS,cleanUp}=this.__closure;if(transitionState===TransitionStates.YEETED){if(sharedVisible.get()===1){sharedVisible.set(0);}else{runOnJS(cleanUp)();}}else{sharedVisible.set(1);}}'}; (require(2) /* metro dependency 2 */).fileFinishedImporting('design/components/AlertModal/native/AlertModal.native.tsx'); exports.AlertModalContainer = value; exports.useDismissModalCallback = useDismissModalCallback; exports.AlertModal = closure; exports.AlertActions = closure2; exports.AlertActionButton = closure3; exports.showConfirmModal = showConfirmModal; } function dismissTopAlert() { // fn#38391, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4678:2052, offset: 0x010bebd0, size: 185 bytes, params: 1, frame: 17 var moduleValue; const value2 = undefined; const useAlertStore = (require(4497) /* metro dependency 4497: useAlertStoreNative */).useAlertStore; const getState = useAlertStore.getState; const value3 = env0_5(Reflect.apply(getState, useAlertStore, []).alerts); const property = value3[0]; const env0_0 = value3.slice(1); if (!(property != null && property.dismissable === false)) { moduleValue = require(4497) /* metro dependency 4497: useAlertStoreNative */; moduleValue.dismissAlert(property == null ? value2 : property.key); (require(690) /* metro dependency 690: ReactBatchUpdatesNative */).batchUpdates(_fun38392); } return value2; } function AlertModalBackdrop() { // fn#38393, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4678:2661, offset: 0x010becc3, size: 355 bytes, params: 1, frame: 23 const value2 = env0_6.useContext(env0_16); const value4 = env0_4(useSharedAnimationState(), 2); const property = value4[0]; const property2 = value4[1]; const value5 = (require(4497) /* metro dependency 4497: useAlertStoreNative */).useAlertStore(function(a0) { return a0.alerts[0]?.dismissable !== false; }); const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */; const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle; const closure = AlertModalBackdropT; const object2 = {withAlertModalSpring: env0_23, sharedVisible: property2, sharedTransitionState: property}; const TransitionStates = (require(4508) /* metro dependency 4508: TransitionGroup */).TransitionStates; object2.TransitionStates = TransitionStates; object2.runOnJS = reanimatedRexportModule.runOnJS; object2.cleanUp = value2; closure.__closure = object2; closure.__workletHash = 4470729133936; closure.__initData = env0_20; const value6 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]); const Backdrop = (require(4562) /* metro dependency 4562: BackdropNative */).Backdrop; const dismissTopAlert2 = value5 ? dismissTopAlert : null; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const Xkfav5 = (require(1244) /* metro dependency 1244: indexNative */).t.Xkfav5; return ( ); } function AlertModal({header, title, content, actions, extraContent}) { // fn#38397, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4678:4464, offset: 0x010bef0f, size: 1015 bytes, params: 2, frame: 39 var object2; const Text = (require(4573) /* metro dependency 4573: Text */).Text; let binding = env0_6; let useContext = binding.useContext; const value2 = Reflect.apply(useContext, binding, [env0_16]); const value3 = env0_6.useContext(env0_17); const styles = useStyles(); const value4 = env0_6.useContext(env0_19); binding = env0_6; useContext = binding.useContext; const AccessibilityPreferencesContext = (require(3875) /* metro dependency 3875: AccessibilityPreferencesContext */).AccessibilityPreferencesContext; const enabled = Reflect.apply(useContext, binding, [AccessibilityPreferencesContext]).reducedMotion.enabled; const value6 = env0_6.useRef(null); const env0_4 = value6; const value7 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(value3); const value9 = env0_4(useSharedAnimationState(), 2); const property = value9[0]; var env0_6 = property; const property2 = value9[1]; const {top, bottom} = (importDefault(1585) /* metro dependency 1585: useSafeAreaInsetsNative */)(); env0_6.useEffect(_fun38398, [value3]); const height = (importDefault(1478) /* metro dependency 1478: useWindowDimensionsNative */)().height; const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */; const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle; const closure = AlertModalB; object2 = {sharedVisible: property2, sharedTransitionState: property}; const TransitionStates = (require(4508) /* metro dependency 4508: TransitionGroup */).TransitionStates; object2.TransitionStates = TransitionStates; object2.runOnJS = reanimatedRexportModule.runOnJS; object2.cleanUp = value2; object2.windowHeight = height; object2.ALERT_MODAL_MARGIN = 16; object2.safeAreaTop = top; object2.safeAreaBottom = bottom; object2.withAlertModalSpring = env0_23; object2.sharedIndex = value7; object2.sharedTopHeight = value4; object2.useReducedMotion = enabled; closure.__closure = object2; closure.__workletHash = 655123755546; closure.__initData = env0_21; const value11 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]); env0_6.useLayoutEffect(_fun38401, [value3, value7]); (importDefault(4571) /* metro dependency 4571: useBackPressHandler */)(function() { dismissTopAlert(); return true; }); const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View; object2 = {importantForAccessibility: value3 !== 0 ? 'no-hide-descendants' : 'auto', accessibilityElementsHidden: value3 !== 0, style: [styles.content, value11], onLayout: onLayout_38403}; const Stack = (require(4572) /* metro dependency 4572: StackNative */).Stack; const items2 = [header]; const Stack2 = (require(4572) /* metro dependency 4572: StackNative */).Stack; items2[1] = {title}{content != null ? content === '' ? null : {content} : null}; items2[2] = extraContent; items2[3] = actions != null ? {actions} : null; return ( {items2} ); } function useSharedAnimationState() { // fn#38404, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4678:7297, offset: 0x010bf5d9, size: 356 bytes, params: 1, frame: 24 var object2; const value2 = env0_6.useContext(env0_15); const value3 = env0_6.useContext(env0_16); const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */; const useSharedValue = reanimatedRexportModule.useSharedValue; const TransitionStates = (require(4508) /* metro dependency 4508: TransitionGroup */).TransitionStates; const MOUNTED = TransitionStates.MOUNTED; const value6 = Reflect.apply(useSharedValue, reanimatedRexportModule, [value2 !== MOUNTED ? 0 : 1]); const value7 = reanimatedRexportModule.useSharedValue(value2); env0_6.useLayoutEffect(_fun38405, [value6, value2, value7]); const moduleValue3 = reanimatedRexportModule; const useAnimatedReaction = moduleValue3.useAnimatedReaction; const closure = useSharedAnimationStateN; closure.__closure = {sharedTransitionState: value7}; closure.__workletHash = 14603144870585; closure.__initData = env0_24; const closure2 = useSharedAnimationStateT; object2 = {}; object2.TransitionStates = TransitionStates; object2.sharedVisible = value6; object2.runOnJS = reanimatedRexportModule.runOnJS; object2.cleanUp = value3; closure2.__closure = object2; closure2.__workletHash = 9486923983340; closure2.__initData = env0_25; Reflect.apply(useAnimatedReaction, moduleValue3, [closure, closure2]); return [value7, value6]; } function AlertActions({children}) { // fn#38408, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4678:7920, offset: 0x010bf7fb, size: 65 bytes, params: 2, frame: 15 const Stack = (require(4572) /* metro dependency 4572: StackNative */).Stack; return ( {children} ); } function AlertActionButton(a0) { // fn#38409, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4678:8005, offset: 0x010bf83c, size: 214 bytes, params: 2, frame: 20 const env0_0 = a0.onPress; const loading = a0.loading; const value = Object.create(null); value.onPress = 0; value.loading = 0; const value2 = copyDataProperties({}, a0, value, undefined); const [property, env0_1] = env0_4(env0_6.useState(false), 2); const env0_2 = env0_6.useContext(env0_18); const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button; const buttonProps = {...value2}; buttonProps['grow'] = true; buttonProps['loading'] = loading ?? property; buttonProps['onPress'] = _fun38410(); return