You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.7 KiB
63 lines
1.7 KiB
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.getWindowSoftInputModeMode = getWindowSoftInputModeMode;
|
|
exports.setWindowSoftInputModeMode = setWindowSoftInputModeMode;
|
|
exports.withWindowSoftInputMode = void 0;
|
|
|
|
function _androidPlugins() {
|
|
const data = require("../plugins/android-plugins");
|
|
|
|
_androidPlugins = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _Manifest() {
|
|
const data = require("./Manifest");
|
|
|
|
_Manifest = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
const ANDROID_WINDOW_SOFT_INPUT_MODE = 'android:windowSoftInputMode';
|
|
const MAPPING = {
|
|
pan: 'adjustPan',
|
|
resize: 'adjustResize'
|
|
};
|
|
|
|
const withWindowSoftInputMode = config => {
|
|
return (0, _androidPlugins().withAndroidManifest)(config, async config => {
|
|
config.modResults = setWindowSoftInputModeMode(config, config.modResults);
|
|
return config;
|
|
});
|
|
};
|
|
|
|
exports.withWindowSoftInputMode = withWindowSoftInputMode;
|
|
|
|
function setWindowSoftInputModeMode(config, androidManifest) {
|
|
const app = (0, _Manifest().getMainActivityOrThrow)(androidManifest);
|
|
app.$[ANDROID_WINDOW_SOFT_INPUT_MODE] = getWindowSoftInputModeMode(config);
|
|
return androidManifest;
|
|
}
|
|
|
|
function getWindowSoftInputModeMode(config) {
|
|
var _config$android, _MAPPING$value;
|
|
|
|
const value = (_config$android = config.android) === null || _config$android === void 0 ? void 0 : _config$android.softwareKeyboardLayoutMode;
|
|
|
|
if (!value) {
|
|
// Default to `adjustResize` or `resize`.
|
|
return 'adjustResize';
|
|
}
|
|
|
|
return (_MAPPING$value = MAPPING[value]) !== null && _MAPPING$value !== void 0 ? _MAPPING$value : value;
|
|
}
|
|
//# sourceMappingURL=WindowSoftInputMode.js.map
|