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