xref: /expo/packages/expo-system-ui/plugin/build/withIosUserInterfaceStyle.js (revision fc13df4e)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.setUserInterfaceStyle = exports.getUserInterfaceStyle = exports.withIosUserInterfaceStyle = void 0;
4const config_plugins_1 = require("@expo/config-plugins");
5const withIosUserInterfaceStyle = (config) => {
6    return (0, config_plugins_1.withInfoPlist)(config, (config) => {
7        config.modResults = setUserInterfaceStyle(config, config.modResults);
8        return config;
9    });
10};
11exports.withIosUserInterfaceStyle = withIosUserInterfaceStyle;
12function getUserInterfaceStyle(config) {
13    return config.ios?.userInterfaceStyle ?? config.userInterfaceStyle ?? 'light';
14}
15exports.getUserInterfaceStyle = getUserInterfaceStyle;
16function setUserInterfaceStyle(config, { UIUserInterfaceStyle, ...infoPlist }) {
17    const userInterfaceStyle = getUserInterfaceStyle(config);
18    const style = mapUserInterfaceStyleForInfoPlist(userInterfaceStyle);
19    if (!style) {
20        return infoPlist;
21    }
22    return {
23        ...infoPlist,
24        UIUserInterfaceStyle: style,
25    };
26}
27exports.setUserInterfaceStyle = setUserInterfaceStyle;
28function mapUserInterfaceStyleForInfoPlist(userInterfaceStyle) {
29    switch (userInterfaceStyle) {
30        case 'light':
31            return 'Light';
32        case 'dark':
33            return 'Dark';
34        case 'automatic':
35            return 'Automatic';
36    }
37    return null;
38}
39

served by {OpenGrok

Last Index Update: Fri May 15 20:09:11 GMT 2026