import { Popup } from './Popup'; import { PopupProps } from './PopupBase'; export * from './Popup'; export * from './PopupBase'; /** * @doctemplate function_annotation * @doctitle Popup ui * @doc * Интерфейс виджета для открытия мессенджера в popup-е. * Подходит, например, если у вас есть своя кнопка открытия виджета. * * Если задан параметр `popupTargetNode` попап будет спозиционирован относительно заданного узла * (настроить позиционирования можно через `popupTargetPosition`), иначе попап откроется * в правом нижнем углу. * * Параметры `popupTargetNode` и `popupTargetPosition` не обязательно задавать сразу, * в любой момент после инициализации виджета, можно вызвать метод `Popup::setPopupTarget` * * Для того что бы программно открыть виджет необходимо использовать `Widget::show` * * [Storybook](https://messenger-test.s3.mds.yandex.net/storybook/widget/latest/index.html?path=/story/widget--ui-popup) * * @example * import 'yandex-int/messenger.widget/lib/ui/popup.css'; * import { * YandexConfig, * Widget, * popupUIFactory, * } from 'yandex-int/messenger.widget'; * * const ui = popupUIFactory({ * popupTargetNode: document.getElementById('my_custom_chat_button'), * }); * * const widget = new Widget(new YandexConfig({ * serviceId: YOUR_SERVICE_ID, * iframeOpenData: { * // Параметры открытия виджета (идентификатор чата, идентификатор бота и т.п.) * // [подробнее](/doc/interfaces.md#baseiframeopenparams) * }, * })) * .setUI(ui) * .init(); * * ui.mount(); * * document.getElementById('button').addEventListener('click', () => { * widget.show(); * }); * * @doc * В случае если нужно отображение кол-ва непрочитанных сообщений можно подключить плагин UnreadCounter * * @example * import 'yandex-int/messenger.widget/lib/ui/popup.css'; * import { * YandexConfig, * Widget, * popupUIFactory, * yandexUnreadCountFactory, * } from 'yandex-int/messenger.widget'; * * const ui = new popupUIFactory({}); * const unreadCounter = yandexUnreadCountFactory(); * * unreadCounter.onChanged.addListener(({ data }) => console.log(data)); * * const widget = new Widget(new YandexConfig({ * serviceId: -1, * iframeOpenData: { * // Параметры открытия виджета (идентификатор чата, идентификатор бота и т.п.) * // [подробнее](/doc/interfaces.md#baseiframeopenparams) * }, * })) * .addPlugin(unreadCounter) * .setUI(ui); * .init(); * * ui.mount(); */ export declare function popupUIFactory( /** * @docref template=members_annotation */ props: PopupProps): Popup;