Skip to content

UEAttr ​

Configuration object defining supported attributes for UI elements.

typescript
const UEAttr: {
  DEFAULT: UIElementAttributes;
  BUTTON: ButtonAttributes;
  CHECKBOX: CheckBoxAttributes;
  CHECK_BUTTONS: CheckButtonsAttributes;
  COLOR: UIElementAttributes;
  COUNTER: CounterAttributes;
  DATEPICKER: DatePickerAttributes;
  LABEL: LabelAttributes;
  MESSAGE: MessageAttributes;
  RADIO_BUTTONS: RadioButtonsAttributes;
  SELECTPICKER: SelectAttributes;
  FONT_FAMILY_SELECT: FontFamilySelectAttributes;
  SWITCHER: UIElementAttributes;
  TEXT: TextAttributes;
  RICH_TEXT: RichTextAttributes;
  TEXTAREA: TextAreaAttributes;
  ICON: IconAttributes;
  CHECK_ITEM: CheckItemAttributes;
  SELECT_ITEM: SelectItemAttributes;
  RADIO_ITEM: RadioItemAttributes;
  NESTED_CONTROL: NestedControlAttributes;
  EXPANDABLE: ExpandableAttributes;
  ORDERABLE: OrderableAttributes;
  ORDERABLE_ITEM: OrderableItemAttributes;
  ORDERABLE_ICON: OrderableIconAttributes;
  REPEATABLE: UIElementAttributes;
  DRAGGABLE_BLOCK: UIElementAttributes;
  AMP_FORM_SERVICE_PICKER: UIElementAttributes;
  MULTIPLE_SELECT: TextAttributes;
}

Description ​

UEAttr provides comprehensive attribute definitions for all UI elements in the Stripo Email Editor. Each UI element type has specific attributes that control its appearance, behavior, and data handling. These attributes can be set in templates or modified dynamically through the UIElement API.

Import ​

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

Common Attributes ​

DEFAULT ​

Base attributes shared by all UI elements.

typescript
DEFAULT: {
  name: 'name',
  disabled: 'disabled'
}
AttributeTypeDescription
namestringElement identifier
disabledbooleanDisable interaction

Input Element Attributes ​

BUTTON ​

Button element attributes.

typescript
BUTTON: {
  name: 'name',
  disabled: 'disabled',
  caption: 'caption',
  icon: 'icon'
}
AttributeTypeDescription
captionstringButton text
iconstringIcon identifier

CHECKBOX ​

Checkbox element attributes.

typescript
CHECKBOX: {
  name: 'name',
  disabled: 'disabled',
  caption: 'caption'
}
AttributeTypeDescription
captionstringCheckbox label

CHECK_BUTTONS ​

Check button group attributes.

typescript
CHECK_BUTTONS: {
  name: 'name',
  disabled: 'disabled',
  buttons: 'buttons'
}
AttributeTypeDescription
buttonsstringButton configuration

COUNTER ​

Numeric counter attributes.

typescript
COUNTER: {
  name: 'name',
  disabled: 'disabled',
  minValue: 'min-value',
  maxValue: 'max-value',
  step: 'step',
  counterRangeEnabled: 'counter-range-enabled',
  counterRangeHeight: 'counter-range-height'
}
AttributeTypeDescription
minValuenumberMinimum value
maxValuenumberMaximum value
stepnumberIncrement step
counterRangeEnabledbooleanAllow changing the value by dragging horizontally over the areas above and below the counter. Defaults to true (available from v3.11.0)
counterRangeHeightnumberHeight of the drag areas in pixels. Defaults to 10 (available from v3.11.0)

DATEPICKER ​

Date picker attributes.

typescript
DATEPICKER: {
  name: 'name',
  disabled: 'disabled',
  placeholder: 'placeholder',
  minDate: 'min-date'
}
AttributeTypeDescription
placeholderstringPlaceholder text
minDatestringMinimum selectable date

Text Input Attributes ​

TEXT ​

Text input attributes.

typescript
TEXT: {
  name: 'name',
  disabled: 'disabled',
  placeholder: 'placeholder'
}
AttributeTypeDescription
placeholderstringPlaceholder text

RICH_TEXT ​

Version Availability

This attribute mapping is available starting from v3.11.0

Rich text input attributes. The rich text input supports merge tags: configured merge tags are displayed as chips, and the merge tag icon opens the merge tags picker.

typescript
RICH_TEXT: {
  name: 'name',
  disabled: 'disabled',
  placeholder: 'placeholder',
  hasMergeTagIcon: 'has-merge-tag-icon',
  maxLength: 'max-length',
  singleLine: 'single-line'
}
AttributeTypeDescription
placeholderstringPlaceholder text
hasMergeTagIconbooleanShow the merge tag icon. Defaults to false
maxLengthnumberMaximum number of characters. Not limited by default
singleLinebooleanRestrict input to a single line. Defaults to true; pass false for multi-line input

The merge tag icon is displayed only when merge tags are configured with the mergeTags initialization parameter or an ExternalMergeTagsLibrary is registered, and the element is not disabled.


TEXTAREA ​

Textarea attributes.

typescript
TEXTAREA: {
  name: 'name',
  disabled: 'disabled',
  placeholder: 'placeholder',
  resizable: 'resizable'
}
AttributeTypeDescription
placeholderstringPlaceholder text
resizablebooleanAllow resizing

Selection Attributes ​

SELECTPICKER ​

Select dropdown attributes.

typescript
SELECTPICKER: {
  name: 'name',
  disabled: 'disabled',
  searchable: 'searchable',
  multiSelect: 'multi-select',
  placeholder: 'placeholder',
  items: 'items'
}
AttributeTypeDescription
searchablebooleanEnable search
multiSelectbooleanAllow multiple selection
placeholderstringPlaceholder text
itemsstringOption items

FONT_FAMILY_SELECT ​

Font family selector attributes.

typescript
FONT_FAMILY_SELECT: {
  // All SELECTPICKER attributes plus:
  addCustomFontOption: 'add-custom-font-option'
}
AttributeTypeDescription
addCustomFontOptionbooleanShow "Add custom font" option

RADIO_BUTTONS ​

Radio button group attributes.

typescript
RADIO_BUTTONS: {
  name: 'name',
  disabled: 'disabled',
  buttons: 'buttons'
}
AttributeTypeDescription
buttonsstringRadio button configuration

Display Element Attributes ​

LABEL ​

Label element attributes.

typescript
LABEL: {
  name: 'name',
  disabled: 'disabled',
  text: 'text',
  hint: 'hint'
}
AttributeTypeDescription
textstringLabel text
hintstringTooltip text

MESSAGE ​

Message element attributes.

typescript
MESSAGE: {
  name: 'name',
  disabled: 'disabled',
  type: 'type',
  icon: 'icon'
}
AttributeTypeDescription
typestringMessage type (info/warning/error)
iconstringIcon identifier (available from v3.10.0)

ICON ​

Icon element attributes.

typescript
ICON: {
  name: 'name',
  disabled: 'disabled',
  img: 'img',
  src: 'src',
  title: 'title',
  width: 'width',
  height: 'height',
  imageClass: 'image-class',
  hint: 'hint',
  isActive: 'is-active',
  visibility: 'visibility',
  transform: 'transform'
}
AttributeTypeDescription
imgstringImage element
srcstringImage source URL
titlestringIcon title
widthnumberIcon width
heightnumberIcon height
imageClassstringCSS class for image
hintstringTooltip text
isActivebooleanActive state
visibilitystringVisibility state
transformstringCSS transform

Component Item Attributes ​

CHECK_ITEM ​

Checkbox item attributes.

typescript
CHECK_ITEM: {
  name: 'name',
  disabled: 'disabled',
  text: 'text',
  hint: 'hint',
  icon: 'icon',
  value: 'value'
}
AttributeTypeDescription
textstringItem text
hintstringTooltip
iconstringItem icon
valuestringItem value

RADIO_ITEM ​

Radio item attributes.

typescript
RADIO_ITEM: {
  name: 'name',
  disabled: 'disabled',
  text: 'text',
  hint: 'hint',
  icon: 'icon',
  value: 'value'
}

SELECT_ITEM ​

Select option attributes.

typescript
SELECT_ITEM: {
  name: 'name',
  disabled: 'disabled',
  text: 'text',
  value: 'value'
}
AttributeTypeDescription
textstringDisplay text
valuestringOption value

NESTED_CONTROL ​

Nested control container attributes.

typescript
NESTED_CONTROL: {
  name: 'name',
  disabled: 'disabled',
  controlId: 'control-id'
}
AttributeTypeDescription
controlIdstringID of nested control

Container Element Attributes ​

EXPANDABLE ​

Expandable container attributes.

typescript
EXPANDABLE: {
  name: 'name',
  expanded: 'expanded'
}
AttributeTypeDescription
expandedbooleanInitial expanded state

ORDERABLE ​

Orderable list container attributes.

typescript
ORDERABLE: {
  name: 'name',
  icon: 'icon',
  position: 'position'
}
AttributeTypeDescription
iconstringIcon name for drag handle
position'TOP' | 'LEFT'Position of drag handle icon

ORDERABLE_ITEM ​

Orderable list item attributes.

typescript
ORDERABLE_ITEM: {
  name: 'name'
}
AttributeTypeDescription
namestringUnique identifier for the item (optional, auto-generated if not provided)

ORDERABLE_ICON ​

Orderable item drag handle icon attributes.

typescript
ORDERABLE_ICON: {
  name: 'name',
  icon: 'icon'
}
AttributeTypeDescription
iconstringIcon name to override parent's drag handle

REPEATABLE ​

Version Availability

This element is available starting from v3.5.0

Repeatable list container attributes.

typescript
REPEATABLE: {
  name: 'name',
  disabled: 'disabled'
}
AttributeTypeDescription
namestringElement identifier
disabledbooleanDisable interaction

DRAGGABLE_BLOCK ​

Version Availability

This element is available starting from v3.7.0

Draggable block element attributes.

typescript
DRAGGABLE_BLOCK: {
  name: 'name',
  disabled: 'disabled',
  blockId: 'block-id'
}
AttributeTypeDescription
blockIdstringBlock ID to bind to the draggable element
namestringElement identifier
disabledbooleanDisable interaction

AMP_FORM_SERVICE_PICKER ​

Version Availability

This element is available starting from v3.8.0

AMP form service picker attributes.

For more details about configuring AMP services, see Initialization Settings: AMP Form Services.

typescript
AMP_FORM_SERVICE_PICKER: {
  name: 'name',
  disabled: 'disabled'
}
AttributeTypeDescription
namestringElement identifier
disabledbooleanDisable interaction

MULTIPLE_SELECT ​

Version Availability

This element is available starting from v3.8.0

Multiple select element attributes. This UI element allows users to manage an array of tags in a single input.

typescript
MULTIPLE_SELECT: {
  name: 'name',
  disabled: 'disabled',
  placeholder: 'placeholder'
}
AttributeTypeDescription
namestringElement identifier
disabledbooleanDisable interaction
placeholderstringPlaceholder text shown when nothing is selected