{"version":3,"file":"SplashScreen.js","sourceRoot":"","sources":["../../src/ios/SplashScreen.ts"],"names":[],"mappings":";;;;;;;;;AACA,2EAIuC;AAGvC,0DAA2D;AAC3D,qEAAuD;AAE1C,QAAA,gBAAgB,GAAiB,MAAM,CAAC,EAAE;IACrD,OAAO,+BAAgB,CAAC,MAAM,EAAE;QAC9B,KAAK;QACL,KAAK,EAAC,MAAM,EAAC,EAAE;YACb,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,SAAgB,eAAe,CAAC,MAAkB;;IAChD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,QAAC,MAAM,CAAC,GAAG,0CAAE,MAAM,CAAA,EAAE;QACzC,OAAO;KACR;IAED,MAAM,MAAM,GAA0B;QACpC,eAAe,0BACb,MAAM,CAAC,GAAG,0CAAE,MAAM,0CAAE,UAAU,yCAC9B,MAAM,CAAC,MAAM,0CAAE,UAAU,mCACzB,qDAA2B,CAAC,OAAO;QACrC,eAAe,0BACb,MAAM,CAAC,GAAG,0CAAE,MAAM,0CAAE,eAAe,yCAAI,MAAM,CAAC,MAAM,0CAAE,eAAe,mCAAI,SAAS;QACpF,KAAK,oBAAE,MAAM,CAAC,GAAG,0CAAE,MAAM,0CAAE,KAAK,yCAAI,MAAM,CAAC,MAAM,0CAAE,KAAK;KACzD,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,0CAgBC;AAEM,KAAK,UAAU,oBAAoB,CAAC,MAAkB,EAAE,WAAmB;IAChF,MAAM,uBAAuB,GAC3B,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IACzF,IAAI,CAAC,uBAAuB,EAAE;QAC5B,iBAAiB,CAAC,aAAa,CAC7B,QAAQ,EACR,2LAA2L,CAC5L,CAAC;QACF,OAAO;KACR;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE7C,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;KACR;IACD,IAAI;QACF,MAAM,kDAAwB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;KAC3D;IAAC,OAAO,CAAC,EAAE;QACV,iBAAiB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KAC9C;AACH,CAAC;AArBD,oDAqBC","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\nimport {\n configureIosSplashScreen,\n IosSplashScreenConfig,\n SplashScreenImageResizeMode,\n} from '@expo/configure-splash-screen';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withDangerousMod } from '../plugins/core-plugins';\nimport * as WarningAggregator from '../utils/warnings';\n\nexport const withSplashScreen: ConfigPlugin = config => {\n return withDangerousMod(config, [\n 'ios',\n async config => {\n await setSplashScreenAsync(config, config.modRequest.projectRoot);\n return config;\n },\n ]);\n};\n\nexport function getSplashScreen(config: ExpoConfig): IosSplashScreenConfig | undefined {\n if (!config.splash && !config.ios?.splash) {\n return;\n }\n\n const result: IosSplashScreenConfig = {\n imageResizeMode:\n config.ios?.splash?.resizeMode ??\n config.splash?.resizeMode ??\n SplashScreenImageResizeMode.CONTAIN,\n backgroundColor:\n config.ios?.splash?.backgroundColor ?? config.splash?.backgroundColor ?? '#FFFFFF', // white\n image: config.ios?.splash?.image ?? config.splash?.image,\n };\n\n return result;\n}\n\nexport async function setSplashScreenAsync(config: ExpoConfig, projectRoot: string) {\n const splashScreenIsSupported =\n config.sdkVersion === '39.0.0' || config.sdkVersion === '40.0.0' || !config.sdkVersion;\n if (!splashScreenIsSupported) {\n WarningAggregator.addWarningIOS(\n 'splash',\n 'Unable to automatically configure splash screen. Please refer to the expo-splash-screen README for more information: https://github.com/expo/expo/tree/master/packages/expo-splash-screen'\n );\n return;\n }\n\n const splashConfig = getSplashScreen(config);\n\n if (!splashConfig) {\n return;\n }\n try {\n await configureIosSplashScreen(projectRoot, splashConfig);\n } catch (e) {\n WarningAggregator.addWarningIOS('splash', e);\n }\n}\n"]}