// Module ID: 4514 // Function ID: 39655 // Name: mapAppearanceToNativeProp // Dependencies: [] // Exports: default // Module 4514 (mapAppearanceToNativeProp) let Platform; let StyleSheet; function mapAppearanceToNativeProp(scrollEdgeAppearance) { let compactInline; let inline; let tabBarBackgroundColor; let tabBarShadowColor; if (scrollEdgeAppearance) { const _Object = Object; const obj = {}; ({ inline, compactInline, tabBarBackgroundColor, tabBarShadowColor } = scrollEdgeAppearance); obj.stacked = mapItemAppearanceToNativeProp(scrollEdgeAppearance.stacked); obj.inline = mapItemAppearanceToNativeProp(inline); obj.compactInline = mapItemAppearanceToNativeProp(compactInline); obj.tabBarBackgroundColor = callback3(tabBarBackgroundColor); obj.tabBarShadowColor = callback3(tabBarShadowColor); return Object.assign({}, scrollEdgeAppearance, obj); } } function mapItemAppearanceToNativeProp(compactInline) { let disabled; let focused; let selected; if (compactInline) { const _Object = Object; const obj = {}; ({ selected, focused, disabled } = compactInline); obj.normal = mapItemStateAppearanceToNativeProp(compactInline.normal); obj.selected = mapItemStateAppearanceToNativeProp(selected); obj.focused = mapItemStateAppearanceToNativeProp(focused); obj.disabled = mapItemStateAppearanceToNativeProp(disabled); return Object.assign({}, compactInline, obj); } } function mapItemStateAppearanceToNativeProp(disabled) { let tabBarItemBadgeBackgroundColor; let tabBarItemIconColor; if (disabled) { const tabBarItemTitleFontWeight = disabled.tabBarItemTitleFontWeight; const obj = {}; ({ tabBarItemIconColor, tabBarItemBadgeBackgroundColor } = disabled); obj.tabBarItemTitleFontColor = callback3(disabled.tabBarItemTitleFontColor); obj.tabBarItemIconColor = callback3(tabBarItemIconColor); obj.tabBarItemBadgeBackgroundColor = callback3(tabBarItemBadgeBackgroundColor); let StringResult; if (undefined !== tabBarItemTitleFontWeight) { const _String = String; StringResult = String(tabBarItemTitleFontWeight); } obj.tabBarItemTitleFontWeight = StringResult; return Object.assign({}, disabled, obj); } } let closure_3 = ["https:", "discord:", "tel:", "sms:", "mailto:", "\u034F", "\u17B4", "\u17B5", "\u1160", "\u3164", "\uFFA0", "H", "\u04BB"]; let closure_4 = importDefault(dependencyMap[0]); let closure_5 = importDefault(dependencyMap[1]); let closure_6 = importDefault(dependencyMap[2]); ({ Image: closure_7, Platform, StyleSheet, findNodeHandle: closure_8, processColor: closure_9 } = arg1(dependencyMap[3])); const jsx = arg1(dependencyMap[4]).jsx; const styles = StyleSheet.create({ fillParent: {} }); export default function TabsScreen(onWillAppear) { let experimental_userInterfaceStyle; let freezeContents; let icon; let scrollEdgeAppearance; let scrollEdgeEffects; let selectedIcon; let standardAppearance; let style; const ref = React.useRef(null); const arg1 = ref; const ref1 = React.useRef(-1); const importDefault = ref1; const effect = React.useEffect(() => { if (null != ref.current) { const tmp5 = callback2(ref.current); let num2 = -1; if (null != tmp5) { num2 = tmp5; } ref1.current = num2; const tmp2 = ref1; } else { ref1.current = -1; } }, []); const tmp4 = callback2(React.useState(false), 2); const first = tmp4[0]; let closure_2 = tmp4[1]; onWillAppear = onWillAppear.onWillAppear; let closure_3 = onWillAppear; const onDidAppear = onWillAppear.onDidAppear; let callback = onDidAppear; const onWillDisappear = onWillAppear.onWillDisappear; let callback2 = onWillDisappear; const onDidDisappear = onWillAppear.onDidDisappear; const React = onDidDisappear; const isFocused = onWillAppear.isFocused; ({ freezeContents, selectedIcon, scrollEdgeEffects } = onWillAppear); ({ icon, standardAppearance, scrollEdgeAppearance, experimental_userInterfaceStyle, style } = onWillAppear); const tmp7 = callback(onWillAppear, closure_3); let obj = arg1(closure_2[8]); let flag = false; if (obj.freezeEnabled()) { flag = freezeContents; if (undefined === freezeContents) { if (arg1(closure_2[9]).featureFlags.experiment.controlledBottomTabs) { let tmp11 = tmp10; if (tmp10) { tmp11 = !tmp6; } flag = tmp11; } else { flag = tmp10; } } } const items = [onWillAppear]; const items1 = [onDidAppear]; callback = React.useCallback((arg0) => { ref(callback[5]).bottomTabsDebugLog("TabsScreen [" + ref1.current + "] onWillAppear received"); callback(true); if (null != onWillAppear) { onWillAppear(arg0); } }, items); const items2 = [onWillDisappear]; const callback1 = React.useCallback((arg0) => { ref(closure_2[5]).bottomTabsDebugLog("TabsScreen [" + ref1.current + "] onDidAppear received"); if (null != onDidAppear) { onDidAppear(arg0); } }, items1); const items3 = [onDidDisappear]; callback2 = React.useCallback((arg0) => { ref(closure_2[5]).bottomTabsDebugLog("TabsScreen [" + ref1.current + "] onWillDisappear received"); if (null != onWillDisappear) { onWillDisappear(arg0); } }, items2); const callback3 = React.useCallback((arg0) => { ref(callback[5]).bottomTabsDebugLog("TabsScreen [" + ref1.current + "] onDidDisappear received"); callback(false); if (null != onDidDisappear) { onDidDisappear(arg0); } }, items3); let obj1 = arg1(closure_2[5]); const current = ref1.current; let num2 = -1; if (null != current) { num2 = current; } obj1.bottomTabsDebugLog("TabsScreen [" + num2 + "] render; tabKey: " + tmp7.tabKey + " shouldFreeze: " + flag + ", isFocused: " + undefined !== isFocused && isFocused + " nativeViewIsVisible: " + first); obj = { collapsable: false, style: items4, onWillAppear: callback, onDidAppear: callback1, onWillDisappear: callback2, onDidDisappear: callback3, isFocused: tmp6 }; const items4 = [style, fillParent.fillParent]; obj = {}; const tmp17 = function parseIconsToNativeProps(icon) { let android; if (null != icon) { android = icon.android; } if (!android) { let shared; if (null != icon) { shared = icon.shared; } android = shared; } if (android) { if ("imageSource" === android.type) { const assetSource = closure_7.resolveAssetSource(android.imageSource); if (!assetSource) { const _console = console; console.error("[RNScreens] failed to resolve an asset for bottom tab icon"); } let obj = { imageIconResource: assetSource }; } else if ("drawableResource" === android.type) { obj = { drawableIconResourceName: android.name }; } else { const _Error = Error; const error = new Error("[RNScreens] Incorrect icon format for Android. You must provide `imageSource` or `drawableResource`."); throw error; } } else { obj = {}; } return Object.assign({}, obj); }(icon); const tmp18 = jsx; obj.standardAppearance = mapAppearanceToNativeProp(standardAppearance); obj.scrollEdgeAppearance = mapAppearanceToNativeProp(scrollEdgeAppearance); obj.ref = ref; let bottom; if (null != scrollEdgeEffects) { bottom = scrollEdgeEffects.bottom; } obj.bottomScrollEdgeEffect = bottom; let left; if (null != scrollEdgeEffects) { left = scrollEdgeEffects.left; } obj.leftScrollEdgeEffect = left; let right; if (null != scrollEdgeEffects) { right = scrollEdgeEffects.right; } obj.rightScrollEdgeEffect = right; let top; if (null != scrollEdgeEffects) { top = scrollEdgeEffects.top; } obj.topScrollEdgeEffect = top; obj.isTitleUndefined = null === tmp7.title || undefined === tmp7.title; obj.userInterfaceStyle = experimental_userInterfaceStyle; obj1 = { children: jsx(arg1(closure_2[7]).Freeze, obj2) }; const obj2 = { freeze: flag }; ({ placeholder: obj6.placeholder, children: obj6.children } = tmp7); return tmp18(importDefault(closure_2[6]), Object.assign(obj, tmp17, obj, tmp7, obj1)); };