{"version":3,"sources":["../../src/index.ts","../../src/BaseValidatedClass.ts","../../src/constants/BlockCompositionType.ts","../../src/blocks/Block.ts","../../src/blocks/BlockRenderer.ts","../../src/blocks/BlocksPanel.ts","../../src/blocks/ContextAction.ts","../../src/constants/AddCustomFont.ts","../../src/constants/AiAssistantValueType.ts","../../src/constants/BlockAttributes.ts","../../src/constants/BlockName.ts","../../src/constants/BlockType.ts","../../src/constants/BuiltInControlTypes.ts","../../src/constants/ContextActionType.ts","../../src/constants/EditorStatePropertyType.ts","../../src/constants/Orderable.ts","../../src/constants/PanelPosition.ts","../../src/constants/Popover.ts","../../src/constants/PreviewDeviceMode.ts","../../src/constants/SettingsTab.ts","../../src/constants/ThemeMode.ts","../../src/constants/UIElementsAttributes.ts","../../src/constants/UIElementType.ts","../../src/controls/BuiltInControl.ts","../../src/controls/button/ButtonBuiltInControl.ts","../../src/controls/button/border-radius/ButtonBorderRadiusBuiltInControl.ts","../../src/controls/button/button-align/ButtonAlignBuiltInControl.ts","../../src/controls/button/button-background-color/ButtonBackgroundColorBuiltInControl.ts","../../src/controls/button/button-block-background-color/ButtonBlockBackgroundColorBuiltInControl.ts","../../src/controls/button/button-border/ButtonBorderBuiltInControl.ts","../../src/controls/button/button-color/ButtonColorBuiltInControl.ts","../../src/controls/button/button-fit-to-container/ButtonFitToContainerBuiltInControl.ts","../../src/controls/button/button-fixed-height/ButtonFixedHeightBuiltInControl.ts","../../src/controls/button/button-font-family/ButtonFontFamilyBuiltInControl.ts","../../src/controls/button/button-hover-border-color/ButtonHoverBorderColorBuiltInControl.ts","../../src/controls/button/button-hover-color/ButtonHoverColorBuiltInControl.ts","../../src/controls/button/button-hover-text-color/ButtonHoverTextColorBuiltInControl.ts","../../src/controls/button/button-margins/ButtonMarginsBuiltInControl.ts","../../src/controls/button/button-paddings/ButtonPaddingsBuiltInControl.ts","../../src/controls/button/button-text/ButtonTextBuiltInControl.ts","../../src/controls/button/button-text-size/ButtonTextSizeBuiltInControl.ts","../../src/controls/button/button-text-style-and-font-color/ButtonTextStyleAndFontColorBuiltInControl.ts","../../src/controls/button/button-visibility/ButtonVisibilityBuiltInControl.ts","../../src/controls/container/ContainerBuiltInControl.ts","../../src/controls/container/container-background-color/ContainerBackgroundColorBuiltInControl.ts","../../src/controls/container/container-background-image/ContainerBackgroundImageBuiltInControl.ts","../../src/controls/container/container-border/ContainerBorderBuiltInControl.ts","../../src/controls/container/container-visibility/ContainerVisibilityBuiltInControl.ts","../../src/controls/Control.ts","../../src/controls/GeneralPanelTab.ts","../../src/controls/image/ImageBuiltInControl.ts","../../src/controls/image/image-alignment/imageAlignmentBuiltInControl.ts","../../src/controls/image/image-margins/ImageMarginsBuiltInControl.ts","../../src/controls/image/image-size/ImageSizeBuiltInControl.ts","../../src/controls/image/image-visibility/ImageVisibilityBuiltInControl.ts","../../src/controls/ModulesPanelTab.ts","../../src/controls/SettingsPanelRegistry.ts","../../src/controls/SettingsPanelTab.ts","../../src/controls/spacer/SpacerBuildInControl.ts","../../src/controls/spacer/spacer-background-color/SpacerBackgroundColorBuiltInControl.ts","../../src/controls/spacer/spacer-margins/SpacerMarginsBuiltInControl.ts","../../src/controls/structure/StructureBuiltInControl.ts","../../src/controls/structure/structure-adapt/StructureAdaptBuiltInControl.ts","../../src/controls/structure/structure-background-color/StructureBackgroundColorBuiltInControl.ts","../../src/controls/structure/structure-background-image/StructureBackgroundImageBuiltInControl.ts","../../src/controls/structure/structure-border/StructureBorderBuiltInControl.ts","../../src/controls/structure/structure-margins/StructureMarginsBuiltInControl.ts","../../src/controls/structure/structure-paddings/StructurePaddingsBuiltInControl.ts","../../src/controls/structure/structure-visibility/StructureVisibilityBuiltInControl.ts","../../src/controls/text/TextBuiltInControl.ts","../../src/controls/text/text-align/TextAlignBuiltInControl.ts","../../src/controls/text/text-block-background/TextBlockBackgroundBuiltInControl.ts","../../src/controls/text/text-color/TextColorBuiltInControl.ts","../../src/controls/text/text-fixed-height/TextFixedHeightBuiltInControl.ts","../../src/controls/text/text-font-family/TextFontFamilyBuiltInControl.ts","../../src/controls/text/text-line-spacing/TextLineSpacingBuiltInControl.ts","../../src/controls/text/text-paddings/TextPaddingsBuiltInControl.ts","../../src/controls/text/text-size/TextSizeBuiltInControl.ts","../../src/controls/text/text-style/TextStyleBuiltInControl.ts","../../src/controls/text/text-visibility/TextVisibilityBuiltInControl.ts","../../src/Extension.ts","../../src/ExtensionBuilder.ts","../../src/ExternalAiAssistant.ts","../../src/ExternalDisplayConditionsLibrary.ts","../../src/ExternalImageLibrary.ts","../../src/ExternalImageLibraryTab.ts","../../src/ExternalSmartElementsLibrary.ts","../../src/ExternalVideoLibrary.ts","../../src/icons/IconsRegistry.ts","../../src/modifications/ModificationDescription.ts","../../src/ui-elements/UIElement.ts","../../src/ui-elements/UIElementTagRegistry.ts"],"sourcesContent":["import {BaseApi} from './api/BaseApi';\nimport {BlockApi} from './api/BlockApi';\nimport {BlockRendererApi} from './api/BlockRendererApi';\nimport {BlocksPanelApi} from './api/BlocksPanelApi';\nimport {ContextActionApi} from './api/ContextActionApi';\nimport {ControlApi} from './api/ControlApi';\nimport {ExtensionPlatformApi, ExtensionPlatformRequestOptions} from './api/ExtensionPlatformApi';\nimport {ExternalDisplayConditionsApi} from './api/ExternalDisplayConditionsApi';\nimport {GeneralPanelTabApi} from './api/GeneralPanelTabApi';\nimport {HideElementState} from './api/HideElement';\nimport {ModulesPanelTabApi} from './api/ModulesPanelTabApi';\nimport {SettingsPanelApi} from './api/SettingsPanelApi';\nimport {UIElementApi} from './api/UIElementApi';\nimport {Block} from './blocks/Block';\nimport {BlockRenderer} from './blocks/BlockRenderer';\nimport {BlockItem, BlocksPanel} from './blocks/BlocksPanel';\nimport {ContextAction} from './blocks/ContextAction';\nimport {ADD_CUSTOM_FONT_OPTION} from './constants/AddCustomFont';\nimport {AiAssistantValueType} from './constants/AiAssistantValueType';\nimport {BlockAttr} from './constants/BlockAttributes';\nimport {BlockCompositionType} from './constants/BlockCompositionType';\nimport {BlockName, BlockSelector} from './constants/BlockName';\nimport {BlockType} from './constants/BlockType';\nimport {\n  AccordionControls,\n  AmpFormControls,\n  BannerChildControls,\n  BannerControls,\n  BuiltInControlTypes,\n  ButtonControls,\n  CarouselControls,\n  ContainerControls,\n  CustomImageControls,\n  CustomLinkControls,\n  CustomTextControls,\n  GeneralControls,\n  GeneralStylesControls,\n  HTMLControls,\n  ImageControls,\n  MenuControls,\n  MessageSettingsControls,\n  SocialControls,\n  SpacerControls,\n  StripeControls,\n  StructureControls,\n  TextControls,\n  TimerControls,\n  VideoControls,\n} from './constants/BuiltInControlTypes';\nimport {ContextActionType} from './constants/ContextActionType';\nimport {EditorState} from './constants/EditorState';\nimport {EditorStatePropertyType} from './constants/EditorStatePropertyType';\nimport {OrderableItemIconPosition} from './constants/Orderable';\nimport {PanelPosition} from './constants/PanelPosition';\nimport {\n  AIPopoverOptions,\n  EmojiPopoverOptions,\n  ExtensionPopoverType,\n  PopoverPreferredSides,\n  PopoverSide,\n} from './constants/Popover';\nimport {PreviewDeviceMode} from './constants/PreviewDeviceMode';\nimport {SettingsTab} from './constants/SettingsTab';\nimport {ThemeMode} from './constants/ThemeMode';\nimport {UEAttr} from './constants/UIElementsAttributes';\nimport {UIElementType} from './constants/UIElementType';\nimport {ConstructorOfType} from './ConstructorOfType';\nimport {BackgroundImageControlLabels} from './controls/BackgroundImageControlLabels';\nimport {BorderLabels} from './controls/BorderLabels';\nimport {BuiltInControl} from './controls/BuiltInControl';\nimport {ButtonBorderRadiusBuiltInControl} from './controls/button/border-radius/ButtonBorderRadiusBuiltInControl';\nimport {ButtonBorderRadiusControlLabels} from './controls/button/border-radius/ButtonBorderRadiusControlLabels';\nimport {ButtonAlignBuiltInControl} from './controls/button/button-align/ButtonAlignBuiltInControl';\nimport {\n  ButtonBackgroundColorBuiltInControl,\n} from './controls/button/button-background-color/ButtonBackgroundColorBuiltInControl';\nimport {\n  ButtonBlockBackgroundColorBuiltInControl,\n} from './controls/button/button-block-background-color/ButtonBlockBackgroundColorBuiltInControl';\nimport {ButtonBorderBuiltInControl} from './controls/button/button-border/ButtonBorderBuiltInControl';\nimport {ButtonBorderControlLabels} from './controls/button/button-border/ButtonBorderControlLabels';\nimport {ButtonColorBuiltInControl} from './controls/button/button-color/ButtonColorBuiltInControl';\nimport {ButtonFitToContainerBuiltInControl} from './controls/button/button-fit-to-container/ButtonFitToContainerBuiltInControl';\nimport {ButtonFixedHeightBuiltInControl} from './controls/button/button-fixed-height/ButtonFixedHeightBuiltInControl';\nimport {ButtonFontFamilyBuiltInControl} from './controls/button/button-font-family/ButtonFontFamilyBuiltInControl';\nimport {\n  ButtonHoverBorderColorBuiltInControl,\n} from './controls/button/button-hover-border-color/ButtonHoverBorderColorBuiltInControl';\nimport {ButtonHoverColorBuiltInControl} from './controls/button/button-hover-color/ButtonHoverColorBuiltInControl';\nimport {ButtonHoverTextColorBuiltInControl} from './controls/button/button-hover-text-color/ButtonHoverTextColorBuiltInControl';\nimport {ButtonMarginsBuiltInControl} from './controls/button/button-margins/ButtonMarginsBuiltInControl';\nimport {ButtonPaddingsBuiltInControl} from './controls/button/button-paddings/ButtonPaddingsBuiltInControl';\nimport {ButtonTextBuiltInControl} from './controls/button/button-text/ButtonTextBuiltInControl';\nimport {ButtonTextSizeBuiltInControl} from './controls/button/button-text-size/ButtonTextSizeBuiltInControl';\nimport {\n  ButtonTextStyleAndFontColorBuiltInControl,\n} from './controls/button/button-text-style-and-font-color/ButtonTextStyleAndFontColorBuiltInControl';\nimport {\n  ButtonTextStyleAndFontColorControlLabels,\n} from './controls/button/button-text-style-and-font-color/ButtonTextStyleAndFontColorControlLabels';\nimport {ButtonVisibilityBuiltInControl} from './controls/button/button-visibility/ButtonVisibilityBuiltInControl';\nimport {\n  ContainerBackgroundColorBuiltInControl,\n} from './controls/container/container-background-color/ContainerBackgroundColorBuiltInControl';\nimport {\n  ContainerBackgroundImageBuiltInControl,\n} from './controls/container/container-background-image/ContainerBackgroundImageBuiltInControl';\nimport {ContainerBorderBuiltInControl} from './controls/container/container-border/ContainerBorderBuiltInControl';\nimport {ContainerVisibilityBuiltInControl} from './controls/container/container-visibility/ContainerVisibilityBuiltInControl';\nimport {Control} from './controls/Control';\nimport {ControlLabels} from './controls/ControlLabels';\nimport {FixedHeightLabels} from './controls/FixedHeightLabels';\nimport {GeneralPanelTab} from './controls/GeneralPanelTab';\nimport {ImageAlignmentBuiltInControl} from './controls/image/image-alignment/imageAlignmentBuiltInControl';\nimport {ImageMarginsBuiltInControl} from './controls/image/image-margins/ImageMarginsBuiltInControl';\nimport {ImageSizeBuiltInControl} from './controls/image/image-size/ImageSizeBuiltInControl';\nimport {ImageVisibilityBuiltInControl} from './controls/image/image-visibility/ImageVisibilityBuiltInControl';\nimport {ModulesPanelTab} from './controls/ModulesPanelTab';\nimport {IndentLabels, IndentsFormNameLabels, IndentsInputsLabels, IndentsLockLabels} from './controls/PaddingsLabels';\nimport {SettingsPanelRegistry} from './controls/SettingsPanelRegistry';\nimport {SettingsPanelTab} from './controls/SettingsPanelTab';\nimport {\n  SpacerBackgroundColorBuiltInControl,\n} from './controls/spacer/spacer-background-color/SpacerBackgroundColorBuiltInControl';\nimport {SpacerMarginsBuiltInControl} from './controls/spacer/spacer-margins/SpacerMarginsBuiltInControl';\nimport {StructureAdaptBuiltInControl} from './controls/structure/structure-adapt/StructureAdaptBuiltInControl';\nimport {StructureAdaptControlLabels} from './controls/structure/structure-adapt/StructureAdaptControlLabels';\nimport {\n  StructureBackgroundColorBuiltInControl,\n} from './controls/structure/structure-background-color/StructureBackgroundColorBuiltInControl';\nimport {\n  StructureBackgroundImageBuiltInControl,\n} from './controls/structure/structure-background-image/StructureBackgroundImageBuiltInControl';\nimport {StructureBorderBuiltInControl} from './controls/structure/structure-border/StructureBorderBuiltInControl';\nimport {StructureMarginsBuiltInControl} from './controls/structure/structure-margins/StructureMarginsBuiltInControl';\nimport {StructurePaddingsBuiltInControl} from './controls/structure/structure-paddings/StructurePaddingsBuiltInControl';\nimport {StructureVisibilityBuiltInControl} from './controls/structure/structure-visibility/StructureVisibilityBuiltInControl';\nimport {TextAlignBuiltInControl} from './controls/text/text-align/TextAlignBuiltInControl';\nimport {TextBlockBackgroundBuiltInControl} from './controls/text/text-block-background/TextBlockBackgroundBuiltInControl';\nimport {TextColorBuiltInControl} from './controls/text/text-color/TextColorBuiltInControl';\nimport {TextFixedHeightBuiltInControl} from './controls/text/text-fixed-height/TextFixedHeightBuiltInControl';\nimport {TextFontFamilyBuiltInControl} from './controls/text/text-font-family/TextFontFamilyBuiltInControl';\nimport {TextLineSpacingBuiltInControl} from './controls/text/text-line-spacing/TextLineSpacingBuiltInControl';\nimport {TextPaddingsBuiltInControl} from './controls/text/text-paddings/TextPaddingsBuiltInControl';\nimport {TextSizeBuiltInControl} from './controls/text/text-size/TextSizeBuiltInControl';\nimport {TextStyleBuiltInControl} from './controls/text/text-style/TextStyleBuiltInControl';\nimport {TextVisibilityBuiltInControl} from './controls/text/text-visibility/TextVisibilityBuiltInControl';\nimport {Extension} from './Extension';\nimport {ExtensionBuilder} from './ExtensionBuilder';\nimport {ExternalAiAssistant, ExternalAiAssistantCallback, ExternalAiAssistantCancelCallback} from './ExternalAiAssistant';\nimport {\n  ExternalDisplayConditionCategory,\n  ExternalDisplayConditionSelectedCB,\n  ExternalDisplayConditionsLibrary,\n} from './ExternalDisplayConditionsLibrary';\nimport {\n  ExternalGalleryImage,\n  ExternalGalleryImageCancelCallback,\n  ExternalGalleryImageSelectCallback,\n  ExternalImageLibrary,\n} from './ExternalImageLibrary';\nimport {ExternalImageLibraryTab} from './ExternalImageLibraryTab';\nimport {\n  ExternalSmartElement,\n  ExternalSmartElementCancelCallback,\n  ExternalSmartElementSelectCallback,\n  ExternalSmartElementsLibrary,\n} from './ExternalSmartElementsLibrary';\nimport {\n  ExternalGalleryVideo,\n  ExternalVideosLibrary,\n  ExternalVideosLibraryCancelCallback,\n  ExternalVideosLibrarySelectedCallback,\n} from './ExternalVideoLibrary';\nimport {IconsRegistry} from './icons/IconsRegistry';\nimport {\n  CssNodeModifier,\n  HtmlNodeModifier,\n  MultiRowStructureModifier,\n  StructureLayout,\n} from './modifications/HtmlCssNodeModifier';\nimport {\n  BaseImmutableCssNode,\n  BaseImmutableHtmlNode,\n  BaseImmutableNode,\n  DisplayCondition,\n  ImmutableCssAttributeNode,\n  ImmutableCssCommentNode,\n  ImmutableCssDocumentNode,\n  ImmutableCssNode,\n  ImmutableCssRuleNode,\n  ImmutableHtmlElementNode,\n  ImmutableHtmlNode,\n  ImmutableHtmlTextNode,\n} from './modifications/ImmutableNode';\nimport {ModificationDescription} from './modifications/ModificationDescription';\nimport {TemplateModifier} from './modifications/TemplateModifier';\nimport {CustomFontFamily} from './ui-elements/CustomFontFamily';\nimport {UIEDomElement} from './ui-elements/UIEDomElement';\nimport {UIElement} from './ui-elements/UIElement';\nimport {UIElementTagRegistry} from './ui-elements/UIElementTagRegistry';\n\nexport {\n  UIElement,\n  UIElementTagRegistry,\n  Control,\n  SettingsPanelRegistry,\n  ContextAction,\n  BlockRenderer,\n  Block,\n  SettingsPanelTab,\n  ExtensionBuilder,\n  Extension,\n  ModificationDescription,\n  UIElementType,\n  UEAttr,\n  ContextActionType,\n  BuiltInControlTypes,\n  SettingsTab,\n  BlockType,\n  BlockName,\n  BlockSelector,\n  BannerControls,\n  BannerChildControls,\n  ButtonControls,\n  TextControls,\n  VideoControls,\n  TimerControls,\n  SpacerControls,\n  ImageControls,\n  HTMLControls,\n  CustomLinkControls,\n  CustomImageControls,\n  CustomTextControls,\n  SocialControls,\n  MenuControls,\n  AccordionControls,\n  CarouselControls,\n  StripeControls,\n  StructureControls,\n  ContainerControls,\n  MessageSettingsControls,\n  GeneralStylesControls,\n  GeneralControls,\n  AmpFormControls,\n  BlockCompositionType,\n  AiAssistantValueType,\n  BlockAttr,\n  ADD_CUSTOM_FONT_OPTION,\n  BuiltInControl,\n  TextFontFamilyBuiltInControl,\n  ButtonBackgroundColorBuiltInControl,\n  ButtonBlockBackgroundColorBuiltInControl,\n  ButtonTextBuiltInControl,\n  ButtonTextSizeBuiltInControl,\n  StructurePaddingsBuiltInControl,\n  ButtonPaddingsBuiltInControl,\n  TextColorBuiltInControl,\n  ButtonColorBuiltInControl,\n  EditorStatePropertyType,\n  EditorState,\n  ThemeMode,\n  PreviewDeviceMode,\n  TextSizeBuiltInControl,\n  TextStyleBuiltInControl,\n  StructureBorderBuiltInControl,\n  BlocksPanel,\n  PanelPosition,\n  ExtensionPopoverType,\n  AIPopoverOptions,\n  EmojiPopoverOptions,\n  PopoverSide,\n  ButtonBorderBuiltInControl,\n  TextLineSpacingBuiltInControl,\n  ButtonHoverTextColorBuiltInControl,\n  ButtonHoverBorderColorBuiltInControl,\n  ButtonAlignBuiltInControl,\n  ButtonHoverColorBuiltInControl,\n  ButtonBorderRadiusBuiltInControl,\n  StructureMarginsBuiltInControl,\n  StructureAdaptBuiltInControl,\n  ButtonMarginsBuiltInControl,\n  ImageMarginsBuiltInControl,\n  ImageAlignmentBuiltInControl,\n  TextPaddingsBuiltInControl,\n  SpacerMarginsBuiltInControl,\n  ButtonFitToContainerBuiltInControl,\n  TextBlockBackgroundBuiltInControl,\n  StructureBackgroundColorBuiltInControl,\n  ContainerBackgroundColorBuiltInControl,\n  SpacerBackgroundColorBuiltInControl,\n  TextAlignBuiltInControl,\n  ContainerBackgroundImageBuiltInControl,\n  StructureBackgroundImageBuiltInControl,\n  ImageSizeBuiltInControl,\n  ButtonFontFamilyBuiltInControl,\n  ButtonTextStyleAndFontColorBuiltInControl,\n  IconsRegistry,\n  ContainerBorderBuiltInControl,\n  StructureVisibilityBuiltInControl,\n  ContainerVisibilityBuiltInControl,\n  ImageVisibilityBuiltInControl,\n  ButtonVisibilityBuiltInControl,\n  TextVisibilityBuiltInControl,\n  ExternalAiAssistant,\n  ExternalDisplayConditionsLibrary,\n  ExternalImageLibrary,\n  ExternalImageLibraryTab,\n  ExternalSmartElementsLibrary,\n  ExternalVideosLibrary,\n  ButtonFixedHeightBuiltInControl,\n  TextFixedHeightBuiltInControl,\n  OrderableItemIconPosition,\n  GeneralPanelTab,\n  ModulesPanelTab,\n};\n\n/**\n * exported types and interfaces\n */\nexport type {\n  BaseImmutableNode,\n  BaseImmutableHtmlNode,\n  BaseImmutableCssNode,\n  ImmutableHtmlTextNode,\n  ImmutableHtmlElementNode,\n  ImmutableHtmlNode,\n  ImmutableCssCommentNode,\n  ImmutableCssRuleNode,\n  ImmutableCssAttributeNode,\n  ImmutableCssNode,\n  ImmutableCssDocumentNode,\n  DisplayCondition,\n  HtmlNodeModifier,\n  CssNodeModifier,\n  ConstructorOfType,\n  UIElementApi,\n  ControlApi,\n  ContextActionApi,\n  BlockRendererApi,\n  BlockApi,\n  TemplateModifier,\n  BaseApi,\n  SettingsPanelApi,\n  UIEDomElement,\n  ExternalSmartElement,\n  ExternalSmartElementSelectCallback,\n  ExternalSmartElementCancelCallback,\n  ExternalGalleryImage,\n  ExternalGalleryImageSelectCallback,\n  ExternalGalleryImageCancelCallback,\n  ExternalAiAssistantCallback,\n  ExternalAiAssistantCancelCallback,\n  CustomFontFamily,\n  ControlLabels,\n  BorderLabels,\n  ExternalDisplayConditionCategory,\n  ExternalDisplayConditionSelectedCB,\n  ExternalVideosLibrarySelectedCallback,\n  ExternalVideosLibraryCancelCallback,\n  ExternalGalleryVideo,\n  IndentsFormNameLabels,\n  IndentsInputsLabels,\n  IndentsLockLabels,\n  IndentLabels,\n  BackgroundImageControlLabels,\n  BlocksPanelApi,\n  BlockItem,\n  HideElementState,\n  ButtonBorderControlLabels,\n  MultiRowStructureModifier,\n  StructureLayout,\n  ButtonBorderRadiusControlLabels,\n  StructureAdaptControlLabels,\n  PopoverPreferredSides,\n  ButtonTextStyleAndFontColorControlLabels,\n  FixedHeightLabels,\n  GeneralPanelTabApi,\n  ExternalDisplayConditionsApi,\n  ModulesPanelTabApi,\n  ExtensionPlatformApi,\n  ExtensionPlatformRequestOptions,\n};\n","/** Type for class constructor references used in validation */\ntype Constructor = new (...args: unknown[]) => unknown;\n\n/**\n * Base class that provides validation logic for classes that require certain methods to be implemented.\n * Subclasses should define their own static REQUIRED_METHODS array and pass it to super() in the constructor.\n */\nexport abstract class BaseValidatedClass {\n  /** Set to track validated classes for performance optimization */\n  private static readonly validatedClasses = new Set<Constructor>();\n\n  /** Map to store validation errors for each class */\n  private static readonly validationErrors = new Map<Constructor, string[]>();\n\n  /**\n   * Validates that all required methods are properly implemented in the subclass.\n   * @param requiredMethods - Array of method names that must be implemented\n   * @param classRef - Reference to the class constructor for validation caching\n   */\n  constructor(requiredMethods: string[], classRef: Constructor) {\n    // Only validate subclasses, not the base class itself\n    if ((classRef as unknown) !== BaseValidatedClass) {\n      // Validate only once per class type for performance\n      if (!BaseValidatedClass.validatedClasses.has(classRef)) {\n        this.validateImplementation(requiredMethods, classRef);\n      }\n\n      // Check if this class has validation errors from previous validation\n      const errors = BaseValidatedClass.validationErrors.get(classRef);\n      if (errors && errors.length > 0) {\n        throw new Error(\n          `${classRef.name} has validation errors:\\n${errors.map((e: string) => `  - ${e}`).join('\\n')}`,\n        );\n      }\n    }\n  }\n\n  /**\n   * Validates that all required methods are properly implemented in the subclass.\n   * This validation runs only once per class type and results are cached.\n   */\n  private validateImplementation(requiredMethods: string[], classRef: Constructor): void {\n    const errors: string[] = [];\n    const className = classRef.name;\n    const proto = Object.getPrototypeOf(this);\n\n    // Check each required method\n    requiredMethods.forEach((methodName) => {\n      // Check if the method exists and is a function\n      const method = (this as Record<string, unknown>)[methodName];\n      if (typeof method !== 'function') {\n        errors.push(`Method ${methodName}() is not defined`);\n        return;\n      }\n\n      // Check if method is still using the base class implementation\n      // (which throws \"must be implemented\" error)\n      if (proto[methodName] === classRef.prototype[methodName]) {\n        errors.push(`Method ${methodName}() must be implemented (currently using base class error-throwing implementation)`);\n      }\n    });\n\n    // Mark this class as validated\n    BaseValidatedClass.validatedClasses.add(classRef);\n\n    // Store errors if any were found\n    if (errors.length > 0) {\n      BaseValidatedClass.validationErrors.set(classRef, errors);\n      // Log validation errors for debugging\n      console.error(`[${className} Validation] ${className} validation failed:`, errors);\n    } else {\n      // Log successful validation in development\n      if (typeof process !== 'undefined' && process.env?.NODE_ENV === 'development') {\n        // eslint-disable-next-line no-console\n        console.log(`[${className} Validation] ✅ ${className} validated successfully`);\n      }\n    }\n  }\n\n  /**\n   * Lifecycle method for cleaning up resources (e.g., removing DOM artifacts from document.body).\n   * Override this method in subclasses to implement custom cleanup logic.\n   * Called when the editor is reinitialized or the extension is uninstalled.\n   */\n  public destroy(): void {\n    // No-op by default - subclasses can override to clean up their resources\n  }\n}\n","export enum BlockCompositionType {\n  BLOCK = 'BLOCK',\n  CONTAINER = 'CONTAINER',\n  STRUCTURE = 'STRUCTURE',\n  STRIPE = 'STRIPE',\n}\n","import {BlockApi} from '../api/BlockApi';\nimport {BaseValidatedClass} from '../BaseValidatedClass';\nimport {BlockCompositionType} from '../constants/BlockCompositionType';\nimport {ConstructorOfType} from '../ConstructorOfType';\nimport {HtmlNodeModifier} from '../modifications/HtmlCssNodeModifier';\nimport {ImmutableHtmlNode} from '../modifications/ImmutableNode';\n\nimport {BlockRenderer} from './BlockRenderer';\n\nexport class Block extends BaseValidatedClass {\n    /** Provides access to editor functionalities specific to this block instance. */\n  public api!: BlockApi;\n\n    /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS = ['getId', 'getTemplate', 'getIcon', 'getName', 'getDescription'];\n\n  constructor() {\n    super(Block.REQUIRED_METHODS, Block);\n  }\n\n    /**\n     * Determines if the block should be available for use in the editor.\n     * Override to provide custom logic based on editor state or configuration.\n     * @returns True if the block is enabled, false otherwise. Defaults to true.\n     */\n  public isEnabled(): boolean {\n    return true;\n  }\n\n    /**\n     * Determines if the block can be saved as a reusable module by the user.\n     * @returns True if the block can be saved as a module, false otherwise. Defaults to false.\n     */\n  public canBeSavedAsModule(): boolean {\n    return false;\n  }\n\n    /**\n     * Specifies the context actions available for this block.\n     * If not overridden, the editor might use a default set of actions.\n     * Use IDs from {@link ContextActionType} or custom action IDs.\n     * @returns An array of context action IDs, or undefined to use defaults (if any).\n     */\n  public getContextActionsIds(): string[] | undefined {\n    return undefined;\n  }\n\n    /**\n     * Provides a custom renderer class for this block, allowing for specialized rendering logic.\n     * @returns A constructor for a class extending {@link BlockRenderer}, or undefined to use the default renderer.\n     */\n  public getCustomRenderer(): ConstructorOfType<BlockRenderer> | undefined {\n    return undefined;\n  }\n\n    /**\n     * Gets a unique CSS class name specifically for this block type.\n     * Used for targeting styles.\n     * @returns A unique CSS class name. Defaults to `esd-{blockId}`.\n     */\n  public getUniqueBlockClassname(): string {\n    return `esd-${this.getId()}`;\n  }\n\n    /**\n     * Lifecycle hook called when the editor document is initialized.\n     * Useful for performing initial setup or modifications on existing block instances in the template.\n     */\n  public onDocumentInit(): void {\n  }\n\n    /**\n     * Lifecycle hook called when an instance of this block is selected in the editor.\n     * @param node - The immutable HTML node representing the selected block instance.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  public onSelect(node: ImmutableHtmlNode): void {\n  }\n\n    /**\n     * Lifecycle hook called when an instance of this block is copied.\n     * @param modifier - The HTML node modifier to apply changes to the copied block instance.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  public onCopy(modifier: HtmlNodeModifier): void {\n  }\n\n    /**\n     * Lifecycle hook called when an instance of this block is deleted.\n     * @param node - The immutable HTML node representing the block instance being deleted.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  public onDelete(node: ImmutableHtmlNode): void {\n  }\n\n    /**\n     * Lifecycle hook called after a new instance of this block is created and added to the document (e.g., via drag-and-drop).\n     * @param node - The immutable HTML node representing the newly created block instance.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  public onCreated(node: ImmutableHtmlNode): void {\n\n  }\n\n    /**\n     * Lifecycle hook called when any part of the document template has changed.\n     * This can be frequent; use cautiously for performance-sensitive operations.\n     * @param node - The immutable HTML node representing current node instance\n     */\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  public onDocumentChanged(node: ImmutableHtmlNode): void {}\n\n    /**\n     * @description Determines if block is atomic or composite.\n     * {@link BlockCompositionType.BLOCK} - atomic block which can be inserted inside other container and cannot hold other objects\n     * {@link BlockCompositionType.STRUCTURE} - composite block which can serve as a container for another atomic block\n     * @returns The type of the block. Defaults to {@link BlockCompositionType.BLOCK}.\n     */\n  public getBlockCompositionType(): BlockCompositionType {\n    return BlockCompositionType.BLOCK;\n  }\n\n    /**\n     * @description Determines if block should be included in empty container quick insert actions list.\n     * @returns True to show a quick-add icon for this block in empty containers, false otherwise. Defaults to false.\n     */\n  public shouldDisplayQuickAddIcon(): boolean {\n    return false;\n  }\n\n  /**\n   * Determines if the block should be shown in the blocks panel.\n   * Override to hide the block from the blocks panel while keeping it available elsewhere.\n   * @returns True if the block should appear in the blocks panel. Defaults to true.\n   */\n  public shouldDisplayInBlocksPanel(): boolean {\n    return true;\n  }\n\n    /**\n     * @description Determines if nested blocks selection allowed in extension of type {@link BlockCompositionType.STRUCTURE}\n     */\n  public allowInnerBlocksSelection(): boolean {\n    return true;\n  }\n\n    /**\n     * @description Determines if nested blocks drag and drop allowed in extension of type {@link BlockCompositionType.STRUCTURE}\n     */\n  public allowInnerBlocksDND(): boolean {\n    return true;\n  }\n\n  public allowInteractWithAMPWhenSelected(): boolean {\n    return true;\n  }\n\n    /**\n     * Gets the unique identifier for this block type.\n     * This ID is used for registration and referencing the block.\n     * @returns A unique string ID.\n     */\n  public getId(): string {\n    throw new Error('Method getId() must be implemented by the subclass');\n  }\n\n    /**\n     * Gets the HTML template string that defines the initial structure of this block.\n     * This template will be used when the block is dragged into the editor.\n     * @returns An HTML string.\n     */\n  public getTemplate(): string {\n    throw new Error('Method getTemplate() must be implemented by the subclass');\n  }\n\n  /**\n   * Gets a CSS template string that contains the custom styles that apply to the block.\n   * This CSS will be used when a block is dragged into the editor and removed when the last block is deleted.\n   * @returns An CSS string.\n   */\n  public getTemplateStyles(): string {\n    return '';\n  }\n\n    /**\n     * Gets the URL or path to the icon representing this block in the editor's block panel.\n     * @returns A string representing the icon source (e.g., URL, data URI).\n     */\n\n  public getIcon(): string {\n    throw new Error('Method getIcon() must be implemented by the subclass');\n  }\n    /**\n     * Gets the display name of the block shown to the user in the block panel.\n     * Use `this.api.translate()` for localization.\n     * @returns The localized block name string.\n     */\n\n  public getName(): string {\n    throw new Error('Method getName() must be implemented by the subclass');\n  }\n\n    /**\n     * Retrieves the name of block in the block panel.\n     * Can contain html markup\n     * If not implemented by the subclass, getName() function will be used to display name in the block panel\n     *\n     * @return {string} The name of the block panel.\n     */\n  public getSettingsPanelTitleHtml(): string {\n    return '';\n  }\n\n    /**\n     * Gets a short description of the block shown to the user, often as a tooltip in the block panel.\n     * Use `this.api.translate()` for localization.\n     * @returns The localized description string.\n     */\n\n  public getDescription(): string {\n    throw new Error('Method getDescription() must be implemented by the subclass');\n  }\n}\n","import {BlockRendererApi} from '../api/BlockRendererApi';\nimport {BaseValidatedClass} from '../BaseValidatedClass';\nimport {ImmutableHtmlNode} from '../modifications/ImmutableNode';\n\nexport class BlockRenderer extends BaseValidatedClass {\n  api!: BlockRendererApi;\n\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS = ['getPreviewInnerHtml'];\n\n  constructor() {\n    super(BlockRenderer.REQUIRED_METHODS, BlockRenderer);\n  }\n\n  /**\n   * @deprecated - use {@link getPreviewInnerHtml} instead\n   */\n\n  public getPreviewHtml(_node: ImmutableHtmlNode): string | undefined {\n    return undefined;\n  };\n\n  /**\n   * @description returns custom content to be displayed inside the {@link Block} root TD element\n   */\n  public getPreviewInnerHtml(_node: ImmutableHtmlNode): string {\n    throw new Error('Method getPreviewInnerHtml() must be implemented by the subclass');\n  }\n}\n","import {BlocksPanelApi} from '../api/BlocksPanelApi';\n\nexport interface BlockItem {\n  name: string;\n  title: string;\n  iconSrc: string;\n  description: string;\n  disabled?: boolean;\n}\n\nexport interface BlockHint {\n  title: string;\n  description: string;\n}\n\nexport class BlocksPanel {\n  api!: BlocksPanelApi;\n\n    /**\n     * Generates HTML representation for a block item\n     * @param block - The block item to generate HTML for\n     * @returns HTML string representation of the block or undefined if default representation should be used\n     */\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  public getBlockItemHtml(block: BlockItem): string | undefined {\n    return undefined;\n  }\n\n    /**\n     * Determines whether a hint should be displayed for the block\n     * @param block - The block item to check hint visibility for\n     * @returns True if the hint should be visible, false otherwise\n     */\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  public isBlockHintVisible(block: BlockItem): boolean {\n    return true;\n  }\n\n  /**\n   * Determines whether a draggable handle should be displayed in modules panel\n   * @returns True if the block panel should be reorderable\n   */\n  public isPanelPlacementChangeEnabled(): boolean {\n    return true;\n  }\n\n    /**\n     * Gets the hint text for a block\n     * @param block - The block item to get hint for\n     * @returns The hint text for the block or undefined if default hint should be used\n     */\n  public getBlockHint(block: BlockItem): BlockHint | undefined {\n    return {\n      title: block.title,\n      description: block.description,\n    };\n  }\n\n    /**\n     * Generates HTML representation for the blocks panel header\n     * @returns HTML string representation of the blocks panel header or undefined if header should not be shown\n     */\n  public getBlocksPanelHeaderHtml(): string | undefined {\n    return undefined;\n  }\n\n    /**\n     * Generates HTML representation for the modules panel in collapsed state\n     * @returns HTML string representation of the collapsed modules panel or undefined if default representation should be used\n     */\n  public getModulesPanelCollapsedHtml(): string | undefined {\n    return undefined;\n  }\n\n    /**\n     * Determines whether a hint should be displayed for the collapsed modules panel\n     * @returns True if the hint should be visible, false otherwise\n     */\n  public isModulesPanelCollapsedHintVisible(): boolean {\n    return true;\n  }\n\n    /**\n     * Gets the custom delay for showing hints\n     * @returns The delay in milliseconds or undefined to use the default delay\n     */\n  public getHintDelay(): number | undefined {\n    return undefined;\n  }\n\n    /**\n     * Gets the hint text for a modules panel block\n     * @returns The hint text for the modules panel or undefined if default hint should be used\n     */\n  public getModulesPanelHint(): BlockHint | undefined {\n    return undefined;\n  }\n\n    /**\n     * Gets the icon name for the modules tab\n     * @returns The icon name for the modules tab or undefined if default icon or text should be used\n     */\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  public getModulesTabIconName(modulesTab: {key: string; label: Record<string, string>}): string | undefined {\n    return undefined;\n  }\n}\n","import {ContextActionApi} from '../api/ContextActionApi';\nimport {BaseValidatedClass} from '../BaseValidatedClass';\nimport {ImmutableHtmlNode} from '../modifications/ImmutableNode';\n\nexport class ContextAction extends BaseValidatedClass {\n  api!: ContextActionApi;\n\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS = ['getId', 'getIcon', 'getLabel', 'onClick'];\n\n  constructor() {\n    super(ContextAction.REQUIRED_METHODS, ContextAction);\n  }\n\n  public getId(): string {\n    throw new Error('Method getId() must be implemented by the subclass');\n  }\n\n  public getIcon(): string {\n    throw new Error('Method getIcon() must be implemented by the subclass');\n  }\n\n  public getLabel(): string {\n    throw new Error('Method getLabel() must be implemented by the subclass');\n  }\n\n  public onClick(_node: ImmutableHtmlNode): void {\n    throw new Error('Method onClick() must be implemented by the subclass');\n  }\n}\n","/**\n * @description value of {@link UETag.FONT_FAMILY_SELECT} returned when user selects 'Add custom font' option\n */\nexport const ADD_CUSTOM_FONT_OPTION = 'ADD_CUSTOM_FONT_OPTION';\n","export enum AiAssistantValueType {\n  SUBJECT = 'subject',\n  HIDDEN_PREHEADER = 'hiddenPreheader',\n  TEXT_BLOCK = 'textBlock',\n}\n","/**\n * @property widthPercent - determines how much of its structure's width container occupies in percents\n */\nconst containerAttributes = {\n  widthPercent: 'width-percent',\n};\n\n/**\n * @property blocks - list of blocks available for insertion through quick actions\n */\nconst emptyContainerAttributes = {\n  ...containerAttributes,\n  blocks: 'blocks',\n};\n\n/**\n * @property src - image url\n * @property alt - image alt text\n * @property href - URL image hyperlink points to\n */\nconst imageAttributes = {\n  src: 'src',\n  alt: 'alt',\n  href: 'href',\n  width: 'width',\n  height: 'height',\n};\n\n/**\n * @property href - URL button hyperlink points to\n */\nconst buttonAttributes = {\n  href: 'href',\n};\n\n/**\n * @description List of attributes supported by corresponding Block ({@link BlockType}).\n */\nexport const BlockAttr = {\n  EMPTY_CONTAINER: emptyContainerAttributes,\n  CONTAINER: containerAttributes,\n  BLOCK_IMAGE: imageAttributes,\n  BLOCK_BUTTON: buttonAttributes,\n};\n","export const ESD_BLOCK_BUTTON = 'esd-block-button';\nexport const ESD_BLOCK_TEXT = 'esd-block-text';\nexport const ESD_BLOCK_IMAGE = 'esd-block-image';\nexport const ESD_BLOCK_STRUCTURE = 'esd-structure';\nexport const ESD_BLOCK_VIDEO = 'esd-block-video';\nexport const ESD_BLOCK_SOCIAL = 'esd-block-social';\nexport const ESD_BLOCK_BANNER = 'esd-block-banner';\nexport const ESD_BLOCK_TIMER = 'esd-block-timer';\nexport const ESD_BLOCK_MENU = 'esd-block-menu';\nexport const ESD_BLOCK_HTML = 'esd-block-html';\nexport const ESD_BLOCK_SPACER = 'esd-block-spacer';\nexport const ESD_BLOCK_CONTAINER = 'esd-container-frame';\nexport const ESD_BLOCK_STRIPE = 'esd-stripe';\nexport const ESD_BLOCK_FORM = 'esd-amp-form';\n\nexport enum BlockName {\n  BUTTON = ESD_BLOCK_BUTTON,\n  TEXT = ESD_BLOCK_TEXT,\n  IMAGE = ESD_BLOCK_IMAGE,\n  STRUCTURE = ESD_BLOCK_STRUCTURE,\n  VIDEO = ESD_BLOCK_VIDEO,\n  SOCIAL = ESD_BLOCK_SOCIAL,\n  BANNER = ESD_BLOCK_BANNER,\n  TIMER = ESD_BLOCK_TIMER,\n  MENU = ESD_BLOCK_MENU,\n  HTML = ESD_BLOCK_HTML,\n  SPACER = ESD_BLOCK_SPACER,\n  CONTAINER = ESD_BLOCK_CONTAINER,\n}\n\nexport enum BlockSelector {\n  BUTTON = `.${ESD_BLOCK_BUTTON}`,\n  TEXT = `.${ESD_BLOCK_TEXT}`,\n  IMAGE = `.${ESD_BLOCK_IMAGE}`,\n  STRUCTURE = `.${ESD_BLOCK_STRUCTURE}`,\n  VIDEO = `.${ESD_BLOCK_VIDEO}`,\n  SOCIAL = `.${ESD_BLOCK_SOCIAL}`,\n  BANNER = `.${ESD_BLOCK_BANNER}`,\n  TIMER = `.${ESD_BLOCK_TIMER}`,\n  MENU = `.${ESD_BLOCK_MENU}`,\n  HTML = `.${ESD_BLOCK_HTML}`,\n  SPACER = `.${ESD_BLOCK_SPACER}`,\n  CONTAINER = `.${ESD_BLOCK_CONTAINER}`,\n  STRIPE = `.${ESD_BLOCK_STRIPE}`,\n  FORM = `.${ESD_BLOCK_FORM}`,\n}\n","/**\n * @description List of supported Block types.\n */\nexport enum BlockType {\n  // Default blocks\n  BLOCK_IMAGE = 'BLOCK_IMAGE',\n  BLOCK_TEXT = 'BLOCK_TEXT',\n  BLOCK_BUTTON = 'BLOCK_BUTTON',\n  BLOCK_SPACER = 'BLOCK_SPACER',\n  BLOCK_VIDEO = 'BLOCK_VIDEO',\n  BLOCK_SOCIAL = 'BLOCK_SOCIAL',\n  BLOCK_BANNER = 'BLOCK_BANNER',\n  BLOCK_TIMER = 'BLOCK_TIMER',\n  BLOCK_MENU = 'BLOCK_MENU',\n  BLOCK_MENU_ITEM = 'BLOCK_MENU_ITEM',\n  BLOCK_HTML = 'BLOCK_HTML',\n  BLOCK_AMP_CAROUSEL = 'BLOCK_AMP_CAROUSEL',\n  BLOCK_AMP_ACCORDION = 'BLOCK_AMP_ACCORDION',\n  BLOCK_AMP_FORM = 'BLOCK_AMP_FORM',\n\n  // Container blocks\n  CONTAINER = 'CONTAINER',\n  FORM_CONTAINER = 'FORM_CONTAINER',\n  STRUCTURE = 'STRUCTURE',\n  STRIPE = 'STRIPE',\n  EMPTY_CONTAINER = 'EMPTY_CONTAINER',\n\n  // Custom blocks\n  CUSTOM_BLOCK_LINK = 'CUSTOM_BLOCK_LINK',\n  CUSTOM_BLOCK_IMAGE = 'CUSTOM_BLOCK_IMAGE',\n  CUSTOM_BLOCK_TEXT = 'CUSTOM_BLOCK_TEXT',\n}\n","import {BlockType} from './BlockType';\n\nexport enum GeneralControls {\n  ANCHOR_LINK_CONTAINER = 'anchorLinkFormContainer',\n  APPLY_CONDITION = 'applyCondition',\n  APPLY_CONDITION_SWITCHER = 'applyConditionSwitcher',\n  BACKGROUND_COLOR = 'backgroundColor',\n  BACKGROUND_IMAGE = 'generalImageContainer',\n  TEXT_COLOR = 'textColor',\n  TEXT_STYLE = 'textStyle',\n  TEXT_SIZE = 'textSize',\n  TEXT_LINE_SPACING = 'textLineSpacing',\n  TEXT_ALIGN = 'textAlign',\n  FIXED_HEIGHT_SWITCHER = 'fixedHeightSwitcherForm',\n  HIDDEN_NODE = 'hiddenNode',\n  SMART_BLOCK = 'smartBlock',\n  SYNCHRONIZED_MODULE = 'synchronizedModuleForm',\n  FONT_FAMILY = 'generalFontFamilyForm',\n  BLOCK_INTERNAL_INDENTS = 'generalBlockInternalIndents',\n  STRUCTURE_INTERNAL_INDENTS = 'generalStructureInternalIndents',\n}\n\nexport enum BannerControls {\n  ALIGNMENT = 'bannerAlignment',\n  ALT_TEXT = 'bannerAltText',\n  ANCHOR_LINK_CONTAINER = 'bannerAnchorLinkContainerForm',\n  ASPECT_RATIO = 'bannerAspectRatioForm',\n  BACKGROUND_COLOR = 'bannerBackgroundColor',\n  BACKGROUND_IMAGE_CONTAINER = 'bannerBackgroundImageContainer',\n  SIZE = 'bannerBlockBannerSize',\n  BLOCK_LINK = 'bannerBlockLink',\n  CHILD_ROTATION = 'bannerChildRotationForm',\n  CROP = 'bannerCropForm',\n  FILTER = 'bannerFilter',\n  EXTERNAL_INDENTS = 'bannerExternalIndents',\n  MIME_TYPE = 'bannerMimeTypeForm',\n  RESPONSIVE_IMAGE = 'bannerResponsiveImageForm',\n}\n\nexport enum BannerChildControls {\n  ADDITIONAL_IMAGE = 'bannerAdditionalImageForm',\n  ADDITIONAL_IMAGE_ASPECT_RATIO = 'bannerAdditionalImageAspectRatioForm',\n  CHILD_COLOR = 'bannerChildColorForm',\n  CHILD_FLIP = 'bannerChildFlipForm',\n  CHILD_OPACITY = 'bannerChildOpacityForm',\n  TEXT_ALIGNMENT = 'bannerTextAlignmentForm',\n  TEXT_FONT = 'bannerTextFontContainer',\n  TEXT_LETTER_CASE = 'bannerTextLetterCaseForm',\n  TEXT_STYLE = 'bannerTextStyleForm',\n}\n\nexport enum ButtonControls {\n  ADJUST_TO_WIDTH = 'adjustToWidth',\n  ALIGNMENT = 'buttonAlignment',\n  BORDER = 'buttonBorder',\n  BORDER_RADIUS = 'buttonBorderRadius',\n  COLOR = 'buttonColor',\n  BUTTON_BLOCK_BACKGROUND_COLOR = 'buttonBlockBackgroundColor',\n  EXTERNAL_INDENTS = 'buttonExternalIndents',\n  FIXED_HEIGHT = 'buttonFixedHeightForm',\n  FONT_COLOR = 'buttonFontColor',\n  FONT_FAMILY = 'buttonFontFamily',\n  FONT_SIZE = 'buttonFontSize',\n  FONT_WEIGHT = 'buttonFontWeight',\n  ICON = 'buttonIconContainer',\n  ICON_ALIGN = 'buttonIconAlign',\n  ICON_INDENT = 'buttonIconIndent',\n  ICON_WIDTH = 'buttonIconWidth',\n  IMAGE = 'buttonImageForm',\n  INTERNAL_INDENTS = 'buttonInternalIndents',\n  LINK = 'buttonLink',\n  MIME_TYPE = 'buttonMimeTypeForm',\n  SWITCHER_HOVERED_STYLES = 'buttonSwitcherHoveredStylesForm',\n  TEXT = 'buttonText',\n  TEXT_STYLE_AND_COLOR = 'buttonTextStyleAndColorForm',\n  HOVERED_BORDER_COLOR = 'hoveredStyleBorderButtonForm',\n  HOVERED_COLOR = 'hoveredButtonColorForm',\n  HOVERED_TEXT_COLOR = 'hoveredButtonTextColorForm',\n}\n\nexport enum TextControls {\n  HIDDEN_NODE = 'hiddenNodeText',\n  PARAGRAPH_STYLE = 'paragraphStyleForm',\n  ALIGN = 'textAlignmentForm',\n  ANCHOR_CONTAINER = 'textAnchorForm',\n  FONT_BACKGROUND_COLOR = 'textBlockFontBackgroundColor',\n  TEXT_BLOCK_BACKGROUND_COLOR = 'textBlockBackgroundColor',\n  FONT_COLOR = 'textBlockFontColor',\n  TEXT_BLOCK_FONT_FAMILY = 'textBlockFontFamily',\n  FONT_FAMILY = 'textFontFamily',\n  FONT_SIZE = 'textBlockFontSize',\n  FONT_WEIGHT = 'textBlockFontWeight',\n  DIRECTION = 'textBlockDirectionForm',\n  INSERT_FORM = 'textBlockInsertForm',\n  LINK_DATA = 'textBlockLinkDataForm',\n  FORMAT = 'textBlockTextFormatForm',\n  FIXED_HEIGHT = 'textFixedHeightForm',\n  INTERNAL_INDENTS = 'textInternalIndents',\n  LINE_HEIGHT = 'textLineHeightForm',\n  MIME_TYPE = 'textMimeTypeForm',\n  NO_LINE_WRAPS = 'textNoLineWrapsForm',\n}\n\nexport enum AmpFormControls {\n  AMP_FORM_HIDDEN_NODE = 'ampFormHiddenNodeForm',\n  AMP_FORM_DATA_COLLECTION = 'ampFormDataCollectionForm',\n  AMP_FORM_MIME_TYPE = 'ampFormMimeTypeForm',\n  BACKGROUND_COLOR = 'ampFormBackgroundColorForm',\n}\n\nexport enum VideoControls {\n  CUSTOM_THUMBNAIL_CONTAINER = 'customThumbnailContainerForm',\n  METADATA_LINK = 'metadataLink',\n  PLAY_BUTTON = 'playButton',\n  ALIGNMENT = 'videoAlignment',\n  ALT_TEXT = 'videoAltText',\n  EXTERNAL_INDENTS = 'videoExternalIndents',\n  MIME_TYPE = 'videoMimeTypeForm',\n  RESPONSIVE = 'videoResponsive',\n  SIZE = 'videoSizeContainer',\n}\n\nexport enum TimerControls {\n  ALIGNMENT = 'timerAlignment',\n  ALT_TEXT = 'timerAltText',\n  BACKGROUND_COLOR = 'timerBackgroundColor',\n  DATE_TIME = 'timeDateTime',\n  DIGITAL_LABELS = 'timerDigitalLabels',\n  DIGITS_FONT_COLOR_CONTAINER = 'timerDigitsFontColorContainer',\n  DIGITS_FONT_CONTAINER = 'timerDigitsFontContainer',\n  DISPLAY_DAYS_SWITCHER = 'timerDisplayDaysSwitcher',\n  EXPIRATION_IMAGE = 'timerExpirationImage',\n  EXPIRATION_IMAGE_SWITCHER = 'timerExpirationSwitcher',\n  EXTERNAL_INDENTS = 'timerExternalIndents',\n  LABELS_CASE = 'timerLabelsCase',\n  LABELS_FONT_COLOR_CONTAINER = 'timerLabelsFontColorContainer',\n  LABELS_FONT_CONTAINER = 'timerLabelsFontContainer',\n  LABEL_LANGUAGE = 'timerLabelsLanguage',\n  LINK = 'timerLink',\n  MIME_TYPE = 'timerMimeTypeForm',\n  RESPONSIVE = 'timerResponsive',\n  RETINA_DISPLAY_SUPPORT = 'timerRetinaDisplaySupport',\n  SEPARATOR = 'timerSeparator',\n  SEPARATOR_FONT_COLOR = 'timerSeparatorFontColor',\n  SEPARATOR_FONT_CONTAINER = 'timerSeparatorFontContainer',\n  SIZE = 'timerSize',\n  TIME_ZONE = 'timerTimeZone',\n}\n\nexport enum SpacerControls {\n  ALIGNMENT = 'spacerAlignment',\n  BORDER = 'spacerBorder',\n  EXTERNAL_INDENTS = 'spacerExternalIndents',\n  MIME_TYPE = 'spacerMimeTypeForm',\n  MODE = 'spacerMode',\n  SIZE = 'spacerSize',\n  BACKGROUND_COLOR = 'spacerBackgroundColor',\n  BACKGROUND_COLOR_LINE = 'spacerBackgroundColorLine',\n}\n\nexport enum ImageControls {\n  ALT_TEXT = 'altText',\n  LINK = 'blockLink',\n  ALIGNMENT = 'imageAlignment',\n  ANCHOR_LINK_CONTAINER = 'imageAnchorLinkContainerForm',\n  BORDER_RADIUS = 'imageBorderRadiusForm',\n  IMAGE = 'imageImageForm',\n  EXTERNAL_INDENTS = 'imageExternalIndents',\n  MIME_TYPE = 'imageMimeTypeForm',\n  RESPONSIVE = 'imageResponsive',\n  ROLLOVER_IMAGE = 'imageRolloverImageForm',\n  ROLLOVER_SWITCHER = 'imageRolloverSwitcherForm',\n  SIZE = 'imageSizeContainer',\n}\n\nexport enum HTMLControls {\n  EXTERNAL_INDENTS = 'htmlExternalIndents',\n  MIME_TYPE = 'htmlMimeTypeForm',\n}\n\nexport enum CustomLinkControls {\n  IMAGE = 'customBlockImageForm',\n  COLOR_FORM = 'customLinkColorForm',\n  HREF_FORM = 'customLinkHrefForm',\n  TEXT_FORM = 'customLinkTextForm',\n  UNDERLINE_FORM = 'customLinkUnderlineForm',\n  WORD_BREAK_FORM = 'customLinkWordBreakForm',\n}\n\nexport enum CustomImageControls {\n  ALT_TEXT_FORM = 'customBlockImageAltTextForm',\n  WITHOUT_LINK_FORM = 'customBlockImageWithOutLinkForm',\n}\n\nexport enum CustomTextControls {\n  ALIGN = 'customTextBlockTextAlign',\n  FONT_SIZE = 'customTextFontSizeController',\n}\n\nexport enum SocialControls {\n  ICON_SIZE = 'iconSize',\n  EXTERNAL_INDENTS = 'socialExternalIndents',\n  ICON_SPACER = 'socialIconsSpacer',\n  ICON_TYPE = 'socialIconTypeForm',\n  ITEM = 'socialItemForm',\n  ITEM_TEXT_CUSTOMIZATION = 'socialItemTextCustomizationForm',\n  MIME_TYPE = 'socialMimeTypeForm',\n  NETWORK_ALIGNMENT = 'socialNetworkAlignment',\n  BACKGROUND_COLOR = 'socialBackgroundColor',\n}\n\nexport enum MenuControls {\n  EXTERNAL_INDENTS = 'menuExternalIndents',\n  ALIGNMENT = 'menuAlignment',\n  RESPONSIVE_MENU = 'menuResponsive',\n  FIT_TO_CONTAINER = 'menuFitToContainer',\n  FONT_FAMILY = 'menuFontFamily',\n  FONT_SIZE = 'menuFontSize',\n  HIDDEN = 'menuHidden',\n  ICONS_CONFIGURATION = 'menuIconsConfiguration',\n  ITEMS = 'menuItemsForm',\n  ITEMS_COUNT = 'menuItemsCount',\n  ITEM_INTERNAL_INDENTS = 'menuItemInternalIndents',\n  MIME_TYPE = 'menuMimeTypeForm',\n  SEPARATE_ITEMS = 'menuSeparateItems',\n  SEPARATE_ITEMS_COLOR_SWITCHER = 'menuSeparateItemsColorSwitcher',\n  SEPARATOR = 'menuSeparatorForm',\n  STYLES = 'menuStylesForm',\n  TEXT_STYLE_AND_COLOR = 'menuTextStyleAndColor',\n  TYPE_CONTAINER = 'menuTypeContainerForm',\n}\n\nexport enum AccordionControls {\n  MIME_TYPE = 'ampAccordionMimeTypeForm',\n  ANIMATED_OPENING = 'ampAccordionAnimatedOpeningForm',\n  AUTO_COLLAPSING = 'ampAccordionAutoCollapsingForm',\n  BORDER_FORM = 'ampAccordionBorderForm',\n  FONT_FAMILY = 'ampAccordionFontFamily',\n  ICON_SIZE = 'ampAccordionIconSizeForm',\n  HIDDEN_NODE = 'ampAccordionHiddenNodeForm',\n  SECTIONS_FORM = 'ampAccordionSectionsForm',\n  SECTIONS_GAP_FORM = 'ampAccordionSectionsGapForm',\n  SECTIONS_MAIN_FORM = 'ampAccordionSectionsMainForm',\n  TITLES_BACKGROUND_COLOR = 'ampAccordionTitlesBackgroundColor',\n  TITLE_ALIGNMENT_FORM = 'ampAccordionTitleAlignmentForm',\n  TITLE_FONT_SIZE = 'AmpAccordionTitleFontSizeController',\n  TITLE_ICON_IMAGE = 'ampAccordionTitleIconImageForm',\n  TITLE_ICON_SWITCHER = 'ampAccordionTitleIconSwitcherForm',\n  TITLE_TEXT_STYLE_AND_COLOR = 'AmpAccordionTitleTextStyleAndColorController',\n}\n\nexport enum CarouselControls {\n  MIME_TYPE = 'ampCarouselMimeTypeForm',\n  AUTOPLAY = 'ampCarouselAutoplayForm',\n  AUTOPLAY_DELAY = 'ampCarouselDelayForm',\n  HIDDEN_NODE = 'ampCarouselHiddenNodeForm',\n  LOOP = 'ampCarouselLoopForm',\n  SLIDES = 'ampSlidesForm',\n  SLIDE_ALT_TEXT = 'ampSlideAltTextForm',\n  SLIDE_IMAGE = 'ampSlideImageForm',\n  SLIDE_IMAGE_FIT = 'ampCarouselSlideImageFitForm',\n  SLIDE_LINK = 'ampSlideLinkForm',\n  SLIDE_RADIUS = 'ampCarouselSlideRadiusForm',\n  SLIDE_THUMBNAIL_SWITCHER = 'ampCarouselSlideThumbnailSwitcherForm',\n  THUMBNAIL_BORDER_STYLE = 'ampCarouselThumbnailBorderStyleForm',\n  THUMBNAIL_CONTAINER = 'ampCarouselThumbnailContainerForm',\n  THUMBNAIL_CUSTOM_REVIEW = 'ampCarouselThumbnailCustomPreviewImageForm',\n  THUMBNAIL_RADIUS = 'ampCarouselThumbnailRadiusForm',\n  THUMBNAIL_COLOR = 'ampCarouselThumbnailColorForm',\n  AMP_GENERAL_LINK = 'AMP_GENERAL_LINK_CONTROLLER',\n  AMP_GENERAL_LINK_SWITCHER = 'AMP_GENERAL_LINK_SWITCHER',\n}\n\nexport enum StripeControls {\n  BORDER_FORM = 'stripeBorderForm',\n  COLOR = 'stripeColorForm',\n  CONTENT_COLOR = 'stripeContentColor',\n  IMAGE_CONTAINER = 'stripeImageContainerForm',\n  INTERNAL_INDENTS = 'stripeInternalIndents',\n  MESSAGE_AREA = 'stripeMessageAreaForm',\n  MIME_TYPE = 'stripeMimeTypeForm',\n}\n\nexport enum StructureControls {\n  RESPONSIVE_STRUCTURE = 'responsiveStructure',\n  BACKGROUND_COLOR = 'structureBackgroundColor',\n  BORDER_RADIUS = 'structureBorderRadiusForm',\n  CONTAINER_GAP = 'structureContainerGap',\n  CONTAINER_INVERSION = 'structureContainerInversion',\n  DYNAMIC_CONTAINERS = 'structureDynamicContainers',\n  EXTERNAL_INDENTS = 'structureExternalIndents',\n  IMAGE_CONTAINER = 'structureImageContainerForm',\n  INTERNAL_INDENTS = 'structureInternalIndents',\n  ITEM = 'structureItem',\n  MIME_TYPE = 'structureMimeType',\n  BORDER_FORM = 'structureBorderForm',\n}\n\nexport enum ContainerControls {\n  BACKGROUND_COLOR = 'containerBackgroundColorForm',\n  BORDER_FORM = 'containerBorderForm',\n  BORDER_RADIUS = 'containerBorderRadiusForm',\n  EXTERNAL_INDENTS = 'containerExternalIndentsForm',\n  IMAGE_CONTAINER = 'containerImageContainerForm',\n  MIME_TYPE = 'containerMimeTypeForm',\n  DISPLAY_CONDITIONS = 'displayConditions',\n  HIDDEN_NODE = 'containerHiddenNodeForm',\n}\n\nexport enum MessageSettingsControls {\n  GMAIL_PROMOTIONS_SWITCHER = 'gmailPromotionsSwitcherForm',\n  GMAIL_PROMOTIONS_TAB = 'gmailPromotionsTabForm',\n  HIDDEN_PRE_HEADER = 'hiddenPreHeaderForm',\n  SUBJECT_TITLE = 'subjectTitleForm',\n  UTM_PARAMETERS = 'utmParametersForm',\n  UTM_PARAMETERS_CAMPAIGN = 'utmParameterCampaignForm',\n  UTM_PARAMETERS_CUSTOM = 'utmParametersCustomForm',\n  UTM_PARAMETERS_CUSTOM_ITEM = 'utmParametersCustomItemForm',\n}\n\nexport enum GeneralStylesControls {\n  BUTTONS_ADJUST_TO_WIDTH_CONTAINER = 'buttonsAdjustToWidthFormContainer',\n  BUTTONS_BORDER = 'buttonsBorder',\n  BUTTONS_BORDER_RADIUS_CONTAINER = 'buttonsBorderRadiusContainer',\n  BUTTONS_COLOR_CONTAINER = 'buttonsColorContainer',\n  BUTTONS_FONT_FAMILY_CONTAINER = 'buttonsFontFamilyContainer',\n  BUTTONS_FONT_SIZE_CONTAINER = 'buttonsFontSizeFormContainer',\n  BUTTONS_HOVERED_BUTTON_STYLE = 'buttonsHoveredButtonStyleForm',\n  BUTTONS_INTERNAL_INDENTS_CONTAINER = 'buttonsInternalIndentsContainer',\n  BUTTONS_LETTER_SPACING_CONTAINER = 'buttonsLetterSpacingContainer',\n  BUTTONS_OUTLOOK_SUPPORT_CONTAINER = 'buttonsOutlookSupportContainer',\n  BUTTONS_TEXT_STYLE_AND_COLOR_CONTAINER = 'buttonsTextStyleAndColorFormContainer',\n  DEFAULT_STRUCTURE_INTERNAL_INDENTS = 'defaultStructureInternalIndents',\n  GENERAL_BACKGROUND_COLOR_CONTAINER = 'generalBackgroundColorContainer',\n  GENERAL_IMAGE_CONTAINER = 'generalImageContainer',\n  HEADINGS_FONT_FAMILY_CONTAINER = 'headingsFontFamilyContainer',\n  HEADINGS_H1_CONTROLS_CONTAINER = 'headingH1controlsContainer',\n  HEADINGS_H2_CONTROLS_CONTAINER = 'headingH2controlsContainer',\n  HEADINGS_H3_CONTROLS_CONTAINER = 'headingH3controlsContainer',\n  HEADINGS_H4_CONTROLS_CONTAINER = 'headingH4controlsContainer',\n  HEADINGS_H5_CONTROLS_CONTAINER = 'headingH5controlsContainer',\n  HEADINGS_H6_CONTROLS_CONTAINER = 'headingH6controlsContainer',\n  HEADINGS_LETTER_SPACING_CONTAINER = 'headingsLetterSpacingFormContainer',\n  HEADINGS_PARAGRAPH_BOTTOM_MARGIN = 'headingsParagraphBottomMarginForm',\n  HEADINGS_TYPES_BUTTON_BAR = 'headingsTypesButtonBarForm',\n  LISTS_STYLES = 'listsStyles',\n  MARGIN_AROUND_MESSAGE = 'marginAroundMessage',\n  MESSAGE_ALIGNMENT = 'messageAlignment',\n  MESSAGE_CONTENT_WIDTH = 'messageContentWidth',\n  RESPONSIVE_DESIGN = 'responsiveDesign',\n  HIDE_IMAGE_DOWNLOAD_ICONS = 'hideImageDownloadIcons',\n  DEFAULT_STYLES = 'defaultStyles',\n  RIGHT_TO_LEFT_CONTAINER = 'rightToLeftContainer',\n  STRIPES_CONTENT_CONTROLS_CONTAINER = 'stripesContentControlsContainer',\n  STRIPES_FONT_FAMILY_CONTAINER = 'stripesFontFamilyFormContainer',\n  STRIPES_FOOTER_CONTROLS_CONTAINER = 'stripesFooterControlsContainer',\n  STRIPES_HEADER_CONTROLS_CONTAINER = 'stripesHeaderControlsContainer',\n  STRIPES_INFO_AREA_CONTROLS_CONTAINER = 'stripesInfoAreaControlsContainer',\n  STRIPES_LETTER_SPACING_CONTAINER = 'stripesLetterSpacingFormContainer',\n  STRIPES_LINE_HEIGHT_CONTAINER = 'stripesLineHeightFormContainer',\n  STRIPE_TYPES_BUTTON_BAR = 'stripeTypesButtonBarForm',\n  UNDERLINE_LINKS_CONTAINER = 'underlineLinksContainer',\n}\n\n/**\n * @description List of supported controls grouped by block ({@link BlockType}) or additional panel name\n */\nexport const BuiltInControlTypes = {\n  [BlockType.BLOCK_BANNER]: BannerControls,\n  [BlockType.BLOCK_BUTTON]: ButtonControls,\n  [BlockType.BLOCK_TEXT]: TextControls,\n  [BlockType.BLOCK_VIDEO]: VideoControls,\n  [BlockType.BLOCK_TIMER]: TimerControls,\n  [BlockType.BLOCK_SPACER]: SpacerControls,\n  [BlockType.BLOCK_IMAGE]: ImageControls,\n  [BlockType.BLOCK_HTML]: HTMLControls,\n  [BlockType.BLOCK_SOCIAL]: SocialControls,\n  [BlockType.BLOCK_MENU]: MenuControls,\n  [BlockType.BLOCK_AMP_FORM]: AmpFormControls,\n  [BlockType.BLOCK_AMP_ACCORDION]: AccordionControls,\n  [BlockType.BLOCK_AMP_CAROUSEL]: CarouselControls,\n  [BlockType.STRIPE]: StripeControls,\n  [BlockType.STRUCTURE]: StructureControls,\n  [BlockType.CONTAINER]: ContainerControls,\n  [BlockType.CUSTOM_BLOCK_LINK]: CustomLinkControls,\n  [BlockType.CUSTOM_BLOCK_IMAGE]: CustomImageControls,\n  [BlockType.CUSTOM_BLOCK_TEXT]: CustomTextControls,\n  BANNER_CHILD: BannerChildControls,\n  MESSAGE_SETTINGS: MessageSettingsControls,\n  GENERAL_STYLES: GeneralStylesControls,\n  GENERAL: GeneralControls,\n};\n","/**\n * @description List of actions supported by blocks.\n */\nexport enum ContextActionType {\n  SAVE_AS_MODULE = 'saveAsModule',\n  IMPROVE_WITH_AI = 'improveWithAI',\n  MOVE = 'move',\n  COPY = 'copy',\n  REMOVE = 'remove',\n  CLEAR_CONTAINER = 'clearContainer',\n  EXTERNAL_DISPLAY_CONDITION = 'externalDisplayCondition',\n}\n","/**\n * @description properties of editor's active state\n * @property previewDeviceMode - property containing information about the active mode of the preview ({@link PreviewDeviceMode})\n */\nexport enum EditorStatePropertyType {\n  previewDeviceMode = 'previewDeviceMode',\n  panelPosition = 'panelPosition',\n  themeMode = 'themeMode',\n}\n","export enum OrderableItemIconPosition {\n  TOP = 'TOP',\n  LEFT = 'LEFT',\n}\n","export enum PanelPosition {\n  BLOCKS_SETTINGS = 'BLOCKS_SETTINGS',\n  SETTINGS_BLOCKS = 'SETTINGS_BLOCKS',\n}\n","/**\n * @description Defines the allowed anchor sides for popovers.\n * @remarks Used to position popovers relative to a target element with a consistent vocabulary.\n * @enum {string}\n */\nexport enum PopoverSide {\n  TOP = 'top',\n  RIGHT = 'right',\n  BOTTOM = 'bottom',\n  LEFT = 'left',\n}\n\n/**\n * @description Enumerates built-in AI popover intents.\n * @remarks Standardizes mapping from UI triggers to AI behaviors.\n * @enum {string}\n */\nexport enum ExtensionPopoverType {\n  AI_HIDDEN_PREHEADER = 'aiHiddenPreheader',\n  AI_SUBJECT = 'aiSubject',\n  AI_TEXT = 'aiText',\n}\n\n/**\n * @description Ordered placement preferences for a popover.\n * @remarks Enables deterministic fallbacks when space is constrained.\n * @typedef {Array<PopoverSide>} PopoverPreferredSides\n */\nexport type PopoverPreferredSides = PopoverSide[];\n\n/**\n * @description Normalized output produced by a popover.\n * @remarks A single text value returned by any popover flow.\n * @typedef {string} ExtensionPopoverResult\n */\nexport type ExtensionPopoverResult = string;\n\n/**\n * @description Configuration for an AI-assisted popover.\n * @remarks Encapsulates anchoring, placement, intent, initial value, and completion callback.\n * @typedef {Object} AIPopoverOptions\n * @property {HTMLElement} targetElement Element the popover anchors to.\n * @property {PopoverPreferredSides} preferredSides Preferred sides in priority order.\n * @property {ExtensionPopoverType} type AI intent to execute.\n * @property {string} value Initial text context.\n * @property {(response: string) => void} onResult Callback fired with the AI result.\n */\nexport interface AIPopoverOptions {\n  /**\n   * Element the popover anchors to.\n   * @remarks Required to compute placement.\n   */\n  targetElement: HTMLElement;\n  /**\n   * Preferred sides in priority order.\n   * @remarks Drives fallback positioning.\n   */\n  preferredSides: PopoverPreferredSides;\n  /**\n   * AI intent to execute.\n   * @remarks One of `ExtensionPopoverType`.\n   */\n  type: ExtensionPopoverType;\n  /**\n   * Initial text context.\n   * @remarks Seeds AI generation.\n   */\n  value: string;\n  /**\n   * Callback fired with the AI result.\n   * @param response The generated string.\n   */\n  onResult: (response: string) => void;\n}\n\n/**\n * @description Configuration for an emoji picker popover.\n * @remarks Reuses the same anchoring and result contract for emoji selection.\n * @typedef {Object} EmojiPopoverOptions\n * @property {HTMLElement} targetElement Element the popover anchors to.\n * @property {PopoverPreferredSides} preferredSides Preferred sides in priority order.\n * @property {(response: string) => void} onResult Callback with the selected emoji.\n */\nexport interface EmojiPopoverOptions {\n  /**\n   * Element the popover anchors to.\n   * @remarks Required to compute placement.\n   */\n  targetElement: HTMLElement;\n  /**\n   * Preferred sides in priority order.\n   * @remarks Drives fallback positioning.\n   */\n  preferredSides: PopoverPreferredSides;\n  /**\n   * Callback with the selected emoji.\n   * @param response The emoji string.\n   */\n  onResult: (response: string) => void;\n}\n","/**\n * @description modes of editor preview\n */\nexport enum PreviewDeviceMode {\n  DESKTOP = 'DESKTOP',\n  MOBILE = 'MOBILE',\n}\n","/**\n * @description List of default settings panel tabs.\n */\nexport enum SettingsTab {\n  SETTINGS = 'settings',\n  STYLES = 'styles',\n  DATA = 'data',\n}\n","export enum ThemeMode {\n  LIGHT = 'LIGHT',\n  DARK = 'DARK',\n}","const UIElementAttributes = {\n  name: 'name',\n  disabled: 'disabled',\n};\n\nconst buttonAttributes = {\n  ...UIElementAttributes,\n  caption: 'caption',\n  icon: 'icon',\n};\n\nconst checkBoxAttributes = {\n  ...UIElementAttributes,\n  caption: 'caption',\n};\n\nconst counterAttributes = {\n  ...UIElementAttributes,\n  minValue: 'min-value',\n  maxValue: 'max-value',\n  step: 'step',\n};\n\nconst datePickerAttributes = {\n  ...UIElementAttributes,\n  placeholder: 'placeholder',\n  minDate: 'min-date',\n};\n\nconst labelAttributes = {\n  ...UIElementAttributes,\n  text: 'text',\n  hint: 'hint',\n};\n\nconst messageAttributes = {\n  ...UIElementAttributes,\n  type: 'type',\n};\n\nconst radioButtonsAttributes = {\n  ...UIElementAttributes,\n  buttons: 'buttons',\n};\n\nconst selectAttributes = {\n  ...UIElementAttributes,\n  searchable: 'searchable',\n  multiSelect: 'multi-select',\n  placeholder: 'placeholder',\n  items: 'items',\n};\n\nconst fontFamilySelectAttributes = {\n  ...selectAttributes,\n  addCustomFontOption: 'add-custom-font-option',\n};\n\nconst selectItemAttributes = {\n  ...UIElementAttributes,\n  text: 'text',\n  value: 'value',\n};\n\nconst checkItemAttributes = {\n  ...UIElementAttributes,\n  text: 'text',\n  hint: 'hint',\n  icon: 'icon',\n  value: 'value',\n};\n\nconst checkButtonsAttributes = {\n  ...UIElementAttributes,\n  buttons: 'buttons',\n};\n\nconst radioItemAttributes = {\n  ...UIElementAttributes,\n  text: 'text',\n  hint: 'hint',\n  icon: 'icon',\n  value: 'value',\n};\n\nconst textAttributes = {\n  ...UIElementAttributes,\n  placeholder: 'placeholder',\n};\n\nconst textAreaAttributes = {\n  ...UIElementAttributes,\n  resizable: 'resizable',\n  placeholder: 'placeholder',\n};\n\nconst iconAttributes = {\n  ...UIElementAttributes,\n  img: 'img',\n  src: 'src',\n  title: 'title',\n  imageClass: 'image-class',\n  hint: 'hint',\n  disabled: 'disabled',\n  isActive: 'is-active',\n  visibility: 'visibility',\n  transform: 'transform',\n};\n\nconst nestedControlAttributes = {\n  ...UIElementAttributes,\n  controlId: 'control-id',\n};\n\nconst expandableAttributes = {\n  ...UIElementAttributes,\n  expanded: 'expanded',\n};\n\nconst orderableAttributes = {\n  ...UIElementAttributes,\n  icon: 'icon',\n  position: 'position',\n};\n\nconst orderableItemAttributes = {\n  ...UIElementAttributes,\n};\n\nconst orderableIconAttributes = {\n  ...UIElementAttributes,\n  icon: 'icon',\n};\n\nconst repeatableAttributes = {\n  ...UIElementAttributes,\n};\n\nconst draggableBlockAttributes = {\n  ...UIElementAttributes,\n  blockId: 'block-id',\n};\n\nconst ampFormServicePickerAttributes = {\n  ...UIElementAttributes,\n};\n\nconst MultipleSelectAttributes = {\n  ...UIElementAttributes,\n  placeholder: 'placeholder',\n};\n\n/**\n * @description List of attributes supported by corresponding UI Element ({@link UIElementType}).\n */\nexport const UEAttr = {\n  DEFAULT: UIElementAttributes,\n  BUTTON: buttonAttributes,\n  CHECKBOX: checkBoxAttributes,\n  CHECK_BUTTONS: checkButtonsAttributes,\n  COLOR: UIElementAttributes,\n  COUNTER: counterAttributes,\n  DATEPICKER: datePickerAttributes,\n  LABEL: labelAttributes,\n  MESSAGE: messageAttributes,\n  RADIO_BUTTONS: radioButtonsAttributes,\n  SELECTPICKER: selectAttributes,\n  FONT_FAMILY_SELECT: fontFamilySelectAttributes,\n  SWITCHER: UIElementAttributes,\n  TEXT: textAttributes,\n  TEXTAREA: textAreaAttributes,\n  ICON: iconAttributes,\n  CHECK_ITEM: checkItemAttributes,\n  SELECT_ITEM: selectItemAttributes,\n  RADIO_ITEM: radioItemAttributes,\n  NESTED_CONTROL: nestedControlAttributes,\n  EXPANDABLE: expandableAttributes,\n  ORDERABLE: orderableAttributes,\n  ORDERABLE_ITEM: orderableItemAttributes,\n  ORDERABLE_ICON: orderableIconAttributes,\n  REPEATABLE: repeatableAttributes,\n  DRAGGABLE_BLOCK: draggableBlockAttributes,\n  AMP_FORM_SERVICE_PICKER: ampFormServicePickerAttributes,\n  MULTIPLE_SELECT: MultipleSelectAttributes,\n};\n","/**\n * @description List of supported UI elements.\n */\nexport enum UIElementType {\n  BUTTON = 'UE-BUTTON',\n  CHECKBOX = 'UE-CHECKBOX',\n  CHECK_BUTTONS = 'UE-CHECK-BUTTONS',\n  COLOR = 'UE-COLOR',\n  COUNTER = 'UE-COUNTER',\n  DATEPICKER = 'UE-DATEPICKER',\n  LABEL = 'UE-LABEL',\n  MESSAGE = 'UE-MESSAGE',\n  RADIO_BUTTONS = 'UE-RADIO-BUTTONS',\n  SELECTPICKER = 'UE-SELECT',\n  SWITCHER = 'UE-SWITCHER',\n  TEXT = 'UE-TEXT',\n  TEXTAREA = 'UE-TEXTAREA',\n  CHECK_ITEM = 'UE-CHECK-ITEM',\n  RADIO_ITEM = 'UE-RADIO-ITEM',\n  SELECT_ITEM = 'UE-SELECT-ITEM',\n  ICON = 'UE-ICON',\n  MERGETAGS = 'UE-MERGETAGS',\n  FONT_FAMILY_SELECT = 'UE-FONT-FAMILY-SELECT',\n  NESTED_CONTROL = 'UE-NESTED-CONTROL',\n  EXPANDABLE = 'UE-EXPANDABLE',\n  EXPANDABLE_HEADER = 'UE-EXPANDABLE_HEADER',\n  EXPANDABLE_CONTENT = 'UE-EXPANDABLE_CONTENT',\n  ORDERABLE = 'UE-ORDERABLE',\n  ORDERABLE_ITEM = 'UE-ORDERABLE-ITEM',\n  ORDERABLE_ICON = 'UE-ORDERABLE-ICON',\n  REPEATABLE = 'UE-REPEATABLE',\n  DRAGGABLE_BLOCK = 'UE-DRAGGABLE-BLOCK',\n  AMP_FORM_SERVICE_PICKER = 'UE-AMP-FORM-SERVICE-PICKER',\n  MULTIPLE_SELECT = 'UE-MULTIPLE_SELECT',\n  SCROLLABLE = 'UE-SCROLLABLE-CONTAINER',\n}\n","import {ControlApi} from '../api/ControlApi';\nimport {CssNodeModifier, HtmlNodeModifier} from '../modifications/HtmlCssNodeModifier';\nimport {ImmutableHtmlNode} from '../modifications/ImmutableNode';\nimport {ModificationDescription} from '../modifications/ModificationDescription';\nimport {TemplateModifier} from '../modifications/TemplateModifier';\n\nimport {ControlLabels} from './ControlLabels';\n\n/**\n * @description base class for extension controls extending built in editor controls\n */\nexport abstract class BuiltInControl {\n  api!: ControlApi;\n\n  /**\n   * @description returns extended control identifier to be referenced in {@link SettingsPanelRegistry} or templates\n   */\n  public abstract getId(): string;\n\n  /**\n   * @description returns parent control identifier from the list {@link BuiltInControlTypes} of available controls\n   */\n  public abstract getParentControlId(): string;\n\n  /**\n   * @description returns map of nodes parent control operates on\n   */\n  public getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[] | undefined {\n    return [root];\n  };\n\n  /**\n   * @description returns map of labels used by parent control UI\n   */\n  public getLabels(): ControlLabels | undefined {\n    return undefined;\n  }\n\n  /**\n   * @description returns custom description for parent modifications\n   */\n  public getModificationDescription(): ModificationDescription | undefined {\n    return undefined;\n  }\n\n  /**\n   * @description returns custom modifications to be included in the parent control patch\n   */\n  public getAdditionalModifications(_root: ImmutableHtmlNode): TemplateModifier<HtmlNodeModifier, CssNodeModifier> | undefined {\n    return undefined;\n  }\n\n  /**\n   * Determines whether the specified HTML node is visible.\n   *\n   * @param _node - The HTML node to evaluate for visibility, provided as an immutable object.\n   * @return A boolean value indicating whether the node is visible. Returns `true` if the node is visible, otherwise `false`.\n   */\n  public isVisible(_node: ImmutableHtmlNode): boolean {\n    return true;\n  }\n}\n","import {BlockSelector, ESD_BLOCK_BUTTON} from '../../constants/BlockName';\nimport {ImmutableHtmlNode} from '../../modifications/ImmutableNode';\nimport {BuiltInControl} from '../BuiltInControl';\n\nexport abstract class ButtonBuiltInControl extends BuiltInControl {\n  public getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[] {\n    const buttons = root.querySelectorAll(BlockSelector.BUTTON);\n    const button = root.asElement().hasClass(ESD_BLOCK_BUTTON) ? [root] : [];\n    return buttons.length ? buttons : button;\n  };\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nimport {ButtonBorderRadiusControlLabels} from './ButtonBorderRadiusControlLabels';\n\nexport abstract class ButtonBorderRadiusBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].BORDER_RADIUS;\n  }\n\n  public getLabels(): ButtonBorderRadiusControlLabels | undefined {\n    return undefined;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nexport abstract class ButtonAlignBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].ALIGNMENT;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\n/**\n * @description base class including background color modifications logic\n */\nexport abstract class ButtonBackgroundColorBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.BACKGROUND_COLOR;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nexport abstract class ButtonBlockBackgroundColorBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].BUTTON_BLOCK_BACKGROUND_COLOR;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nimport {ButtonBorderControlLabels} from './ButtonBorderControlLabels';\n\n/**\n * @description base class including button border modifications logic\n */\nexport abstract class ButtonBorderBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].BORDER;\n  }\n\n  public getLabels(): ButtonBorderControlLabels | undefined {\n    return undefined;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\n/**\n * @description base class including button color modifications logic\n */\nexport abstract class ButtonColorBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].COLOR;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nexport abstract class ButtonFitToContainerBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].ADJUST_TO_WIDTH;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {FixedHeightLabels} from '../../FixedHeightLabels';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nexport abstract class ButtonFixedHeightBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].FIXED_HEIGHT;\n  }\n\n  public getLabels(): FixedHeightLabels | undefined {\n    return undefined;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nexport abstract class ButtonFontFamilyBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].FONT_FAMILY;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\n/**\n * @description base class including button hover text color modifications logic\n */\nexport abstract class ButtonHoverBorderColorBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].HOVERED_BORDER_COLOR;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nexport abstract class ButtonHoverColorBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].HOVERED_COLOR;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\n/**\n * @description base class including button hover text color modifications logic\n */\nexport abstract class ButtonHoverTextColorBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].HOVERED_TEXT_COLOR;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nexport abstract class ButtonMarginsBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].EXTERNAL_INDENTS;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nexport abstract class ButtonPaddingsBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].INTERNAL_INDENTS;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\n/**\n * @description base class including button text modifications logic\n */\nexport abstract class ButtonTextBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].TEXT;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\n/**\n * @description base class including button text modifications logic\n */\nexport abstract class ButtonTextSizeBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].FONT_SIZE;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nimport {ButtonTextStyleAndFontColorControlLabels} from './ButtonTextStyleAndFontColorControlLabels';\n\nexport abstract class ButtonTextStyleAndFontColorBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_BUTTON].TEXT_STYLE_AND_COLOR;\n  }\n\n  public getLabels(): ButtonTextStyleAndFontColorControlLabels | undefined {\n    return undefined;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ButtonBuiltInControl} from '../ButtonBuiltInControl';\n\nexport abstract class ButtonVisibilityBuiltInControl extends ButtonBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.HIDDEN_NODE;\n  }\n}\n","import {BlockSelector, ESD_BLOCK_CONTAINER} from '../../constants/BlockName';\nimport {ImmutableHtmlNode} from '../../modifications/ImmutableNode';\nimport {BuiltInControl} from '../BuiltInControl';\n\nexport abstract class ContainerBuiltInControl extends BuiltInControl {\n  public getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[] {\n    const containers = root.querySelectorAll(BlockSelector.CONTAINER);\n    const container = root.asElement().hasClass(ESD_BLOCK_CONTAINER) ? [root] : [];\n    return containers.length ? containers : container;\n  };\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ContainerBuiltInControl} from '../ContainerBuiltInControl';\n\nexport abstract class ContainerBackgroundColorBuiltInControl extends ContainerBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.CONTAINER].BACKGROUND_COLOR;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {BackgroundImageControlLabels} from '../../BackgroundImageControlLabels';\nimport {ContainerBuiltInControl} from '../ContainerBuiltInControl';\n\nexport abstract class ContainerBackgroundImageBuiltInControl extends ContainerBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.CONTAINER].IMAGE_CONTAINER;\n  }\n\n  public getLabels(): BackgroundImageControlLabels | undefined {\n    return undefined;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {BorderLabels} from '../../BorderLabels';\nimport {ContainerBuiltInControl} from '../ContainerBuiltInControl';\n\nexport abstract class ContainerBorderBuiltInControl extends ContainerBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.CONTAINER].BORDER_FORM;\n  }\n\n  public getLabels(): BorderLabels | undefined {\n    return undefined;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ContainerBuiltInControl} from '../ContainerBuiltInControl';\n\nexport abstract class ContainerVisibilityBuiltInControl extends ContainerBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.CONTAINER].HIDDEN_NODE;\n  }\n}\n","import {ControlApi} from '../api/ControlApi';\nimport {BaseValidatedClass} from '../BaseValidatedClass';\nimport {ImmutableHtmlNode} from '../modifications/ImmutableNode';\n\nexport class Control extends BaseValidatedClass {\n    /** Provides access to editor functionalities specific to this UI control instance. */\n  public api!: ControlApi;\n\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS = ['getId', 'getTemplate'];\n\n  constructor() {\n    super(Control.REQUIRED_METHODS, Control);\n  }\n\n  /**\n   * @description Allows to determine if control should be visible or hidden in control panel.\n   * Called on every node modification.\n   */\n  public isVisible(_node: ImmutableHtmlNode): boolean {\n    return true;\n  }\n\n    /**\n     * Optional hook called when the control is initially rendered.\n     * Use this for setup tasks like attaching event listeners to the control's template elements.\n     */\n  public onRender(): void {}\n    /**\n     * Optional cleanup hook called when the control is being destroyed.\n     * Use this to remove event listeners or perform other cleanup tasks.\n     */\n  public onDestroy(): void {}\n\n    /**\n     * Gets the unique identifier for this UI control type.\n     * This ID is used for registration and referencing.\n     * @returns A unique string ID.\n     */\n  public getId(): string {\n    throw new Error('Method getId() must be implemented by the subclass');\n  }\n\n    /**\n     * Gets the HTML template string that defines the structure of this UI control,\n     * typically containing one or more UI elements (e.g., `<UE-TEXT>`, `<UE-BUTTON>`).\n     * @returns An HTML string.\n     */\n  public getTemplate(): string {\n    throw new Error('Method getTemplate() must be implemented by the subclass');\n  }\n\n    /**\n     * Hook called whenever the underlying template node associated with this control's context\n     * (e.g., the selected block's  HTMLnode) is updated.\n     * Implement this to react to changes in the block/structure and update the control's UI elements accordingly.\n     * @param node - The updated immutable HTML node representing the control's context.\n     */\n  public onTemplateNodeUpdated(_node: ImmutableHtmlNode): void {\n  }\n\n  /**\n   * Lifecycle hook called when any part of the document template has changed.\n   * This can be frequent; use cautiously for performance-sensitive operations.\n   * @param _node - The immutable HTML node representing current node instance\n   */\n  public onDocumentChanged(_node: ImmutableHtmlNode): void {}\n}\n","import {GeneralPanelTabApi} from '../api/GeneralPanelTabApi';\nimport {BaseValidatedClass} from '../BaseValidatedClass';\n\ninterface GeneralPanelTabMap {\n  getId(): string;\n  getIcon(): string;\n  getName(): string;\n  getTabIndex(): number;\n  getTemplate(): string;\n}\n\nexport class GeneralPanelTab extends BaseValidatedClass implements GeneralPanelTabMap {\n  /** Provides access to editor functionalities specific to this tab instance. */\n  public api!: GeneralPanelTabApi;\n\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS: (keyof GeneralPanelTabMap)[] = ['getId', 'getIcon', 'getName', 'getTemplate', 'getTabIndex'];\n\n  constructor() {\n    super(GeneralPanelTab.REQUIRED_METHODS, GeneralPanelTab);\n  }\n\n  /**\n   * Gets the unique identifier for this tab.\n   * This ID is used for registration.\n   * @returns A unique string ID.\n   */\n  public getId(): string {\n    throw new Error('Method getId() must be implemented by the subclass');\n  }\n\n  /**\n   * Gets the icon key representing this tab in the header.\n   * @returns A string representing the icon key from the IconsRegistry\n   */\n  public getIcon(): string {\n    throw new Error('Method getIcon() must be implemented by the subclass');\n  }\n\n  /**\n   * Retrieves the index of the tab associated with the panel.\n   * The index represents the position/order of the tab in the UI.\n   *\n   * @returns {number} The index of the tab.\n   */\n  public getTabIndex(): number {\n    throw new Error('Method getTabIndex() must be implemented by the subclass');\n  }\n\n  /**\n   * Gets the display name of the tab shown to the user in the header hint.\n   * Use `this.api.translate()` for localization.\n   * @returns The localized tab name string.\n   */\n\n  public getName(): string {\n    throw new Error('Method getName() must be implemented by the subclass');\n  }\n\n  /**\n   * Determines if the tab should be available for use in the editor.\n   * Override to provide custom logic based on the editor state or configuration.\n   * @returns True if the tab is enabled, false otherwise. Defaults to true.\n   */\n  public isEnabled(): boolean {\n    return true;\n  }\n\n  /**\n   * Gets the HTML template string that defines the initial template of general tab.\n   * @returns An HTML string.\n   */\n  public getTemplate(): string {\n    throw new Error('Method getTemplate() must be implemented by the subclass');\n  }\n\n  /**\n   * Lifecycle hook called when any part of the document template has changed.\n   * This can be frequent; use cautiously for performance-sensitive operations.\n   */\n  public onDocumentChanged(): void {\n  }\n\n  /**\n   * Optional hook called when the general panel tab is initially rendered.\n   * Use this for setup tasks like attaching event listeners to the panel's template elements.\n   */\n  public onRender(): void {\n  }\n\n  /**\n   * Optional cleanup hook called when the general panel tab is being destroyed.\n   */\n  public onDestroy(): void {\n  }\n}\n","import {BlockSelector, ESD_BLOCK_IMAGE} from '../../constants/BlockName';\nimport {ImmutableHtmlNode} from '../../modifications/ImmutableNode';\nimport {BuiltInControl} from '../BuiltInControl';\n\nexport abstract class ImageBuiltInControl extends BuiltInControl {\n  public getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[] {\n    const images = root.querySelectorAll(BlockSelector.IMAGE);\n    const image = root.asElement().hasClass(ESD_BLOCK_IMAGE) ? [root] : [];\n    return images.length ? images : image;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ImageBuiltInControl} from '../ImageBuiltInControl';\n\nexport abstract class ImageAlignmentBuiltInControl extends ImageBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_IMAGE].ALIGNMENT;\n  }\n}","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ImageBuiltInControl} from '../ImageBuiltInControl';\n\nexport abstract class ImageMarginsBuiltInControl extends ImageBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_IMAGE].EXTERNAL_INDENTS;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ImageBuiltInControl} from '../ImageBuiltInControl';\n\nexport abstract class ImageSizeBuiltInControl extends ImageBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_IMAGE].SIZE;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {ImageBuiltInControl} from '../ImageBuiltInControl';\n\nexport abstract class ImageVisibilityBuiltInControl extends ImageBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.HIDDEN_NODE;\n  }\n}\n","import {ModulesPanelTabApi} from '../api/ModulesPanelTabApi';\nimport {BaseValidatedClass} from '../BaseValidatedClass';\n\ninterface ModulesPanelTabMap {\n  getId(): string;\n  getIcon(): string;\n  getPosition(): string;\n  getTabIndex(): number;\n  getName(): string;\n  isEnabled(): boolean;\n  getTemplate(): string;\n\n  onDocumentChanged(): void;\n  onRender(): void;\n}\n\nexport class ModulesPanelTab extends BaseValidatedClass {\n  /** Provides access to editor functionalities specific to this tab instance. */\n  public api!: ModulesPanelTabApi;\n\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS: (keyof ModulesPanelTabMap)[] = ['getId', 'getIcon', 'getName', 'getTemplate', 'getTabIndex'];\n\n  constructor() {\n    super(ModulesPanelTab.REQUIRED_METHODS, ModulesPanelTab);\n  }\n\n  /**\n   * Gets the unique identifier for this tab.\n   * This ID is used for registration.\n   * @returns A unique string ID.\n   */\n  public getId(): string {\n    throw new Error('Method getId() must be implemented by the subclass');\n  }\n\n  /**\n   * Gets the icon key representing this tab in the header.\n   * @returns A string representing the icon key from the IconsRegistry\n   */\n  public getIcon(): string {\n    throw new Error('Method getIcon() must be implemented by the subclass');\n  }\n\n  /**\n   * Retrieves the index of the tab associated with the panel.\n   * The index represents the position/order of the tab in the UI.\n   *\n   * @returns {number} The index of the tab.\n   */\n  public getTabIndex(): number {\n    throw new Error('Method getTabIndex() must be implemented by the subclass');\n  }\n\n  /**\n   * Gets the display name of the tab shown to the user in the header hint.\n   * Use `this.api.translate()` for localization.\n   * @returns The localized tab name string.\n   */\n  public getName(): string {\n    throw new Error('Method getName() must be implemented by the subclass');\n  }\n\n  /**\n   * Determines if the tab should be available for use in the editor.\n   * Override to provide custom logic based on the editor state or configuration.\n   * @returns True if the tab is enabled, false otherwise. Defaults to true.\n   */\n  public isEnabled(): boolean {\n    return true;\n  }\n\n  /**\n   * Gets the HTML template string that defines the initial structure of this tab.\n   * @returns An HTML string.\n   */\n  public getTemplate(): string {\n    throw new Error('Method getTemplate() must be implemented by the subclass');\n  }\n\n  /**\n   * Optional hook called when the modules panel tab is initially rendered.\n   * Use this for setup tasks like attaching event listeners to the panel's template elements.\n   */\n  public onRender(): void {\n  }\n\n  /**\n   * Lifecycle hook called when any part of the document template has changed.\n   * This can be frequent; use cautiously for performance-sensitive operations.\n   */\n  public onDocumentChanged(): void {\n  }\n}\n","import {SettingsPanelApi} from '../api/SettingsPanelApi';\nimport {BaseValidatedClass} from '../BaseValidatedClass';\n\nimport {SettingsPanelTab} from './SettingsPanelTab';\n\ninterface SettingsPanelTabMap {\n  registerBlockControls(_blockControlsMap: Record<string, SettingsPanelTab[]>): void;\n}\n\nexport class SettingsPanelRegistry extends BaseValidatedClass implements SettingsPanelTabMap {\n  public api!: SettingsPanelApi;\n\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS: (keyof SettingsPanelTabMap)[] = ['registerBlockControls'];\n\n  constructor() {\n    super(SettingsPanelRegistry.REQUIRED_METHODS, SettingsPanelRegistry);\n  }\n\n  public registerBlockControls(_blockControlsMap: Record<string, SettingsPanelTab[]>): void {\n    throw new Error('Method registerBlockControls() must be implemented by the subclass');\n  }\n}\n","export class SettingsPanelTab {\n  private label?: string;\n  private readonly tabId: string;\n  private readonly controls: SettingsPanelTabControl[];\n\n  constructor(tabId: string, controls: string[]) {\n    this.tabId = tabId;\n    this.controls = controls.map(SettingsPanelTab.normalizeControl);\n  }\n\n  public getTabId(): string {\n    return this.tabId;\n  }\n\n  public getLabel(): string | undefined {\n    return this.label;\n  }\n\n  public getControlsIds(): string[] {\n    return this.controls.map(c => c.id);\n  }\n\n  public getControls(): SettingsPanelTabControl[] {\n    return this.controls;\n  }\n\n  public withLabel(label: string): this {\n    this.label = label;\n    return this;\n  }\n\n  public addControl(control: string | SettingsPanelTabControlConfig, position: number): this {\n    const normalized = SettingsPanelTab.normalizeControl(control);\n    if (position < 0) {\n      this.controls.unshift(normalized);\n    } else if (position > this.controls.length) {\n      this.controls.push(normalized);\n    } else {\n      this.controls.splice(position, 0, normalized);\n    }\n    return this;\n  }\n\n  public deleteControl(controlId: string): void {\n    const index = this.controls.findIndex(c => c.id === controlId);\n    if (index !== -1) {\n      this.controls.splice(index, 1);\n    }\n  }\n\n  private static normalizeControl(control: string | SettingsPanelTabControlConfig): SettingsPanelTabControl {\n    if (typeof control === 'string') {\n      return {id: control};\n    }\n    if (!control.id) {\n      throw new Error('SettingsPanelTabControlConfig.id is required');\n    }\n    return {\n      ...control,\n      id: control.id,\n    };\n  }\n}\n\nexport interface SettingsPanelTabControlConfig {\n  id: string;\n  class?: string;\n  withFullHeight?: boolean;\n}\n\nexport type SettingsPanelTabControl = SettingsPanelTabControlConfig;\n","import {BlockSelector, ESD_BLOCK_SPACER} from '../../constants/BlockName';\nimport {ImmutableHtmlNode} from '../../modifications/ImmutableNode';\nimport {BuiltInControl} from '../BuiltInControl';\n\nexport abstract class SpacerBuildInControl extends BuiltInControl {\n  public getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[] {\n    const spacers = root.querySelectorAll(BlockSelector.SPACER);\n    const spacer = root.asElement().hasClass(ESD_BLOCK_SPACER) ? [root] : [];\n    return spacers.length ? spacers : spacer;\n  };\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {SpacerBuildInControl} from '../SpacerBuildInControl';\n\nexport abstract class SpacerBackgroundColorBuiltInControl extends SpacerBuildInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_SPACER].BACKGROUND_COLOR;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {SpacerBuildInControl} from '../SpacerBuildInControl';\n\nexport abstract class SpacerMarginsBuiltInControl extends SpacerBuildInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_SPACER].EXTERNAL_INDENTS;\n  }\n}\n","import {BlockSelector, ESD_BLOCK_STRUCTURE} from '../../constants/BlockName';\nimport {ImmutableHtmlNode} from '../../modifications/ImmutableNode';\nimport {BuiltInControl} from '../BuiltInControl';\n\nexport abstract class StructureBuiltInControl extends BuiltInControl {\n  public getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[] | undefined {\n    const structures = root.querySelectorAll(BlockSelector.STRUCTURE);\n    const structure = root.asElement().hasClass(ESD_BLOCK_STRUCTURE) ? [root] : [];\n    return structures.length ? structures : structure;\n  };\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {StructureBuiltInControl} from '../StructureBuiltInControl';\n\nimport {StructureAdaptControlLabels} from './StructureAdaptControlLabels';\n\nexport abstract class StructureAdaptBuiltInControl extends StructureBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.STRUCTURE].RESPONSIVE_STRUCTURE;\n  }\n\n  public getLabels(): StructureAdaptControlLabels | undefined {\n    return undefined;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {StructureBuiltInControl} from '../StructureBuiltInControl';\n\nexport abstract class StructureBackgroundColorBuiltInControl extends StructureBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.STRUCTURE].BACKGROUND_COLOR;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {BackgroundImageControlLabels} from '../../BackgroundImageControlLabels';\nimport {StructureBuiltInControl} from '../StructureBuiltInControl';\n\nexport abstract class StructureBackgroundImageBuiltInControl extends StructureBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.STRUCTURE].IMAGE_CONTAINER;\n  }\n\n  public getLabels(): BackgroundImageControlLabels | undefined {\n    return undefined;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {BorderLabels} from '../../BorderLabels';\nimport {StructureBuiltInControl} from '../StructureBuiltInControl';\n\n/**\n * @description base class including structure border modifications logic\n */\nexport abstract class StructureBorderBuiltInControl extends StructureBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.STRUCTURE].BORDER_FORM;\n  }\n\n  public getLabels(): BorderLabels | undefined {\n    return undefined;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {StructureBuiltInControl} from '../StructureBuiltInControl';\n\nexport abstract class StructureMarginsBuiltInControl extends StructureBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.STRUCTURE].EXTERNAL_INDENTS;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {StructureBuiltInControl} from '../StructureBuiltInControl';\n\nexport abstract class StructurePaddingsBuiltInControl extends StructureBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.STRUCTURE_INTERNAL_INDENTS;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {StructureBuiltInControl} from '../StructureBuiltInControl';\n\nexport abstract class StructureVisibilityBuiltInControl extends StructureBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.HIDDEN_NODE;\n  }\n}\n","import {BlockSelector, ESD_BLOCK_TEXT} from '../../constants/BlockName';\nimport {ImmutableHtmlNode} from '../../modifications/ImmutableNode';\nimport {BuiltInControl} from '../BuiltInControl';\n\nexport abstract class TextBuiltInControl extends BuiltInControl {\n  public getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[] {\n    const texts = root.querySelectorAll(BlockSelector.TEXT);\n    const text = root.asElement().hasClass(ESD_BLOCK_TEXT) ? [root] : [];\n    return texts.length ? texts : text;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {TextBuiltInControl} from '../TextBuiltInControl';\n\nexport abstract class TextAlignBuiltInControl extends TextBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.TEXT_ALIGN;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {TextBuiltInControl} from '../TextBuiltInControl';\n\nexport abstract class TextBlockBackgroundBuiltInControl extends TextBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_TEXT].TEXT_BLOCK_BACKGROUND_COLOR;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {TextBuiltInControl} from '../TextBuiltInControl';\n\n/**\n * @description base class including text color modifications logic\n */\nexport abstract class TextColorBuiltInControl extends TextBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.TEXT_COLOR;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {FixedHeightLabels} from '../../FixedHeightLabels';\nimport {TextBuiltInControl} from '../TextBuiltInControl';\n\nexport abstract class TextFixedHeightBuiltInControl extends TextBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_TEXT].FIXED_HEIGHT;\n  }\n\n  public getLabels(): FixedHeightLabels | undefined {\n    return undefined;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {TextBuiltInControl} from '../TextBuiltInControl';\n\n/**\n * @description base class including font family modifications logic\n */\nexport abstract class TextFontFamilyBuiltInControl extends TextBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_TEXT].FONT_FAMILY;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {TextBuiltInControl} from '../TextBuiltInControl';\n\n/**\n * @description base class including text line spacing modifications logic\n */\nexport abstract class TextLineSpacingBuiltInControl extends TextBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.TEXT_LINE_SPACING;\n  }\n}\n","import {BlockType} from '../../../constants/BlockType';\nimport {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {TextBuiltInControl} from '../TextBuiltInControl';\n\nexport abstract class TextPaddingsBuiltInControl extends TextBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes[BlockType.BLOCK_TEXT].INTERNAL_INDENTS;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {TextBuiltInControl} from '../TextBuiltInControl';\n\n/**\n * @description base class including general text size modifications logic\n */\nexport abstract class TextSizeBuiltInControl extends TextBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.TEXT_SIZE;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {TextBuiltInControl} from '../TextBuiltInControl';\n\n/**\n * @description base class including text style modifications logic\n */\nexport abstract class TextStyleBuiltInControl extends TextBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.TEXT_STYLE;\n  }\n}\n","import {BuiltInControlTypes} from '../../../constants/BuiltInControlTypes';\nimport {TextBuiltInControl} from '../TextBuiltInControl';\n\nexport abstract class TextVisibilityBuiltInControl extends TextBuiltInControl {\n  public getParentControlId(): string {\n    return BuiltInControlTypes.GENERAL.HIDDEN_NODE;\n  }\n}\n","import {Block} from './blocks/Block';\nimport {BlocksPanel} from './blocks/BlocksPanel';\nimport {ContextAction} from './blocks/ContextAction';\nimport {ConstructorOfType} from './ConstructorOfType';\nimport {BuiltInControl} from './controls/BuiltInControl';\nimport {Control} from './controls/Control';\nimport {GeneralPanelTab} from './controls/GeneralPanelTab';\nimport {ModulesPanelTab} from './controls/ModulesPanelTab';\nimport {SettingsPanelRegistry} from './controls/SettingsPanelRegistry';\nimport {ExternalAiAssistant} from './ExternalAiAssistant';\nimport {ExternalDisplayConditionsLibrary} from './ExternalDisplayConditionsLibrary';\nimport {ExternalImageLibrary} from './ExternalImageLibrary';\nimport {ExternalImageLibraryTab} from './ExternalImageLibraryTab';\nimport {ExternalSmartElementsLibrary} from './ExternalSmartElementsLibrary';\nimport {ExternalVideosLibrary} from './ExternalVideoLibrary';\nimport {IconsRegistry} from './icons/IconsRegistry';\nimport {UIElement} from './ui-elements/UIElement';\nimport {UIElementTagRegistry} from './ui-elements/UIElementTagRegistry';\n\ninterface ExtensionOptions {\n  i18n: Record<string, Record<string, string>> | undefined;\n  styles: string | undefined;\n  previewStyles?: string;\n  uiElements: ConstructorOfType<UIElement>[];\n  generalPanelTabs: ConstructorOfType<GeneralPanelTab>[];\n  modulesPanelTabs: ConstructorOfType<ModulesPanelTab>[];\n  controls: ConstructorOfType<Control | BuiltInControl>[];\n  contextActions: ConstructorOfType<ContextAction>[];\n  blocks: ConstructorOfType<Block>[];\n  uiElementTagRegistry: ConstructorOfType<UIElementTagRegistry> | undefined;\n  settingsPanelRegistry: ConstructorOfType<SettingsPanelRegistry> | undefined;\n  externalSmartElementsLibrary?: ConstructorOfType<ExternalSmartElementsLibrary>;\n  externalImageLibrary?: ConstructorOfType<ExternalImageLibrary>;\n  externalAiAssistant?: ConstructorOfType<ExternalAiAssistant>;\n  externalDisplayConditionsLibrary?: ConstructorOfType<ExternalDisplayConditionsLibrary>;\n  externalVideoLibrary?: ConstructorOfType<ExternalVideosLibrary>;\n  blocksPanel?: ConstructorOfType<BlocksPanel>;\n  iconsRegistry?: ConstructorOfType<IconsRegistry>;\n  externalImageLibraryTab?: ConstructorOfType<ExternalImageLibraryTab>;\n}\n\nexport class Extension {\n  private readonly i18n?: Record<string, Record<string, string>>;\n  private readonly styles?: string;\n  private readonly previewStyles?: string;\n  private readonly uiElements: ConstructorOfType<UIElement>[] = [];\n  private readonly uiElementTagRegistry?: ConstructorOfType<UIElementTagRegistry>;\n  private readonly controls: ConstructorOfType<Control | BuiltInControl>[] = [];\n  private readonly settingsPanelRegistry?: ConstructorOfType<SettingsPanelRegistry>;\n  private readonly contextActions: ConstructorOfType<ContextAction>[] = [];\n  private readonly blocks: ConstructorOfType<Block>[] = [];\n  private readonly generalPanelTabs: ConstructorOfType<GeneralPanelTab>[] = [];\n  private readonly modulesPanelTabs: ConstructorOfType<ModulesPanelTab>[] = [];\n  private readonly id: string;\n  private readonly externalSmartElementsLibrary?: ConstructorOfType<ExternalSmartElementsLibrary>;\n  private readonly externalImageLibrary?: ConstructorOfType<ExternalImageLibrary>;\n  private readonly externalImageLibraryTab?: ConstructorOfType<ExternalImageLibraryTab>;\n  private readonly externalAiAssistant?: ConstructorOfType<ExternalAiAssistant>;\n  private readonly externalDisplayConditionsLibrary?: ConstructorOfType<ExternalDisplayConditionsLibrary>;\n  private readonly externalVideoLibrary?: ConstructorOfType<ExternalVideosLibrary>;\n  private readonly blocksPanel?: ConstructorOfType<BlocksPanel>;\n  private readonly iconsRegistry?: ConstructorOfType<IconsRegistry>;\n  constructor(options: ExtensionOptions) {\n    this.i18n = options?.i18n;\n    this.styles = options?.styles;\n    this.previewStyles = options?.previewStyles;\n    this.uiElements = options?.uiElements ?? [];\n    this.uiElementTagRegistry = options?.uiElementTagRegistry;\n    this.controls = options?.controls ?? [];\n    this.settingsPanelRegistry = options?.settingsPanelRegistry;\n    this.contextActions = options?.contextActions ?? [];\n    this.blocks = options?.blocks ?? [];\n    this.generalPanelTabs = options?.generalPanelTabs ?? [];\n    this.modulesPanelTabs = options?.modulesPanelTabs ?? [];\n    this.externalSmartElementsLibrary = options?.externalSmartElementsLibrary;\n    this.externalImageLibrary = options?.externalImageLibrary;\n    this.externalImageLibraryTab = options?.externalImageLibraryTab;\n    this.externalAiAssistant = options?.externalAiAssistant;\n    this.externalDisplayConditionsLibrary = options?.externalDisplayConditionsLibrary;\n    this.externalVideoLibrary = options?.externalVideoLibrary;\n    this.blocksPanel = options?.blocksPanel;\n    this.iconsRegistry = options?.iconsRegistry;\n    // generate random string for id\n    this.id = Math.random().toString(36).substring(2);\n  }\n\n  public getI18n(): Record<string, Record<string, string>> | undefined {\n    return this.i18n;\n  }\n\n  public getStyles(): string | undefined {\n    return this.styles;\n  }\n\n  public getPreviewStyles(): string | undefined {\n    return this.previewStyles;\n  }\n\n  public getUiElements(): ConstructorOfType<UIElement>[] {\n    return this.uiElements;\n  }\n\n  public getUiElementTagRegistry(): ConstructorOfType<UIElementTagRegistry> | undefined {\n    return this.uiElementTagRegistry;\n  }\n\n  public getControls(): ConstructorOfType<Control | BuiltInControl>[] {\n    return this.controls;\n  }\n\n  public getSettingsPanelRegistry(): ConstructorOfType<SettingsPanelRegistry> | undefined {\n    return this.settingsPanelRegistry;\n  }\n\n  public getContextActions(): ConstructorOfType<ContextAction>[] {\n    return this.contextActions;\n  }\n\n  public getBlocks(): ConstructorOfType<Block>[] {\n    return this.blocks;\n  }\n\n  public getId(): string {\n    return this.id;\n  }\n\n  public getExternalSmartElementsLibrary(): ConstructorOfType<ExternalSmartElementsLibrary> | undefined {\n    return this.externalSmartElementsLibrary;\n  }\n\n  public getExternalImageLibrary(): ConstructorOfType<ExternalImageLibrary> | undefined {\n    return this.externalImageLibrary;\n  }\n\n  public getExternalImageLibraryTab(): ConstructorOfType<ExternalImageLibraryTab> | undefined {\n    return this.externalImageLibraryTab;\n  }\n\n  public getExternalAiAssistant(): ConstructorOfType<ExternalAiAssistant> | undefined {\n    return this.externalAiAssistant;\n  }\n\n  public getExternalDisplayConditionsLibrary(): ConstructorOfType<ExternalDisplayConditionsLibrary> | undefined {\n    return this.externalDisplayConditionsLibrary;\n  }\n\n  public getExternalVideoLibrary(): ConstructorOfType<ExternalVideosLibrary> | undefined {\n    return this.externalVideoLibrary;\n  }\n\n  public getBlocksPanel(): ConstructorOfType<BlocksPanel> | undefined {\n    return this.blocksPanel;\n  }\n\n  public getIconsRegistry(): ConstructorOfType<IconsRegistry> | undefined {\n    return this.iconsRegistry;\n  }\n\n  public getGeneralPanelTabs(): ConstructorOfType<GeneralPanelTab>[] {\n    return this.generalPanelTabs;\n  }\n\n  public getModulesPanelTabs(): ConstructorOfType<ModulesPanelTab>[] {\n    return this.modulesPanelTabs;\n  }\n}\n","import {Block} from './blocks/Block';\nimport {BlocksPanel} from './blocks/BlocksPanel';\nimport {ContextAction} from './blocks/ContextAction';\nimport {ConstructorOfType} from './ConstructorOfType';\nimport {BuiltInControl} from './controls/BuiltInControl';\nimport {Control} from './controls/Control';\nimport {GeneralPanelTab} from './controls/GeneralPanelTab';\nimport {ModulesPanelTab} from './controls/ModulesPanelTab';\nimport {SettingsPanelRegistry} from './controls/SettingsPanelRegistry';\nimport {Extension} from './Extension';\nimport {ExternalAiAssistant} from './ExternalAiAssistant';\nimport {ExternalDisplayConditionsLibrary} from './ExternalDisplayConditionsLibrary';\nimport {ExternalImageLibrary} from './ExternalImageLibrary';\nimport {ExternalImageLibraryTab} from './ExternalImageLibraryTab';\nimport {ExternalSmartElementsLibrary} from './ExternalSmartElementsLibrary';\nimport {ExternalVideosLibrary} from './ExternalVideoLibrary';\nimport {IconsRegistry} from './icons/IconsRegistry';\nimport {UIElement} from './ui-elements/UIElement';\nimport {UIElementTagRegistry} from './ui-elements/UIElementTagRegistry';\n\nexport class ExtensionBuilder {\n  private i18n?: Record<string, Record<string, string>>;\n  private styles: string[] = [];\n  private readonly uiElements: ConstructorOfType<UIElement>[] = [];\n  private readonly controls: ConstructorOfType<Control | BuiltInControl>[] = [];\n  private readonly contextActions: ConstructorOfType<ContextAction>[] = [];\n  private readonly blocks: ConstructorOfType<Block>[] = [];\n  private readonly generalPanelTabs: ConstructorOfType<GeneralPanelTab>[] = [];\n  private readonly modulesPanelTabs: ConstructorOfType<ModulesPanelTab>[] = [];\n  private previewStyles?: string;\n  private uiElementTagRegistry?: ConstructorOfType<UIElementTagRegistry>;\n  private settingsPanelRegistry?: ConstructorOfType<SettingsPanelRegistry>;\n  private externalSmartElementsLibrary?: ConstructorOfType<ExternalSmartElementsLibrary>;\n  private externalImageLibrary?: ConstructorOfType<ExternalImageLibrary>;\n  private externalImageLibraryTab?: ConstructorOfType<ExternalImageLibraryTab>;\n  private externalAiAssistant?: ConstructorOfType<ExternalAiAssistant>;\n  private externalDisplayConditionsLibrary?: ConstructorOfType<ExternalDisplayConditionsLibrary>;\n  private externalVideoLibrary?: ConstructorOfType<ExternalVideosLibrary>;\n  private blocksPanel?: ConstructorOfType<BlocksPanel>;\n  private iconsRegistry?: ConstructorOfType<IconsRegistry>;\n\n  public withLocalization(i18n: Record<string, Record<string, string>>): this {\n    this.i18n = i18n;\n    return this;\n  }\n\n  /**\n   * @deprecated Use addStyles() instead. This method will be removed in a future version.\n   */\n  public withStyles(styles: string): this {\n    this.styles = [styles];\n    return this;\n  }\n\n  public addStyles(styles: string): this {\n    this.styles.push(styles);\n    return this;\n  }\n\n    /**\n     * @description defines custom developer styles to use inside the editor document preview\n     */\n  public withPreviewStyles(styles: string): this {\n    this.previewStyles = styles;\n    return this;\n  }\n\n  public addContextAction(contextAction: ConstructorOfType<ContextAction>): this {\n    this.contextActions.push(contextAction);\n    return this;\n  }\n\n  public addUiElement(uiElement: ConstructorOfType<UIElement>): this {\n    this.uiElements.push(uiElement);\n    return this;\n  }\n\n  public withUiElementTagRegistry(uiElementTagRegistry: ConstructorOfType<UIElementTagRegistry>): this {\n    this.uiElementTagRegistry = uiElementTagRegistry;\n    return this;\n  }\n\n  public addControl(control: ConstructorOfType<Control | BuiltInControl>): this {\n    this.controls.push(control);\n    return this;\n  }\n\n  public withSettingsPanelRegistry(settingsPanelRegistry: ConstructorOfType<SettingsPanelRegistry>): this {\n    this.settingsPanelRegistry = settingsPanelRegistry;\n    return this;\n  }\n\n  public withExternalSmartElementsLibrary(externalSmartElementsLibrary: ConstructorOfType<ExternalSmartElementsLibrary>): this {\n    this.externalSmartElementsLibrary = externalSmartElementsLibrary;\n    return this;\n  }\n\n  public withExternalImageLibrary(externalImageLibrary: ConstructorOfType<ExternalImageLibrary>): this {\n    this.externalImageLibrary = externalImageLibrary;\n    return this;\n  }\n\n  public withExternalImageLibraryTab(externalImageLibraryTab: ConstructorOfType<ExternalImageLibraryTab>): this {\n    this.externalImageLibraryTab = externalImageLibraryTab;\n    return this;\n  }\n\n  public withExternalAiAssistant(externalAiAssistant: ConstructorOfType<ExternalAiAssistant>): this {\n    this.externalAiAssistant = externalAiAssistant;\n    return this;\n  }\n\n  public withExternalDisplayCondition(externalDisplayCondition: ConstructorOfType<ExternalDisplayConditionsLibrary>): this {\n    this.externalDisplayConditionsLibrary = externalDisplayCondition;\n    return this;\n  }\n\n  public withExternalVideosLibrary(externalVideoLibrary: ConstructorOfType<ExternalVideosLibrary>): this {\n    this.externalVideoLibrary = externalVideoLibrary;\n    return this;\n  }\n\n  public withBlocksPanel(blocksPanel: ConstructorOfType<BlocksPanel>): this {\n    this.blocksPanel = blocksPanel;\n    return this;\n  }\n\n  public addBlock(block: ConstructorOfType<Block>): this {\n    this.blocks.push(block);\n    return this;\n  }\n\n  public withIconsRegistry(iconsRegistry: ConstructorOfType<IconsRegistry>): this {\n    this.iconsRegistry = iconsRegistry;\n    return this;\n  }\n\n  public addGeneralPanelTab(tab: ConstructorOfType<GeneralPanelTab>): this {\n    this.generalPanelTabs.push(tab);\n    return this;\n  }\n\n  public addModulesPanelTab(tab: ConstructorOfType<ModulesPanelTab>): this {\n    this.modulesPanelTabs.push(tab);\n    return this;\n  }\n\n  public build(): Extension {\n    return new Extension({\n      i18n: this.i18n,\n      styles: this.styles.map(style => style.trim()).join('\\n'),\n      uiElements: this.uiElements,\n      uiElementTagRegistry: this.uiElementTagRegistry,\n      controls: this.controls,\n      settingsPanelRegistry: this.settingsPanelRegistry,\n      contextActions: this.contextActions,\n      blocks: this.blocks,\n      externalSmartElementsLibrary: this.externalSmartElementsLibrary,\n      externalImageLibrary: this.externalImageLibrary,\n      previewStyles: this.previewStyles,\n      externalAiAssistant: this.externalAiAssistant,\n      externalDisplayConditionsLibrary: this.externalDisplayConditionsLibrary,\n      externalVideoLibrary: this.externalVideoLibrary,\n      blocksPanel: this.blocksPanel,\n      iconsRegistry: this.iconsRegistry,\n      externalImageLibraryTab: this.externalImageLibraryTab,\n      generalPanelTabs: this.generalPanelTabs,\n      modulesPanelTabs: this.modulesPanelTabs,\n    });\n  }\n}\n","import {BaseValidatedClass} from './BaseValidatedClass';\nimport {AiAssistantValueType} from './constants/AiAssistantValueType';\n\ninterface ExternalAiAssistantMap {\n  openAiAssistant(_params: {\n    value: string;\n    onDataSelectCallback: ExternalAiAssistantCallback;\n    onCancelCallback: ExternalAiAssistantCancelCallback;\n    type: AiAssistantValueType;\n  }): void;\n}\n\nexport type ExternalAiAssistantCallback = (html: string) => void;\nexport type ExternalAiAssistantCancelCallback = () => void;\nexport class ExternalAiAssistant extends BaseValidatedClass implements ExternalAiAssistantMap {\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS: (keyof ExternalAiAssistantMap)[] = ['openAiAssistant'];\n\n  constructor() {\n    super(ExternalAiAssistant.REQUIRED_METHODS, ExternalAiAssistant);\n  }\n\n  public openAiAssistant(\n    _options: {\n      value: string;\n      onDataSelectCallback: ExternalAiAssistantCallback;\n      onCancelCallback: ExternalAiAssistantCancelCallback;\n      type: AiAssistantValueType;\n    }): void {\n    throw new Error('Method openAiAssistant() must be implemented by the subclass');\n  }\n}\n","import {ExternalDisplayConditionsApi} from './api/ExternalDisplayConditionsApi';\nimport {BaseValidatedClass} from './BaseValidatedClass';\nimport {DisplayCondition} from './modifications/ImmutableNode';\n\ninterface ExternalDisplayConditionsLibraryMap {\n  getCategoryName(): string;\n  openExternalDisplayConditionsDialog(\n    _currentCondition: DisplayCondition,\n    _successCallback: ExternalDisplayConditionSelectedCB,\n    _cancelCallback: () => void,\n  ): void;\n  getIsContextActionEnabled(): boolean;\n  getContextActionIndex(): number;\n}\n\nexport type ExternalDisplayConditionSelectedCB = (condition: DisplayCondition) => void;\n\nexport interface ExternalDisplayConditionCategory {\n  type: string;\n  category: string; // Category name\n}\nexport class ExternalDisplayConditionsLibrary extends BaseValidatedClass implements ExternalDisplayConditionsLibraryMap {\n  public api!: ExternalDisplayConditionsApi;\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS: (keyof ExternalDisplayConditionsLibraryMap)[] = ['getCategoryName', 'openExternalDisplayConditionsDialog'];\n\n  constructor() {\n    super(ExternalDisplayConditionsLibrary.REQUIRED_METHODS, ExternalDisplayConditionsLibrary);\n  }\n\n    /**\n     * Retrieves the name of the category.\n     *\n     * @return {string} The name of the category.\n     */\n  public getCategoryName(): string {\n    throw new Error('Method getCategoryName() must be implemented by the subclass');\n  };\n\n    /**\n     * Opens a popup dialog for creating or updating a display condition.\n     *\n     * @param {DisplayCondition} _currentCondition - The currently selected display condition to edit.\n     * @param {ExternalDisplayConditionSelectedCB} _successCallback - Callback executed with the updated or newly created condition upon success.\n     * @param {() => void} _cancelCallback - Callback executed when the dialog is closed without making changes.\n     */\n  public openExternalDisplayConditionsDialog(\n    _currentCondition: DisplayCondition,\n    _successCallback: ExternalDisplayConditionSelectedCB,\n    _cancelCallback: () => void,\n  ): void {\n    throw new Error('Method openExternalDisplayConditionsDialog() must be implemented by the subclass');\n  }\n\n    /**\n     * Determines if the context action associated with this library is enabled.\n     *\n     * @returns {boolean} `true` if the context action is enabled, otherwise `false`.\n     */\n  public getIsContextActionEnabled(): boolean {\n    throw new Error('Method getIsContextActionEnabled() must be implemented by the subclass');\n  }\n\n    /**\n     * Retrieves the index of the context action associated with this library.\n     * The index represents the position/order of the action in the UI.\n     *\n     * @returns {number} The index of the context action.\n     */\n  public getContextActionIndex(): number {\n    throw new Error('Method getContextActionIndex() must be implemented by the subclass');\n  }\n}\n","import {BaseValidatedClass} from './BaseValidatedClass';\n\ninterface ExternalImageLibraryMap {\n  openImageLibrary(\n    _currentImageUrl: string,\n    _onImageSelectCallback: ExternalGalleryImageSelectCallback,\n    _onCancelCallback: ExternalGalleryImageCancelCallback\n  ): void;\n\n}\nexport interface ExternalGalleryImage {\n  originalName: string; // 'YOUR_FILE_NAME.png'\n  width: number; // width in pixels\n  height: number; // height in pixels\n  sizeBytes: number; // size in bytes\n  url: string; // 'https://YOUR_STORAGE_URL/YOUR_FILE.png'\n  altText: string;\n  labels?: Record<string, string>; // Optional key-value pairs for image metadata\n}\n\nexport type ExternalGalleryImageSelectCallback = (imageUrl: ExternalGalleryImage) => void;\nexport type ExternalGalleryImageCancelCallback = () => void;\n\nexport class ExternalImageLibrary extends BaseValidatedClass implements ExternalImageLibraryMap {\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS: (keyof ExternalImageLibraryMap)[] = ['openImageLibrary'];\n\n  constructor() {\n    super(ExternalImageLibrary.REQUIRED_METHODS, ExternalImageLibrary);\n  }\n\n  public openImageLibrary(_currentImageUrl: string, _onImageSelectCallback: ExternalGalleryImageSelectCallback, _onCancelCallback: ExternalGalleryImageCancelCallback): void {\n    throw new Error('Method openImageLibrary() must be implemented by the subclass');\n  }\n}\n","import {BaseApi} from './api/BaseApi';\nimport {BaseValidatedClass} from './BaseValidatedClass';\nimport {ExternalGalleryImageSelectCallback} from './ExternalImageLibrary';\nimport {ImmutableHtmlNode} from './modifications/ImmutableNode';\n\ninterface ExternalImageLibraryTabMap {\n  getName(): string;\n  openImageLibraryTab(_container: HTMLElement, _onImageSelectCallback: ExternalGalleryImageSelectCallback): void;\n}\n\nexport class ExternalImageLibraryTab extends BaseValidatedClass implements ExternalImageLibraryTabMap {\n  public api!: BaseApi;\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS: (keyof ExternalImageLibraryTabMap)[] = ['getName', 'openImageLibraryTab'];\n\n  constructor() {\n    super(ExternalImageLibraryTab.REQUIRED_METHODS, ExternalImageLibraryTab);\n  }\n\n  /**\n   * @description Returns the translated name/label for the tab\n   * @returns Translation key or text to display as tab label\n   */\n  public getName(): string {\n    throw new Error('Method getName() must be implemented by the subclass');\n  }\n\n  /**\n   * @description Opens the external image library tab and provides a container for rendering\n   * @param _container - DOM element container where the external library UI should be rendered\n   * @param _onImageSelectCallback - Callback to invoke when an image is selected\n   * @param _selectedNode - (Optional) Selected node for which the gallery is being opened\n   */\n  public openImageLibraryTab(_container: HTMLElement, _onImageSelectCallback: ExternalGalleryImageSelectCallback, _selectedNode?: ImmutableHtmlNode): void {\n    throw new Error('Method openImageLibraryTab() must be implemented by the subclass');\n  }\n}\n","import {BaseValidatedClass} from './BaseValidatedClass';\n\ninterface ExternalSmartElementsLibraryMap {\n  openSmartElementsLibrary(_onDataSelectCallback: ExternalSmartElementSelectCallback, _onCancelCallback: ExternalSmartElementCancelCallback): void;\n}\n\nexport type ExternalSmartElement = Record<string, string>;\n\nexport type ExternalSmartElementSelectCallback = (smartElement: ExternalSmartElement) => void;\nexport type ExternalSmartElementCancelCallback = () => void;\nexport class ExternalSmartElementsLibrary extends BaseValidatedClass implements ExternalSmartElementsLibraryMap {\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS: (keyof ExternalSmartElementsLibraryMap)[] = ['openSmartElementsLibrary'];\n\n  constructor() {\n    super(ExternalSmartElementsLibrary.REQUIRED_METHODS, ExternalSmartElementsLibrary);\n  }\n\n  public openSmartElementsLibrary(_onDataSelectCallback: ExternalSmartElementSelectCallback, _onCancelCallback: ExternalSmartElementCancelCallback): void {\n    throw new Error('Method openSmartElementsLibrary() must be implemented by the subclass');\n  }\n}\n","import {BaseValidatedClass} from './BaseValidatedClass';\n\ninterface ExternalVideosLibraryMap {\n  openExternalVideosLibraryDialog(\n    _currentValue: string,\n    _successCallback: ExternalVideosLibrarySelectedCallback,\n    _cancelCallback: ExternalVideosLibraryCancelCallback,\n  ): void;\n}\n\nexport type ExternalVideosLibrarySelectedCallback = (value: ExternalGalleryVideo) => void;\nexport type ExternalVideosLibraryCancelCallback = () => void;\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport type ExternalGalleryVideo = {\n  originalVideoName: string; // 'YOUR VIDEO NAME',\n  originalImageName: string; //  'YOUR IMAGE NAME',\n  urlImage: string; // 'https://YOUR_STORAGE_IMAGE_URL.png',\n  urlVideo: string; // 'https://your_storage_url/YOUR_FILE',\n  altText: string;\n};\nexport class ExternalVideosLibrary extends BaseValidatedClass implements ExternalVideosLibraryMap {\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS: (keyof ExternalVideosLibraryMap)[] = ['openExternalVideosLibraryDialog'];\n\n  constructor() {\n    super(ExternalVideosLibrary.REQUIRED_METHODS, ExternalVideosLibrary);\n  }\n\n  public openExternalVideosLibraryDialog(\n    _currentValue: string,\n    _successCallback: ExternalVideosLibrarySelectedCallback,\n    _cancelCallback: ExternalVideosLibraryCancelCallback,\n  ): void {\n    throw new Error('Method openExternalVideosLibraryDialog() must be implemented by the subclass');\n  }\n}\n","import {BaseValidatedClass} from '../BaseValidatedClass';\n\ninterface IconsRegistryMap {\n  registerIconsSvg(_iconsMap: Record<string, string>): void;\n}\n\nexport class IconsRegistry extends BaseValidatedClass implements IconsRegistryMap {\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS: (keyof IconsRegistryMap)[] = ['registerIconsSvg'];\n\n  constructor() {\n    super(IconsRegistry.REQUIRED_METHODS, IconsRegistry);\n  }\n\n  public registerIconsSvg(_iconsMap: Record<string, string>): void {\n    throw new Error('Method registerIconsSvg() must be implemented by the subclass');\n  }\n}\n","export class ModificationDescription {\n  private key: string;\n  private params!: Record<string, any>;\n\n  constructor(key: string) {\n    this.key = key;\n  }\n\n  withParams(params: Record<string, any>): ModificationDescription {\n    this.params = params;\n    return this;\n  }\n\n  getValue(): {key: string; params: Record<string, any>} {\n    return {\n      key: this.key,\n      params: this.params,\n    };\n  }\n}\n","import {UIElementApi} from '../api/UIElementApi';\nimport {BaseValidatedClass} from '../BaseValidatedClass';\n\nexport class UIElement extends BaseValidatedClass {\n  /** Provides access to editor functionalities specific to this UI element instance. */\n  api!: UIElementApi;\n\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS = ['onRender', 'getId', 'getTemplate'];\n\n  constructor() {\n    super(UIElement.REQUIRED_METHODS, UIElement);\n  }\n\n  /**\n   * Called when the UI element should render its content into the provided container.\n   * @param container - The HTMLElement where the UI element should be rendered.\n   */\n  public onRender(_container: HTMLElement): void {\n    throw new Error('Method onRender() must be implemented by the subclass');\n  }\n\n  /**\n   * Optional cleanup hook called when the UI element is being destroyed.\n   * Use this to remove event listeners or perform other cleanup tasks.\n   */\n  onDestroy(): void {}\n\n  /**\n   * Optional method to get the current value of the UI element.\n   * Implement this if the element manages a state or value (e.g., input fields).\n   * @returns The current value of the element.\n   */\n  getValue(): any {};\n\n  /**\n   * Optional method to set the value of the UI element.\n   * Implement this if the element manages a state or value and needs to be updated externally.\n   * @param value - The new value to set.\n   */\n  setValue(_value: any): void {};\n\n  /**\n   * @description Optional hook called when one of the element's supported attributes ({@link UEAttr}) gets updated externally.\n   * Implement this to react to attribute changes (e.g., visibility, disabled state).\n   * @param name - The name of the attribute that was updated.\n   * @param value - The new value of the attribute.\n   */\n  onAttributeUpdated(_name: string, _value: unknown): void {};\n\n  /**\n   * Gets the unique identifier for this UI element type.\n   * This ID is used for registration and referencing within controls.\n   * @returns A unique string ID.\n   */\n  public getId(): string {\n    throw new Error('Method getId() must be implemented by the subclass');\n  }\n\n  /**\n   * Gets the HTML template string that defines the structure of this UI element.\n   * @returns An HTML string.\n   */\n  public getTemplate(): string {\n    throw new Error('Method getTemplate() must be implemented by the subclass');\n  }\n}\n","import {BaseValidatedClass} from '../BaseValidatedClass';\n\nexport class UIElementTagRegistry extends BaseValidatedClass {\n  /** List of methods that must be implemented by subclasses */\n  private static readonly REQUIRED_METHODS = ['registerUiElements'];\n\n  constructor() {\n    super(UIElementTagRegistry.REQUIRED_METHODS, UIElementTagRegistry);\n  }\n\n  public registerUiElements(_uiElementsTagsMap: Record<string, string>): void {\n    throw new Error('Method registerUiElements() must be implemented by the subclass');\n  }\n}\n"],"mappings":"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","names":["BlockCompositionType","AiAssistantValueType","BlockName","BlockSelector","BlockType","GeneralControls","BannerControls","BannerChildControls","ButtonControls","TextControls","AmpFormControls","VideoControls","TimerControls","SpacerControls","ImageControls","HTMLControls","CustomLinkControls","CustomImageControls","CustomTextControls","SocialControls","MenuControls","AccordionControls","CarouselControls","StripeControls","StructureControls","ContainerControls","MessageSettingsControls","GeneralStylesControls","ContextActionType","EditorStatePropertyType","OrderableItemIconPosition","PanelPosition","PopoverSide","ExtensionPopoverType","PreviewDeviceMode","SettingsTab","ThemeMode","buttonAttributes","UIElementType"]}