1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4  value: true
5});
6exports.getWindowSoftInputModeMode = getWindowSoftInputModeMode;
7exports.setWindowSoftInputModeMode = setWindowSoftInputModeMode;
8exports.withWindowSoftInputMode = void 0;
9function _androidPlugins() {
10  const data = require("../plugins/android-plugins");
11  _androidPlugins = function () {
12    return data;
13  };
14  return data;
15}
16function _Manifest() {
17  const data = require("./Manifest");
18  _Manifest = function () {
19    return data;
20  };
21  return data;
22}
23const ANDROID_WINDOW_SOFT_INPUT_MODE = 'android:windowSoftInputMode';
24const MAPPING = {
25  pan: 'adjustPan',
26  resize: 'adjustResize'
27};
28const withWindowSoftInputMode = config => {
29  return (0, _androidPlugins().withAndroidManifest)(config, async config => {
30    config.modResults = setWindowSoftInputModeMode(config, config.modResults);
31    return config;
32  });
33};
34exports.withWindowSoftInputMode = withWindowSoftInputMode;
35function setWindowSoftInputModeMode(config, androidManifest) {
36  const app = (0, _Manifest().getMainActivityOrThrow)(androidManifest);
37  app.$[ANDROID_WINDOW_SOFT_INPUT_MODE] = getWindowSoftInputModeMode(config);
38  return androidManifest;
39}
40function getWindowSoftInputModeMode(config) {
41  var _config$android, _MAPPING$value;
42  const value = (_config$android = config.android) === null || _config$android === void 0 ? void 0 : _config$android.softwareKeyboardLayoutMode;
43  if (!value) {
44    // Default to `adjustResize` or `resize`.
45    return 'adjustResize';
46  }
47  return (_MAPPING$value = MAPPING[value]) !== null && _MAPPING$value !== void 0 ? _MAPPING$value : value;
48}
49//# sourceMappingURL=WindowSoftInputMode.js.map