#ifndef UI_BASE_EMOJI_EMOJI_PANEL_HELPER_H_
#define UI_BASE_EMOJI_EMOJI_PANEL_HELPER_H_
#include <string>
#include "base/component_export.h"
#include "base/functional/callback_forward.h"
#include "build/build_config.h"
namespace ui {
COMPONENT_EXPORT(UI_BASE_EMOJI) bool IsEmojiPanelSupported();
COMPONENT_EXPORT(UI_BASE_EMOJI) void ShowEmojiPanel();
#if BUILDFLAG(IS_CHROMEOS)
COMPONENT_EXPORT(UI_BASE_EMOJI) void ShowTabletModeEmojiPanel();
enum class COMPONENT_EXPORT(UI_BASE_EMOJI) EmojiPickerCategory {
kEmojis,
kSymbols,
kEmoticons,
kGifs,
};
enum class COMPONENT_EXPORT(UI_BASE_EMOJI) EmojiPickerFocusBehavior {
kOnlyShowWhenFocused,
kAlwaysShow,
};
using EmojiKeyboardCallback =
base::RepeatingCallback<void(EmojiPickerCategory,
EmojiPickerFocusBehavior,
const std::string& initial_query)>;
COMPONENT_EXPORT(UI_BASE_EMOJI)
void ShowEmojiPanelInSpecificMode(EmojiPickerCategory category,
EmojiPickerFocusBehavior focus_behavior,
const std::string& initial_query);
COMPONENT_EXPORT(UI_BASE_EMOJI)
void SetShowEmojiKeyboardCallback(EmojiKeyboardCallback callback);
COMPONENT_EXPORT(UI_BASE_EMOJI)
void SetTabletModeShowEmojiKeyboardCallback(base::RepeatingClosure callback);
#endif
}
#endif