var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { Component, Element, Prop, Watch, Event, State } from '@stencil/core';
import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, methodPlaceholder, } from 'vega-slimmer/core';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
import { sanitizeVegaComponent } from '../../utils/component';
import { VegaRichTextEditorRenderer } from './slimmers/renderers/vega-rich-text-editor-renderer';
import { ToolbarRenderer } from './slimmers/renderers/toolbar-renderer';
import { BoldToolbarButtonSlimmer } from './slimmers/renderers/tools/bold-toolbar-button-slimmer';
import { ItalicToolbarButtonSlimmer } from './slimmers/renderers/tools/italic-toolbar-button-slimmer';
import { UnderlineToolbarButtonSlimmer } from './slimmers/renderers/tools/underline-toolbar-button-slimmer';
import { TextStylesToolbarButtonSlimmer } from './slimmers/renderers/tools/text-styles-toolbar-button-slimmer';
import { ClearStyleToolbarButtonSlimmer } from './slimmers/renderers/tools/clear-style-toolbar-button-slimmer';
import { CodeToolbarButtonSlimmer } from './slimmers/renderers/tools/code-toolbar-button-slimmer';
import { StrikethroughToolbarButtonSlimmer } from './slimmers/renderers/tools/strikethrough-toolbar-button-slimmer';
import { LinkToolbarButtonSlimmer } from './slimmers/renderers/tools/link-toolbar-button-slimmer';
import { MoreIndentToolbarButtonSlimmer } from './slimmers/renderers/tools/more-indent-toolbar-button-slimmer';
import { LessIndentToolbarButtonSlimmer } from './slimmers/renderers/tools/less-indent-toolbar-button-slimmer';
import { ImageToolbarButtonSlimmer } from './slimmers/renderers/tools/image-toolbar-button-slimmer';
import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
import { VegaChange, VegaImageInserted, VegaSourceCodeChange, } from '../../helpers/event-manager/event-id/vega-event-id';
import { TextColorToolbarButtonSlimmer } from './slimmers/renderers/tools/text-color-toolbar-button-slimmer';
import { createSubStateNotifySlimmer } from '../../helpers/slimmers/sub-state/sub-state-notify-slimmer';
import { BulletsNumbersToolbarButtonSlimmer } from './slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer';
import { HorizontalAlignmentToolbarButtonSlimmer } from './slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer';
import { SelectionController } from './slimmers/controllers/selection-controller';
import { ValueController } from './slimmers/controllers/value-controller';
import { VegaRTEContent } from './dto/content-state';
import { DarkModeStateControllerSlimmer } from '../../helpers/slimmers/dark-mode-state-controller-slimmer';
import { RichTextContentController } from './slimmers/controllers/rich-text-content-controller';
import { UserInputController } from './slimmers/controllers/user-input-controller';
import { RichTextEditorRequiredRule } from '../../helpers/validator/rules/rich-text-editor-required-rule';
import { InsertImageController } from './slimmers/controllers/insert-image-controller';
import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
import { FocusController } from './slimmers/controllers/focus-controller';
import { InsertCompositionTextController } from './slimmers/controllers/insert-composition-text-controller';
import { DeleteSelectedNodesController } from './slimmers/controllers/delete-selected-nodes-controller';
import { TranslationSlimmer } from '../../helpers/slimmers/translation';
import { VegaInternalThemeManager } from '../../helpers/theme/internal-theme-manager';
import { HistoryController } from './slimmers/controllers/history-controller';
import { CodeBlockToolbarButtonSlimmer } from './slimmers/renderers/tools/code-block-toolbar-button-slimmer';
import { InternalCodeBlockSelectionController } from './slimmers/controllers/internal-code-block-selection-controller';
import { SourceEditToolbarButtonSlimmer } from './slimmers/renderers/tools/source-edit-toolbar-button-slimmer';
import { RTEExtensionController } from './slimmers/controllers/extension-controller';
import { VegaRTEPresetToolbarItems } from './constants/constant';
import { VegaRichTextEditorSourceViewRenderer } from './slimmers/renderers/vega-rich-text-editor-source-view-renderer';
/**
 * @vegaVersion 2.34.0
 */
export class VegaRichTextEditor {
  constructor() {
    this.globalSlimmers = {};
    this.translationSlimmer = new TranslationSlimmer();
    this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
    this.formFieldController = new FormFieldControllerSlimmer({
      propertyRules: [
        {
          propertyName: 'required',
          ruleFactory: (isRequired) => isRequired ? new RichTextEditorRequiredRule() : null,
        },
      ],
      validationRulesName: 'validationRules',
      defaultValue: null,
      attributeGetter: (propertyName) => this[propertyName],
      inputContainerGetter: () => this.vegaRichTextEditorRenderer.getRichTextContainerRef(),
      touchableAreaGetter: () => [this.vegaRichTextEditorRenderer.getRichTextContentRef()],
    });
    this.changeEventEmitter = createEventEmitSlimmer(VegaRichTextEditor, VegaChange);
    this.vegaRichTextEditorRenderer = new VegaRichTextEditorRenderer();
    this.valueController = new ValueController();
    this.selectionController = new SelectionController();
    this.focusController = new FocusController();
    this.darkModeStateControllerSlimmer = new DarkModeStateControllerSlimmer();
    this.toolbarRenderer = new ToolbarRenderer();
    this.clearStyleToolbarButtonSlimmer = new ClearStyleToolbarButtonSlimmer();
    this.boldToolbarButtonSlimmer = new BoldToolbarButtonSlimmer();
    this.italicToolbarButtonSlimmer = new ItalicToolbarButtonSlimmer();
    this.underlineToolbarButtonSlimmer = new UnderlineToolbarButtonSlimmer();
    this.textColorToolbarButtonSlimmer = new TextColorToolbarButtonSlimmer();
    this.textStylesToolbarButtonSlimmer = new TextStylesToolbarButtonSlimmer();
    this.codeToolbarButtonSlimmer = new CodeToolbarButtonSlimmer();
    this.strikethroughToolbarButtonSlimmer = new StrikethroughToolbarButtonSlimmer();
    this.imageToolbarButtonSlimmer = new ImageToolbarButtonSlimmer();
    this.linkToolbarButtonSlimmer = new LinkToolbarButtonSlimmer();
    this.moreIndentToolbarButtonSlimmer = new MoreIndentToolbarButtonSlimmer();
    this.lessIndentToolbarButtonSlimmer = new LessIndentToolbarButtonSlimmer();
    this.bulletsNumbersToolbarButtonSlimmer = new BulletsNumbersToolbarButtonSlimmer();
    this.horizontalAlignmentToolbarButtonSlimmer = new HorizontalAlignmentToolbarButtonSlimmer();
    this.codeBlockToolbarButtonSlimmer = new CodeBlockToolbarButtonSlimmer();
    this.sourceEditToolbarButtonSlimmer = new SourceEditToolbarButtonSlimmer();
    this.placeholderNotifySlimmer = createSubStateNotifySlimmer(VegaRichTextEditor, 'placeholder', 'watchPlaceholder');
    this.disabledNotifySlimmer = createSubStateNotifySlimmer(VegaRichTextEditor, 'richTextContentEditable', 'watchRichTextContentEditable');
    this.richTextContentController = new RichTextContentController(this);
    this.userInputController = new UserInputController();
    this.insertImageController = new InsertImageController();
    this.insertCompositionTextController = new InsertCompositionTextController();
    this.imageInsertedEventEmitter = createEventEmitSlimmer(VegaRichTextEditor, VegaImageInserted);
    this.changeEventPreventSlimmer = new ChildNodesEventPreventSlimmer([VegaChange], () => this.vegaRichTextEditorRenderer.getRichTextWrapperRef());
    this.deleteSelectedNodesController = new DeleteSelectedNodesController();
    this.historyController = new HistoryController();
    this.internalCodeBlockSelectionController = new InternalCodeBlockSelectionController();
    this.rteExtensionController = new RTEExtensionController();
    this.sourceCodeChangeEventEmitter = createEventEmitSlimmer(VegaRichTextEditor, VegaSourceCodeChange);
    this.richTextEditorSourceViewRenderer = new VegaRichTextEditorSourceViewRenderer();
    this.richTextContentEditable = true;
    this.selectionMap = new Map();
    this.isInDarkMode = VegaInternalThemeManager.isDarkMode();
    this.sourceView = false;
    /**
     * Specifies the label for the rich text editor.
     *
     * It provides descriptive text that helps identify the
     *    purpose or content expected in the rich text editor.
     *
     * @vegaVersion 2.34.0
     */
    this.label = '';
    /**
     * Determines whether the rich text editor field is required.
     *
     * @vegaVersion 2.34.0
     */
    this.required = false;
    /**
     * Specifies a placeholder string that displays as a
     *    temporary hint or example within the rich text editor.
     *
     * It indicates the expected format or pattern of
     *    the input within the rich text editor.
     *
     * @vegaVersion 2.34.0
     */
    this.placeholder = '';
    /**
     * Specifies whether the rich text editor is disabled.
     *
     * @vegaVersion 2.34.0
     */
    this.disabled = false;
    /**
     * Provides a supplementary prompt message that assists users in
     *    understanding the expected value within the rich text editor.
     *
     * @vegaVersion 2.34.0
     */
    this.hint = '';
    /**
     * Specifies editable section rows for the rich text editor
     *
     * @vegaVersion 2.34.0
     */
    this.rows = 4;
    /**
     * Specifies the value of the rich text editor, which can be either VegaRTEContent or VegaRTEContentBlock.
     * It is recommended to use the VegaRTEContent type.
     * Only in exceptional cases should the original data in the VegaRTEContentBlock type be used.
     *
     * @vegaVersion 2.34.0
     * @defaultValue [{id:'UUID', type:'paragraph', nodes:[{id: 'UUID',type: 'text',text:''}]}]
     */
    // eslint-disable-next-line @stencil/strict-mutable
    this.value = VegaRTEContent.createEmptyContent();
    /**
     * Specifies the built-in toolbar items available in the rich-text editor.
     *
     * @vegaVersion 2.34.0
     */
    this.toolbarItems = VegaRTEPresetToolbarItems;
    /**
     * Determines whether to allow source edit mode in the rich text editor.
     *
     * @vegaVersion 2.59.0
     */
    this.allowSourceEdit = false;
    /**
     * Specifies the configuration options for source edit mode.
     * It includes settings such as autoMatchFormat, which controls whether the editor automatically matches formatting when switching to source edit mode.
     *
     * @vegaVersion 2.59.0
     */
    this.sourceEditConfig = { autoMatchFormat: true };
    /**
     * Specifies the validation status of the rich text editor component.
     *
     * @vegaVersion 2.34.0
     */
    /* eslint-disable-next-line @stencil/strict-mutable */
    this.isValid = null;
    /**
     * Determines whether automatic validation should be implemented for
     * the rich text editor.
     *
     * @vegaVersion 2.34.0
     */
    this.autoValidation = true;
    /**
     * Defines custom validation rules for the rich text editor.
     *
     * @vegaVersion 2.34.0
     */
    this.validationRules = [];
    /**
     * Specifies which text style items appear in the Text Styles toolbar dropdown.
     *
     * Use this to control which heading levels and text styles are available to users.
     * For example, omit `{ key: 'heading-1' }` to prevent users from applying H1
     * (which is typically reserved for the page title).
     *
     * Items are displayed in a fixed internal order regardless of the order in this array.
     *
     * @vegaVersion __VEGA_VERSION__
     * @defaultValue [{ key: 'title' }, { key: 'subtitle' }, { key: 'heading-1' }, { key: 'heading-2' }, { key: 'heading-3' }, { key: 'paragraph' }]
     */
    this.textStyleItems = [
      { key: 'title' },
      { key: 'subtitle' },
      { key: 'heading-1' },
      { key: 'heading-2' },
      { key: 'heading-3' },
      { key: 'paragraph' },
    ];
    /**
     * Specifies the configuration for the rich text editor extensions.
     *
     * @vegaVersion 2.62.0
     */
    this.extensions = [];
  }
  watchRichTextContentEditable() {
    methodPlaceholder();
  }
  watchPlaceholder() {
    methodPlaceholder();
  }
  watchDisabled() {
    this.richTextContentController.syncRichTextContentEditable();
  }
  watchValueUpdate() {
    methodPlaceholder();
  }
  watchValidationRules() {
    methodPlaceholder();
  }
  watchExtensions() {
    methodPlaceholder();
  }
  componentWillLoad() {
    this.richTextContentController.syncRichTextContentEditable();
  }
  render() {
    return sanitizeVegaComponent(this.vegaRichTextEditorRenderer.render(), this.host);
  }
  static get is() { return "vega-rich-text-editor"; }
  static get encapsulation() { return "shadow"; }
  static get originalStyleUrls() { return {
    "$": ["vega-rich-text-editor.scss"]
  }; }
  static get styleUrls() { return {
    "$": ["vega-rich-text-editor.css"]
  }; }
  static get properties() { return {
    "label": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "Specifies the label for the rich text editor.\n\nIt provides descriptive text that helps identify the\n   purpose or content expected in the rich text editor."
      },
      "attribute": "label",
      "reflect": false,
      "defaultValue": "''"
    },
    "required": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "Determines whether the rich text editor field is required."
      },
      "attribute": "required",
      "reflect": true,
      "defaultValue": "false"
    },
    "placeholder": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "Specifies a placeholder string that displays as a\n   temporary hint or example within the rich text editor.\n\nIt indicates the expected format or pattern of\n   the input within the rich text editor."
      },
      "attribute": "placeholder",
      "reflect": false,
      "defaultValue": "''"
    },
    "disabled": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "Specifies whether the rich text editor is disabled."
      },
      "attribute": "disabled",
      "reflect": false,
      "defaultValue": "false"
    },
    "hint": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "Provides a supplementary prompt message that assists users in\n   understanding the expected value within the rich text editor."
      },
      "attribute": "hint",
      "reflect": false,
      "defaultValue": "''"
    },
    "rows": {
      "type": "number",
      "mutable": false,
      "complexType": {
        "original": "number",
        "resolved": "number",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "Specifies editable section rows for the rich text editor"
      },
      "attribute": "rows",
      "reflect": false,
      "defaultValue": "4"
    },
    "value": {
      "type": "unknown",
      "mutable": true,
      "complexType": {
        "original": "VegaRTEContent",
        "resolved": "VegaRTEContent",
        "references": {
          "VegaRTEContent": {
            "location": "import",
            "path": "./dto/content-state"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }, {
            "name": "defaultValue",
            "text": "[{id:'UUID', type:'paragraph', nodes:[{id: 'UUID',type: 'text',text:''}]}]"
          }],
        "text": "Specifies the value of the rich text editor, which can be either VegaRTEContent or VegaRTEContentBlock.\nIt is recommended to use the VegaRTEContent type.\nOnly in exceptional cases should the original data in the VegaRTEContentBlock type be used."
      },
      "defaultValue": "VegaRTEContent.createEmptyContent()"
    },
    "toolbarItems": {
      "type": "unknown",
      "mutable": false,
      "complexType": {
        "original": "VegaRTEToolbarItem[][]",
        "resolved": "string[][]",
        "references": {
          "VegaRTEToolbarItem": {
            "location": "import",
            "path": "./interface"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "Specifies the built-in toolbar items available in the rich-text editor."
      },
      "defaultValue": "VegaRTEPresetToolbarItems"
    },
    "allowSourceEdit": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.59.0"
          }],
        "text": "Determines whether to allow source edit mode in the rich text editor."
      },
      "attribute": "allow-source-edit",
      "reflect": false,
      "defaultValue": "false"
    },
    "sourceEditConfig": {
      "type": "unknown",
      "mutable": false,
      "complexType": {
        "original": "VegaRTESourceEditConfig",
        "resolved": "{ autoMatchFormat?: boolean; filterInlineStyles?: boolean; }",
        "references": {
          "VegaRTESourceEditConfig": {
            "location": "import",
            "path": "./interface"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.59.0"
          }],
        "text": "Specifies the configuration options for source edit mode.\nIt includes settings such as autoMatchFormat, which controls whether the editor automatically matches formatting when switching to source edit mode."
      },
      "defaultValue": "{ autoMatchFormat: true }"
    },
    "isValid": {
      "type": "boolean",
      "mutable": true,
      "complexType": {
        "original": "boolean | null",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "Specifies the validation status of the rich text editor component."
      },
      "attribute": "is-valid",
      "reflect": true,
      "defaultValue": "null"
    },
    "autoValidation": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "Determines whether automatic validation should be implemented for\nthe rich text editor."
      },
      "attribute": "auto-validation",
      "reflect": true,
      "defaultValue": "true"
    },
    "validationRules": {
      "type": "unknown",
      "mutable": false,
      "complexType": {
        "original": "FormFieldValidationRule<unknown>[]",
        "resolved": "FormFieldValidationRule<unknown>[]",
        "references": {
          "FormFieldValidationRule": {
            "location": "import",
            "path": "../../helpers/validator/rules/form-field-validation-rule"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "Defines custom validation rules for the rich text editor."
      },
      "defaultValue": "[]"
    },
    "textStyleItems": {
      "type": "unknown",
      "mutable": false,
      "complexType": {
        "original": "VegaRTETextStyleItem[]",
        "resolved": "VegaRTETextStyleItem[]",
        "references": {
          "VegaRTETextStyleItem": {
            "location": "import",
            "path": "./interface"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "__VEGA_VERSION__"
          }, {
            "name": "defaultValue",
            "text": "[{ key: 'title' }, { key: 'subtitle' }, { key: 'heading-1' }, { key: 'heading-2' }, { key: 'heading-3' }, { key: 'paragraph' }]"
          }],
        "text": "Specifies which text style items appear in the Text Styles toolbar dropdown.\n\nUse this to control which heading levels and text styles are available to users.\nFor example, omit `{ key: 'heading-1' }` to prevent users from applying H1\n(which is typically reserved for the page title).\n\nItems are displayed in a fixed internal order regardless of the order in this array."
      },
      "defaultValue": "[\n\t\t{ key: 'title' },\n\t\t{ key: 'subtitle' },\n\t\t{ key: 'heading-1' },\n\t\t{ key: 'heading-2' },\n\t\t{ key: 'heading-3' },\n\t\t{ key: 'paragraph' },\n\t]"
    },
    "extensions": {
      "type": "unknown",
      "mutable": false,
      "complexType": {
        "original": "VegaRTEExtension[]",
        "resolved": "VegaRTEExtension[]",
        "references": {
          "VegaRTEExtension": {
            "location": "import",
            "path": "./extensions/extension.abstract"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.62.0"
          }],
        "text": "Specifies the configuration for the rich text editor extensions."
      },
      "defaultValue": "[]"
    }
  }; }
  static get states() { return {
    "richTextContentEditable": {},
    "selectionMap": {},
    "isInDarkMode": {},
    "sourceView": {}
  }; }
  static get events() { return [{
      "method": "vegaChange",
      "name": "vegaChange",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "An event emitter notifying a value change."
      },
      "complexType": {
        "original": "VegaRTEContent",
        "resolved": "VegaRTEContent",
        "references": {
          "VegaRTEContent": {
            "location": "import",
            "path": "./dto/content-state"
          }
        }
      }
    }, {
      "method": "change",
      "name": "change",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "eventSemantics",
            "text": "namespace:native"
          }, {
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "An event emitter notifying a value change."
      },
      "complexType": {
        "original": "VegaRTEContent",
        "resolved": "VegaRTEContent",
        "references": {
          "VegaRTEContent": {
            "location": "import",
            "path": "./dto/content-state"
          }
        }
      }
    }, {
      "method": "vegaImageInserted",
      "name": "vegaImageInserted",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "An event emitter notifying an image insertion event."
      },
      "complexType": {
        "original": "VegaRichTextEditorImage",
        "resolved": "{ file: File; sendBackUploadedURLCallback: (url: string) => void; }",
        "references": {
          "VegaRichTextEditorImage": {
            "location": "import",
            "path": "./interface"
          }
        }
      }
    }, {
      "method": "imageInserted",
      "name": "imageInserted",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "eventSemantics",
            "text": "namespace:native"
          }, {
            "name": "vegaVersion",
            "text": "2.34.0"
          }],
        "text": "An event emitter notifying an image insertion event."
      },
      "complexType": {
        "original": "VegaRichTextEditorImage",
        "resolved": "{ file: File; sendBackUploadedURLCallback: (url: string) => void; }",
        "references": {
          "VegaRichTextEditorImage": {
            "location": "import",
            "path": "./interface"
          }
        }
      }
    }, {
      "method": "vegaSourceCodeChange",
      "name": "vegaSourceCodeChange",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.78.0"
          }],
        "text": "An event emitter notifying a source code change event. It triggers when the editor loses focus in source edit mode."
      },
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      }
    }, {
      "method": "sourceCodeChange",
      "name": "sourceCodeChange",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "eventSemantics",
            "text": "namespace:native"
          }, {
            "name": "vegaVersion",
            "text": "2.78.0"
          }],
        "text": "An event emitter notifying a source code change event. It triggers when the editor loses focus in source edit mode."
      },
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      }
    }]; }
  static get elementRef() { return "host"; }
  static get watchers() { return [{
      "propName": "richTextContentEditable",
      "methodName": "watchRichTextContentEditable"
    }, {
      "propName": "placeholder",
      "methodName": "watchPlaceholder"
    }, {
      "propName": "disabled",
      "methodName": "watchDisabled"
    }, {
      "propName": "value",
      "methodName": "watchValueUpdate"
    }, {
      "propName": "validationRules",
      "methodName": "watchValidationRules"
    }, {
      "propName": "extensions",
      "methodName": "watchExtensions"
    }]; }
}
__decorate([
  InjectVegaGlobalSlimmer()
], VegaRichTextEditor.prototype, "globalSlimmers", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "translationSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "formFieldController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "changeEventEmitter", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "vegaRichTextEditorRenderer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "valueController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "selectionController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "focusController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "darkModeStateControllerSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "toolbarRenderer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "clearStyleToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "boldToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "italicToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "underlineToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "textColorToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "textStylesToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "codeToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "strikethroughToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "imageToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "linkToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "moreIndentToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "lessIndentToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "bulletsNumbersToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "horizontalAlignmentToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "codeBlockToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "sourceEditToolbarButtonSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "placeholderNotifySlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "disabledNotifySlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "richTextContentController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "userInputController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "insertImageController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "insertCompositionTextController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "imageInsertedEventEmitter", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "changeEventPreventSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "deleteSelectedNodesController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "historyController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "internalCodeBlockSelectionController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "rteExtensionController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "sourceCodeChangeEventEmitter", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaRichTextEditor.prototype, "richTextEditorSourceViewRenderer", void 0);
