Skip to content

Popup

The 💠component responsible for the Telegram Mini Apps popup.

Checking Support

To check if the popup is supported by the current Telegram Mini Apps version, the isSupported method is used:

ts
import { popup } from '@telegram-apps/sdk';

popup.isSupported(); // boolean
ts
import { isPopupSupported } from '@telegram-apps/sdk';

isPopupSupported(); // boolean

Opening

To open a popup, it is required to call the open method specifying popup properties: title, message, and a list of up to 3 buttons.

The method returns a promise, which will be fulfilled with the clicked button identifier. In the case where the user didn't click any button, the method will return null.

Calling the method updates the isOpened signal property value.

ts
import { popup } from '@telegram-apps/sdk';

if (popup.open.isAvailable()) {
  // popup.isOpened() -> false
  const promise = popup.open({
    title: 'Hello!',
    message: 'Here is a test message.',
    buttons: [{ id: 'my-id', type: 'default', text: 'Default text' }],
  });
  // popup.isOpened() -> true
  const buttonId = await promise;
  // popup.isOpened() -> false
}
ts
import { openPopup, isPopupOpened } from '@telegram-apps/sdk';

if (openPopup.isAvailable()) {
  // isPopupOpened() -> false
  const promise = openPopup({
    title: 'Hello!',
    message: 'Here is a test message.',
    buttons: [{ id: 'my-id', type: 'default', text: 'Default text' }],
  });
  // isPopupOpened() -> true
  const buttonId = await promise;
  // isPopupOpened() -> false
}

Released under the MIT License.