Skip to content
This plugin is new and currently in beta. For the stable version, please use the previous version of the plugin.

EmojiPopoverOptions

Interface defining configuration options for emoji picker popovers in the Stripo Email Editor Extensions SDK.

typescript
interface EmojiPopoverOptions

Description

The EmojiPopoverOptions interface configures emoji picker popovers that can be anchored to specific elements in the editor. It provides a user-friendly way to insert emojis into email content, supporting search functionality and emoji categories.

Import

typescript
import { EmojiPopoverOptions } from '@stripoinc/ui-editor-extensions';

Properties

targetElement

HTML element that the popover anchors to.

typescript
targetElement: HTMLElement

Type

HTMLElement

Usage Notes

  • Required for computing popover placement
  • Should be a visible element in the DOM
  • Typically a button or the text input where emoji will be inserted
  • Popover positioning is calculated relative to this element

Example

typescript
{
    targetElement: container.querySelector('.emoji-button') 
}

preferredSides

Ordered array of preferred placement sides for the popover.

typescript
preferredSides: PopoverSide[]

Type

PopoverSide[] - Array of placement preferences

PopoverSide Enum

typescript
enum PopoverSide {
    TOP = 'top',
    RIGHT = 'right',
    BOTTOM = 'bottom',
    LEFT = 'left'
}

Usage Notes

  • Defines fallback positioning when space is constrained
  • First available position in the array is used
  • If no preferred sides fit, the popover auto-positions
  • Order matters - earlier positions have higher priority

Example

typescript
{
    preferredSides: [PopoverSide.BOTTOM, PopoverSide.TOP]
}

onResult

Callback function invoked when an emoji is selected.

typescript
onResult: (response: string) => void

Type

(response: string) => void

Parameters

ParameterTypeDescription
responsestringThe selected emoji character

Usage Notes

  • Called when user selects an emoji from the picker
  • Not called if user closes the popover without selection
  • The response is the actual emoji character (e.g., "😀")
  • Use this to insert the emoji into your content

Example

typescript
{
    onResult: (emoji: string) => {
        console.log('Selected emoji:', emoji);
        // Insert emoji into content
    }
}