Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@meerpohl/keyboard

Package Overview
Dependencies
Maintainers
0
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@meerpohl/keyboard

The Keyboard API provides keyboard display and visibility control, along with event tracking when the keyboard shows and hides.

  • 5.0.11
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
63
increased by270.59%
Maintainers
0
Weekly downloads
 
Created
Source

@capacitor/keyboard

The Keyboard API provides keyboard display and visibility control, along with event tracking when the keyboard shows and hides.

Install

npm install @capacitor/keyboard
npx cap sync

Example

import { Keyboard } from '@capacitor/keyboard';

Keyboard.addListener('keyboardWillShow', info => {
  console.log('keyboard will show with height:', info.keyboardHeight);
});

Keyboard.addListener('keyboardDidShow', info => {
  console.log('keyboard did show with height:', info.keyboardHeight);
});

Keyboard.addListener('keyboardWillHide', () => {
  console.log('keyboard will hide');
});

Keyboard.addListener('keyboardDidHide', () => {
  console.log('keyboard did hide');
});

Configuration

On iOS, the keyboard can be configured with the following options:

PropTypeDescriptionDefaultSince
resizeKeyboardResizeConfigure the way the app is resized when the Keyboard appears. Only available on iOS.native1.0.0
styleKeyboardStyleOverride the keyboard style if your app doesn't support dark/light theme changes. If not set, the keyboard style will depend on the device appearance. Only available on iOS.1.0.0
resizeOnFullScreenbooleanThere is an Android bug that prevents the keyboard from resizing the WebView when the app is in full screen (i.e. if StatusBar plugin is used to overlay the status bar). This setting, if set to true, add a workaround that resizes the WebView even when the app is in full screen. Only available for Android1.1.0

Examples

In capacitor.config.json:

{
  "plugins": {
    "Keyboard": {
      "resize": "body",
      "style": "DARK",
      "resizeOnFullScreen": true
    }
  }
}

In capacitor.config.ts:

/// <reference types="@capacitor/keyboard" />

import { CapacitorConfig } from '@capacitor/cli';
import { KeyboardResize, KeyboardStyle } from '@capacitor/keyboard';

const config: CapacitorConfig = {
  plugins: {
    Keyboard: {
      resize: KeyboardResize.Body,
      style: KeyboardStyle.Dark,
      resizeOnFullScreen: true,
    },
  },
};

export default config;

Compatibility with cordova-plugin-ionic-keyboard

To maintain compatibility with cordova-plugin-ionic-keyboard, the following events also work with window.addEventListener:

  • keyboardWillShow
  • keyboardDidShow
  • keyboardWillHide
  • keyboardDidHide

API

show()

show() => Promise<void>

Show the keyboard. This method is alpha and may have issues.

This method is only supported on Android.

Since: 1.0.0


hide()

hide() => Promise<void>

Hide the keyboard.

Since: 1.0.0


setAccessoryBarVisible(...)

setAccessoryBarVisible(options: { isVisible: boolean; }) => Promise<void>

Set whether the accessory bar should be visible on the keyboard. We recommend disabling the accessory bar for short forms (login, signup, etc.) to provide a cleaner UI.

This method is only supported on iPhone devices.

ParamType
options{ isVisible: boolean; }

Since: 1.0.0


setScroll(...)

setScroll(options: { isDisabled: boolean; }) => Promise<void>

Programmatically enable or disable the WebView scroll.

This method is only supported on iOS.

ParamType
options{ isDisabled: boolean; }

Since: 1.0.0


setStyle(...)

setStyle(options: KeyboardStyleOptions) => Promise<void>

Programmatically set the keyboard style.

This method is only supported on iOS.

ParamType
optionsKeyboardStyleOptions

Since: 1.0.0


setResizeMode(...)

setResizeMode(options: KeyboardResizeOptions) => Promise<void>

Programmatically set the resize mode.

This method is only supported on iOS.

ParamType
optionsKeyboardResizeOptions

Since: 1.0.0


getResizeMode()

getResizeMode() => Promise<KeyboardResizeOptions>

Get the currently set resize mode.

This method is only supported on iOS.

Returns: Promise<KeyboardResizeOptions>

Since: 4.0.0


addListener('keyboardWillShow', ...)

addListener(eventName: 'keyboardWillShow', listenerFunc: (info: KeyboardInfo) => void) => Promise<PluginListenerHandle> & PluginListenerHandle

Listen for when the keyboard is about to be shown.

On Android keyboardWillShow and keyboardDidShow fire almost at the same time.

ParamType
eventName'keyboardWillShow'
listenerFunc(info: KeyboardInfo) => void

Returns: Promise<PluginListenerHandle> & PluginListenerHandle

Since: 1.0.0


addListener('keyboardDidShow', ...)

addListener(eventName: 'keyboardDidShow', listenerFunc: (info: KeyboardInfo) => void) => Promise<PluginListenerHandle> & PluginListenerHandle

Listen for when the keyboard is shown.

On Android keyboardWillShow and keyboardDidShow fire almost at the same time.

ParamType
eventName'keyboardDidShow'
listenerFunc(info: KeyboardInfo) => void

Returns: Promise<PluginListenerHandle> & PluginListenerHandle

Since: 1.0.0


addListener('keyboardWillHide', ...)

addListener(eventName: 'keyboardWillHide', listenerFunc: () => void) => Promise<PluginListenerHandle> & PluginListenerHandle

Listen for when the keyboard is about to be hidden.

On Android keyboardWillHide and keyboardDidHide fire almost at the same time.

ParamType
eventName'keyboardWillHide'
listenerFunc() => void

Returns: Promise<PluginListenerHandle> & PluginListenerHandle

Since: 1.0.0


addListener('keyboardDidHide', ...)

addListener(eventName: 'keyboardDidHide', listenerFunc: () => void) => Promise<PluginListenerHandle> & PluginListenerHandle

Listen for when the keyboard is hidden.

On Android keyboardWillHide and keyboardDidHide fire almost at the same time.

ParamType
eventName'keyboardDidHide'
listenerFunc() => void

Returns: Promise<PluginListenerHandle> & PluginListenerHandle

Since: 1.0.0


removeAllListeners()

removeAllListeners() => Promise<void>

Remove all native listeners for this plugin.

Since: 1.0.0


Interfaces

KeyboardStyleOptions
PropTypeDescriptionDefaultSince
styleKeyboardStyleStyle of the keyboard.KeyboardStyle.Default1.0.0
KeyboardResizeOptions
PropTypeDescriptionSince
modeKeyboardResizeMode used to resize elements when the keyboard appears.1.0.0
PluginListenerHandle
PropType
remove() => Promise<void>
KeyboardInfo
PropTypeDescriptionSince
keyboardHeightnumberHeight of the heyboard.1.0.0

Enums

KeyboardStyle
MembersValueDescriptionSince
Dark'DARK'Dark keyboard.1.0.0
Light'LIGHT'Light keyboard.1.0.0
Default'DEFAULT'On iOS 13 and newer the keyboard style is based on the device appearance. If the device is using Dark mode, the keyboard will be dark. If the device is using Light mode, the keyboard will be light. On iOS 12 the keyboard will be light.1.0.0
KeyboardResize
MembersValueDescriptionSince
Body'body'Only the body HTML element will be resized. Relative units are not affected, because the viewport does not change.1.0.0
Ionic'ionic'Only the ion-app HTML element will be resized. Use it only for Ionic Framework apps.1.0.0
Native'native'The whole native Web View will be resized when the keyboard shows/hides. This affects the vh relative unit.1.0.0
None'none'Neither the app nor the Web View are resized.1.0.0

Keywords

FAQs

Package last updated on 21 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc