{"version":3,"file":"lexical-angular.mjs","sources":["../../../../packages/lexical-angular/src/lib/lexical.controller.ts","../../../../packages/lexical-angular/src/lib/lexical-composer.directive.ts","../../../../packages/lexical-angular/src/lib/plugins/autofocus/autofocus.directive.ts","../../../../packages/lexical-angular/src/lib/plugins/autofocus/autofocus.module.ts","../../../../packages/lexical-angular/src/lib/plugins/content-editable/content-editable.directive.ts","../../../../packages/lexical-angular/src/lib/plugins/content-editable/content-editable.module.ts","../../../../packages/lexical-angular/src/lib/plugins/on-change/on-change.directive.ts","../../../../packages/lexical-angular/src/lib/plugins/on-change/on-change.module.ts","../../../../packages/lexical-angular/src/lib/plugins/placeholder/placeholder.directive.ts","../../../../packages/lexical-angular/src/lib/plugins/placeholder/placeholder.module.ts","../../../../packages/lexical-angular/src/lib/plugins/plain-text/plain-text.component.ts","../../../../packages/lexical-angular/src/lib/plugins/plain-text/plain-text.module.ts","../../../../packages/lexical-angular/src/lib/plugins/rich-text/rich-text.component.ts","../../../../packages/lexical-angular/src/lib/plugins/rich-text/rich-text.module.ts","../../../../packages/lexical-angular/src/lib/plugins/link/toggle-link.ts","../../../../packages/lexical-angular/src/lib/plugins/link/link.directive.ts","../../../../packages/lexical-angular/src/lib/plugins/link/link.module.ts","../../../../packages/lexical-angular/src/lib/plugins/clear/clear-editor.directive.ts","../../../../packages/lexical-angular/src/lib/plugins/clear/clear-editor.module.ts","../../../../packages/lexical-angular/src/lib/plugins/history/history.directive.ts","../../../../packages/lexical-angular/src/lib/plugins/history/history.module.ts","../../../../packages/lexical-angular/src/lib/plugins/control-value-accessor/control-value-accessor.directive.ts","../../../../packages/lexical-angular/src/lib/plugins/control-value-accessor/control-value-accessor.module.ts","../../../../packages/lexical-angular/src/lib/lexical.module.ts","../../../../packages/lexical-angular/src/lexical-angular.ts"],"sourcesContent":["import {Injectable, OnDestroy} from '@angular/core';\nimport {\n  CommandListener,\n  CommandListenerPriority,\n  LexicalCommand,\n  LexicalEditor,\n  UpdateListener,\n} from 'lexical';\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {LexicalComposerDirective} from './lexical-composer.directive';\n\n@Injectable()\nexport class LexicalController implements OnDestroy {\n  readonly destroy$ = new ReplaySubject<void>(1);\n\n  get editor(): LexicalEditor {\n    const {editor} = this.lexical;\n    // prettier-ignore\n    if (!editor) throw new Error('Cannot access Lexical instance before initialization');\n    return editor;\n  }\n\n  constructor(private readonly lexical: LexicalComposerDirective) {}\n\n  readonly readOnly$ = new Observable<boolean>(observer =>\n    this.editor.registerReadOnlyListener(readOnly => observer.next(readOnly))\n  );\n\n  readonly onUpdate$ = new Observable<Parameters<UpdateListener>[0]>(observer =>\n    this.editor.registerUpdateListener(listener => observer.next(listener))\n  );\n\n  registerCommand<P>(\n    command: LexicalCommand<P>,\n    listener: CommandListener<P>,\n    priority: CommandListenerPriority\n  ): Observable<Parameters<CommandListener<P>>> {\n    return new Observable<Parameters<CommandListener<P>>>(observer => {\n      return this.editor.registerCommand<P>(\n        command,\n        (...args) => {\n          observer.next(args);\n          return listener(...args);\n        },\n        priority\n      );\n    });\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","import {Directive, Input, OnInit} from '@angular/core';\nimport {createEditor, LexicalEditor} from 'lexical';\nimport {LexicalController} from './lexical.controller';\n\nexport type LexicalComposerConfig = Parameters<typeof createEditor>[0];\n\n@Directive({\n  selector: '[lexicalComposer]',\n  providers: [LexicalController],\n})\nexport class LexicalComposerDirective implements OnInit {\n  @Input()\n  lexicalInitialConfig?: LexicalComposerConfig;\n\n  editor: LexicalEditor | null = null;\n\n  ngOnInit(): void {\n    this.initEditor();\n  }\n\n  private initEditor(): void {\n    this.editor = createEditor(this.lexicalInitialConfig);\n    const isReadOnly = this.lexicalInitialConfig?.readOnly ?? false;\n    this.editor.setReadOnly(isReadOnly);\n  }\n}\n","import {Directive, Input, OnInit} from '@angular/core';\r\nimport {LexicalController} from '../../lexical.controller';\r\n\r\n@Directive({selector: '[lexicalAutofocus]'})\r\nexport class LexicalAutofocusDirective implements OnInit {\r\n  @Input('lexicalAutofocus')\r\n  autofocus: boolean = true;\r\n\r\n  constructor(private readonly controller: LexicalController) {}\r\n\r\n  ngOnInit(): void {\r\n    if (this.autofocus) {\r\n      this.controller.editor.focus();\r\n    }\r\n  }\r\n}\r\n","import {LexicalAutofocusDirective} from './autofocus.directive';\r\nimport {NgModule} from '@angular/core';\r\n\r\n@NgModule({\r\n  exports: [LexicalAutofocusDirective],\r\n  declarations: [LexicalAutofocusDirective],\r\n})\r\nexport class LexicalAutofocusPluginModule {}\r\n","import {\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  HostBinding,\n  Inject,\n  Input,\n  OnDestroy,\n  OnInit,\n} from '@angular/core';\nimport {LexicalController} from '../../lexical.controller';\nimport {startWith, Subject, takeUntil} from 'rxjs';\n\n@Directive({selector: 'div[lexicalContentEditable]'})\nexport class LexicalContentEditableDirective implements OnInit, OnDestroy {\n  @Input()\n  ariaActiveDescendantId?: string;\n\n  @Input()\n  ariaAutoComplete?: boolean;\n\n  @Input()\n  ariaControls?: string | null;\n\n  @HostBinding('attr.aria-describedBy')\n  @Input()\n  ariaDescribedBy?: string | null;\n\n  @Input()\n  ariaExpanded?: boolean;\n\n  @HostBinding('attr.aria-label')\n  @Input()\n  ariaLabel?: string | null = null;\n\n  @HostBinding('attr.aria-labelledBy')\n  @Input()\n  ariaLabelledBy?: string;\n\n  @HostBinding('attr.aria-multiline')\n  @Input()\n  ariaMultiline?: boolean;\n\n  @Input()\n  ariaOwneeID?: string | null = null;\n\n  @HostBinding('attr.aria-required')\n  @Input()\n  ariaRequired?: string | null = null;\n\n  @HostBinding('attr.autocapitalize')\n  @Input()\n  autoCapitalize?: boolean = false;\n\n  @HostBinding('attr.autocomplete')\n  @Input()\n  autoComplete?: boolean = false;\n\n  @HostBinding('attr.autocorrect')\n  @Input()\n  autoCorrect?: boolean = false;\n\n  @HostBinding('attr.id')\n  @Input()\n  id?: string | null = null;\n\n  @Input()\n  readOnly?: boolean = false;\n\n  @Input()\n  role?: string = 'textbox';\n\n  @HostBinding('attr.spellcheck')\n  @Input()\n  spellCheck?: boolean = true;\n\n  @HostBinding('attr.tabindex')\n  @Input()\n  tabIndex?: number;\n\n  @HostBinding('attr.data-testid')\n  @Input()\n  testId?: string;\n\n  @HostBinding('attr.aria-activedescendant')\n  get computedActiveDescendant() {\n    return this.computedReadOnly ? null : this.ariaActiveDescendantId;\n  }\n\n  @HostBinding('attr.aria-autocomplete')\n  get computedAriaAutoComplete() {\n    return this.computedReadOnly ? null : this.ariaAutoComplete;\n  }\n\n  @HostBinding('attr.aria-controls')\n  get computedAriaControls() {\n    return this.computedReadOnly ? null : this.ariaControls;\n  }\n\n  @HostBinding('attr.aria-expanded')\n  get computedAriaExpanded() {\n    if (this.computedReadOnly) return null;\n    if (this.role === 'combobox') return this.ariaExpanded;\n    return null;\n  }\n\n  @HostBinding('attr.aria-owns')\n  get computedAriaOwns() {\n    if (this.computedReadOnly) return null;\n    return this.ariaOwneeID;\n  }\n\n  @HostBinding('attr.role')\n  get computedAriaRole() {\n    if (this.computedReadOnly) return null;\n    return this.role;\n  }\n\n  @HostBinding('attr.contentEditable')\n  get computedContentEditable() {\n    return !this.computedReadOnly;\n  }\n\n  private readonly destroy$ = new Subject<void>();\n\n  computedReadOnly: boolean = true;\n\n  constructor(\n    private readonly controller: LexicalController,\n    @Inject(ElementRef)\n    private readonly elementRef: ElementRef<HTMLDivElement>,\n    @Inject(ChangeDetectorRef)\n    private readonly changeDetectorRef: ChangeDetectorRef\n  ) {}\n\n  ngOnInit(): void {\n    this.controller.editor.setRootElement(this.elementRef.nativeElement);\n\n    this.controller.readOnly$\n      .pipe(\n        startWith(this.controller.editor.isReadOnly()),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(readOnly => {\n        this.computedReadOnly = readOnly;\n        this.changeDetectorRef.markForCheck();\n      });\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","import {LexicalContentEditableDirective} from './content-editable.directive';\r\nimport {NgModule} from '@angular/core';\r\n\r\n@NgModule({\r\n  exports: [LexicalContentEditableDirective],\r\n  declarations: [LexicalContentEditableDirective],\r\n})\r\nexport class LexicalContentEditablePluginModule {}\r\n","import {\n  Directive,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n} from '@angular/core';\nimport {LexicalController} from '../../lexical.controller';\nimport {EditorState} from 'lexical';\nimport {Unsubscribable} from 'rxjs';\n\n@Directive({selector: '[lexicalComposer][lexicalChangeEvent]'})\nexport class LexicalOnChangeDirective implements OnInit, OnDestroy {\n  @Input()\n  ignoreInitialChange: boolean = true;\n\n  @Input()\n  ignoreSelectionChange: boolean = false;\n\n  @Output()\n  lexicalChangeEvent = new EventEmitter<EditorState>();\n\n  listener: Unsubscribable | null = null;\n\n  constructor(private readonly controller: LexicalController) {}\n\n  ngOnInit(): void {\n    this.listener = {\n      unsubscribe: this.controller.editor.registerUpdateListener(\n        ({editorState, dirtyElements, dirtyLeaves, prevEditorState}) => {\n          if (\n            this.ignoreSelectionChange &&\n            dirtyElements.size === 0 &&\n            dirtyLeaves.size === 0\n          ) {\n            return;\n          }\n\n          if (this.ignoreInitialChange && prevEditorState.isEmpty()) {\n            return;\n          }\n\n          this.lexicalChangeEvent.emit(editorState);\n        }\n      ),\n    };\n  }\n\n  ngOnDestroy() {\n    this.listener?.unsubscribe();\n  }\n}\n","import {LexicalOnChangeDirective} from './on-change.directive';\r\nimport {NgModule} from '@angular/core';\r\n\r\n@NgModule({\r\n  exports: [LexicalOnChangeDirective],\r\n  declarations: [LexicalOnChangeDirective],\r\n})\r\nexport class LexicalOnChangePluginModule {}\r\n","import {\n  Directive,\n  Inject,\n  OnDestroy,\n  OnInit,\n  TemplateRef,\n  ViewContainerRef,\n} from '@angular/core';\nimport {LexicalController} from '../../lexical.controller';\nimport {\n  defer,\n  distinctUntilChanged,\n  map,\n  startWith,\n  Subject,\n  takeUntil,\n} from 'rxjs';\nimport {$canShowPlaceholderCurry} from '@lexical/text';\nimport {EditorState, LexicalEditor} from 'lexical';\n\n@Directive({selector: '[lexicalPlaceholder]'})\nexport class LexicalPlaceholderDirective implements OnInit, OnDestroy {\n  private readonly destroy$ = new Subject<void>();\n\n  constructor(\n    private readonly controller: LexicalController,\n    @Inject(TemplateRef)\n    private readonly templateRef: TemplateRef<unknown>,\n    @Inject(ViewContainerRef)\n    private readonly viewContainerRef: ViewContainerRef\n  ) {}\n\n  ngOnInit(): void {\n    const {editor, onUpdate$} = this.controller;\n\n    onUpdate$\n      .pipe(\n        map(({editorState}) => this.canShowPlaceholder(editor, editorState)),\n        startWith(this.canShowPlaceholder(editor)),\n        distinctUntilChanged(),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(show => {\n        if (!show) {\n          this.viewContainerRef.clear();\n        } else {\n          this.viewContainerRef.createEmbeddedView(this.templateRef);\n        }\n      });\n  }\n\n  private canShowPlaceholder(\n    editor: LexicalEditor,\n    editorState?: EditorState\n  ): boolean {\n    const computedEditorState = editorState ?? editor.getEditorState();\n    return computedEditorState.read(\n      $canShowPlaceholderCurry(editor.isComposing())\n    );\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","import {LexicalPlaceholderDirective} from './placeholder.directive';\r\nimport {NgModule} from '@angular/core';\r\n\r\n@NgModule({\r\n  exports: [LexicalPlaceholderDirective],\r\n  declarations: [LexicalPlaceholderDirective],\r\n})\r\nexport class LexicalPlaceholderPluginModule {}\r\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  OnDestroy,\n  OnInit,\n} from '@angular/core';\nimport {LexicalController} from '../../lexical.controller';\nimport {EditorState} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {registerPlainText} from '@lexical/plain-text';\nimport {registerDragonSupport} from '@lexical/dragon';\nimport {Unsubscribable} from 'rxjs';\n\nexport type LexicalPlainTextInitialState =\n  | null\n  | string\n  | EditorState\n  | (() => void);\n\n@Component({\n  selector: '[lexicalPlainText]',\n  template: `\n    <ng-content select=\"[lexicalContentEditable]\"></ng-content>\n    <ng-content select=\"[lexicalPlaceholder]\"></ng-content>\n    <!-- TODO: add integration -->\n    <!-- <ng-content select=\"[lexicalDecorators]\"></ng-content>-->\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LexicalPlainTextComponent implements OnInit, OnDestroy {\n  @Input()\n  initialEditorState?: LexicalPlainTextInitialState;\n\n  listener: Unsubscribable | null = null;\n\n  constructor(private readonly controller: LexicalController) {}\n\n  ngOnInit(): void {\n    this.listener = {\n      unsubscribe: this.registerPlainText(),\n    };\n  }\n\n  private registerPlainText(): () => void {\n    return mergeRegister(\n      registerPlainText(this.controller.editor, this.initialEditorState),\n      registerDragonSupport(this.controller.editor)\n    );\n  }\n\n  ngOnDestroy(): void {\n    this.listener?.unsubscribe();\n  }\n}\n","import {LexicalPlainTextComponent} from './plain-text.component';\r\nimport {NgModule} from '@angular/core';\r\n\r\n@NgModule({\r\n  exports: [LexicalPlainTextComponent],\r\n  declarations: [LexicalPlainTextComponent],\r\n})\r\nexport class LexicalPlainTextPluginModule {}\r\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  OnDestroy,\n  OnInit,\n} from '@angular/core';\nimport {LexicalController} from '../../lexical.controller';\nimport {EditorState} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {registerDragonSupport} from '@lexical/dragon';\nimport {Unsubscribable} from 'rxjs';\nimport {registerRichText} from '@lexical/rich-text';\n\nexport type LexicalRichTextInitialState =\n  | null\n  | string\n  | EditorState\n  | (() => void);\n\n@Component({\n  selector: '[lexicalRichText]',\n  template: `\n    <ng-content></ng-content>\n    <ng-content select=\"[lexicalContentEditable]\"></ng-content>\n    <ng-content select=\"[lexicalPlaceholder]\"></ng-content>\n    <!-- TODO: add integration -->\n    <!-- <ng-content select=\"[lexicalDecorators]\"></ng-content>-->\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LexicalRichTextComponent implements OnInit, OnDestroy {\n  @Input()\n  initialEditorState?: LexicalRichTextInitialState;\n\n  listener: Unsubscribable | null = null;\n\n  constructor(private readonly controller: LexicalController) {}\n\n  ngOnInit(): void {\n    this.listener = {\n      unsubscribe: this.registerRichText(),\n    };\n  }\n\n  private registerRichText(): () => void {\n    return mergeRegister(\n      registerRichText(this.controller.editor, this.initialEditorState),\n      registerDragonSupport(this.controller.editor)\n    );\n  }\n\n  ngOnDestroy(): void {\n    this.listener?.unsubscribe();\n  }\n}\n","import {LexicalRichTextComponent} from './rich-text.component';\nimport {NgModule} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n  exports: [LexicalRichTextComponent],\n  declarations: [LexicalRichTextComponent],\n  imports: [CommonModule],\n})\nexport class LexicalRichTextPluginModule {}\n","// https://github.com/facebook/lexical/blob/4de4ca71965e8bdd8ea8677d6b51364e77718696/packages/lexical-react/src/LexicalLinkPlugin.js#L25\r\nimport {$getSelection, $isElementNode, $setSelection} from 'lexical';\r\nimport {$createLinkNode, $isLinkNode, LinkNode} from '@lexical/link';\r\n\r\nexport function toggleLink(url: string | null): void {\r\n  const selection = $getSelection();\r\n  if (selection) {\r\n    $setSelection(selection);\r\n  }\r\n  const sel = $getSelection();\r\n  if (sel) {\r\n    const nodes = sel.extract();\r\n    if (url === null) {\r\n      nodes.forEach(node => {\r\n        const parent = node.getParent();\r\n        if (parent && $isLinkNode(parent)) {\r\n          const children = parent.getChildren();\r\n          for (let i = 0; i < children.length; i++) {\r\n            parent.insertBefore(children[i]);\r\n          }\r\n          parent.remove();\r\n        }\r\n      });\r\n    } else {\r\n      if (nodes.length === 1) {\r\n        const firstNode = nodes[0];\r\n        if ($isLinkNode(firstNode)) {\r\n          // @ts-expect-error: TODO: Internal lexical types\r\n          firstNode.setURL(url);\r\n          return;\r\n        } else {\r\n          if (nodes.length === 1) {\r\n            const firstNode = nodes[0];\r\n            if ($isLinkNode(firstNode)) {\r\n              // @ts-expect-error: TODO: Internal lexical types\r\n              firstNode.setURL(url);\r\n              return;\r\n            } else {\r\n              const parent = firstNode.getParent();\r\n              if ($isLinkNode(parent)) {\r\n                // @ts-expect-error: TODO: Internal lexical types\r\n                parent.setURL(url);\r\n                return;\r\n              }\r\n            }\r\n          }\r\n        }\r\n\r\n        let prevParent: LinkNode | null = null;\r\n        let linkNode: LinkNode | null = null;\r\n        nodes.forEach(node => {\r\n          const parent = node.getParent();\r\n          if (\r\n            parent === linkNode ||\r\n            !parent ||\r\n            // @ts-expect-error: TODO: Internal lexical types\r\n            ($isElementNode(node) && !node.isInline())\r\n          ) {\r\n            return;\r\n          }\r\n          // @ts-expect-error: TODO: Internal lexical types\r\n          if (!parent.is(prevParent)) {\r\n            // @ts-expect-error: TODO: Internal lexical types\r\n            prevParent = parent;\r\n            linkNode = $createLinkNode(url);\r\n            if ($isLinkNode(parent)) {\r\n              if (node.getPreviousSibling() === null) {\r\n                // @ts-expect-error: TODO: Internal lexical types\r\n                parent.insertBefore(linkNode);\r\n              } else {\r\n                // @ts-expect-error: TODO: Internal lexical types\r\n                parent.insertAfter(linkNode);\r\n              }\r\n            } else {\r\n              // @ts-expect-error: TODO: Internal lexical types\r\n              node.insertBefore(linkNode);\r\n            }\r\n          }\r\n          if ($isLinkNode(node)) {\r\n            if (linkNode !== null) {\r\n              // @ts-expect-error: TODO: Internal lexical types\r\n              const children = node.getChildren();\r\n              for (let i = 0; i < children.length; i++) {\r\n                // @ts-expect-error: TODO: Internal lexical types\r\n                linkNode.append(children[i]);\r\n              }\r\n            }\r\n            node.remove();\r\n            return;\r\n          }\r\n          if (linkNode) {\r\n            // @ts-expect-error: TODO: Internal lexical types\r\n            linkNode.append(node);\r\n          }\r\n        });\r\n      }\r\n    }\r\n  }\r\n}\r\n","import {Directive, OnDestroy, OnInit} from '@angular/core';\nimport {LexicalController} from '../../lexical.controller';\nimport {LinkNode, TOGGLE_LINK_COMMAND} from '@lexical/link';\nimport {merge, Subject, takeUntil} from 'rxjs';\nimport {toggleLink} from './toggle-link';\nimport {COMMAND_PRIORITY_EDITOR} from 'lexical';\n\n@Directive({selector: '[lexicalComposer][lexicalLink]'})\nexport class LexicalLinkDirective implements OnInit, OnDestroy {\n  private readonly destroy$ = new Subject<void>();\n\n  constructor(private readonly controller: LexicalController) {}\n\n  ngOnInit(): void {\n    const {editor, destroy$} = this.controller;\n    if (!editor.hasNodes([LinkNode])) {\n      throw new Error('LinkPlugin: LinkNode not registered on editor');\n    }\n\n    this.controller\n      .registerCommand<string | null>(\n        TOGGLE_LINK_COMMAND,\n        () => true,\n        COMMAND_PRIORITY_EDITOR\n      )\n      .pipe(takeUntil(merge(this.destroy$, destroy$)))\n      .subscribe(([payload]) => {\n        const url: string | null = payload;\n        toggleLink(url);\n      });\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","import {LexicalLinkDirective} from './link.directive';\r\nimport {NgModule} from '@angular/core';\r\n\r\n@NgModule({\r\n  exports: [LexicalLinkDirective],\r\n  declarations: [LexicalLinkDirective],\r\n})\r\nexport class LexicalLinkPluginModule {}\r\n","import {\n  Directive,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n} from '@angular/core';\nimport {LexicalController} from '../../lexical.controller';\nimport {Unsubscribable} from 'rxjs';\nimport {\n  $createParagraphNode,\n  $getRoot,\n  $getSelection,\n  CLEAR_EDITOR_COMMAND,\n  COMMAND_PRIORITY_EDITOR,\n} from 'lexical';\n\n@Directive({selector: '[lexicalClearEditor]'})\nexport class LexicalClearEditorDirective implements OnInit, OnDestroy {\n  @Input('lexicalClearEditor')\n  clearFn?: (() => void) | null = null;\n\n  @Output()\n  clearEvent = new EventEmitter<void>();\n\n  listener: Unsubscribable | null = null;\n\n  constructor(private readonly controller: LexicalController) {}\n\n  ngOnInit(): void {\n    const {editor} = this.controller;\n\n    this.listener = {\n      unsubscribe: editor.registerCommand(\n        CLEAR_EDITOR_COMMAND,\n        () => {\n          editor.update(() => {\n            if (!this.clearFn) {\n              const root = $getRoot();\n              const selection = $getSelection();\n              const paragraph = $createParagraphNode();\n              root.clear();\n              root.append(paragraph);\n              if (selection) paragraph.select();\n              this.clearEvent.emit();\n            } else {\n              this.clearFn();\n            }\n          });\n          return true;\n        },\n        COMMAND_PRIORITY_EDITOR\n      ),\n    };\n  }\n\n  ngOnDestroy(): void {\n    this.listener?.unsubscribe();\n  }\n}\n","import {LexicalClearEditorDirective} from './clear-editor.directive';\r\nimport {NgModule} from '@angular/core';\r\n\r\n@NgModule({\r\n  exports: [LexicalClearEditorDirective],\r\n  declarations: [LexicalClearEditorDirective],\r\n})\r\nexport class LexicalClearEditorPluginModule {}\r\n","import {\n  Directive,\n  Input,\n  OnChanges,\n  OnInit,\n  SimpleChanges,\n} from '@angular/core';\nimport {LexicalController} from '../../lexical.controller';\nimport {\n  createEmptyHistoryState,\n  HistoryState,\n  registerHistory,\n} from '@lexical/history';\n\n@Directive({selector: '[lexicalHistory]'})\nexport class LexicalHistoryDirective implements OnInit, OnChanges {\n  @Input()\n  lexicalHistoryState?: HistoryState | null = null;\n\n  @Input('lexicalHistoryDelay')\n  delay: number = 1000;\n\n  constructor(private readonly controller: LexicalController) {}\n\n  ngOnChanges(changes: SimpleChanges) {\n    try {\n      this.registerHistory();\n    } catch {}\n  }\n\n  ngOnInit(): void {\n    const historyState: HistoryState =\n      this.lexicalHistoryState || createEmptyHistoryState();\n\n    registerHistory(this.controller.editor, historyState, this.delay);\n  }\n\n  registerHistory(): void {\n    const historyState: HistoryState =\n      this.lexicalHistoryState || createEmptyHistoryState();\n\n    registerHistory(this.controller.editor, historyState, this.delay);\n  }\n}\n","import {LexicalHistoryDirective} from './history.directive';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n  exports: [LexicalHistoryDirective],\n  declarations: [LexicalHistoryDirective],\n})\nexport class LexicalHistoryPluginModule {}\n","import {Directive, forwardRef, Inject} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {distinctUntilChanged, map, takeUntil} from 'rxjs';\nimport {$getRoot} from 'lexical';\nimport {LexicalController} from '../../lexical.controller';\n\n@Directive({\n  selector:\n    '[lexicalComposer][formControl], [lexicalComposer][formControlName], [lexicalComposer][ngModel]',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => LexicalControlValueAccessorDirective),\n      multi: true,\n    },\n  ],\n})\nexport class LexicalControlValueAccessorDirective\n  implements ControlValueAccessor\n{\n  value: string = '';\n  onChange: (value: string) => void = (value: string) => void 0;\n  onTouched: () => void = () => void 0;\n\n  constructor(\n    @Inject(LexicalController)\n    private readonly controller: LexicalController\n  ) {}\n\n  registerOnChange(fn: (value: string) => void): void {\n    this.onChange = fn;\n\n    this.controller.onUpdate$\n      .pipe(\n        map(({editorState}) =>\n          editorState.read(() => $getRoot().getTextContent())\n        ),\n        distinctUntilChanged(),\n        takeUntil(this.controller.destroy$)\n      )\n      .subscribe(content => {\n        this.value = content;\n        this.onChange(content);\n      });\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n\n  writeValue(obj: any): void {\n    this.value = obj;\n  }\n}\n","import {NgModule} from '@angular/core';\n\nimport {LexicalControlValueAccessorDirective} from './control-value-accessor.directive';\n\n@NgModule({\n  imports: [],\n  exports: [LexicalControlValueAccessorDirective],\n  declarations: [LexicalControlValueAccessorDirective],\n  providers: [],\n})\nexport class LexicalControlValueAccessorPluginModule {}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {LexicalComposerDirective} from './lexical-composer.directive';\nimport {LexicalAutofocusPluginModule} from './plugins/autofocus';\nimport {LexicalContentEditablePluginModule} from './plugins/content-editable';\nimport {LexicalOnChangePluginModule} from './plugins/on-change';\nimport {LexicalPlaceholderPluginModule} from './plugins/placeholder';\nimport {LexicalPlainTextPluginModule} from './plugins/plain-text';\nimport {LexicalRichTextPluginModule} from './plugins/rich-text';\nimport {LexicalLinkPluginModule} from './plugins/link';\nimport {LexicalClearEditorPluginModule} from './plugins/clear';\nimport {LexicalHistoryPluginModule} from './plugins/history';\nimport {LexicalControlValueAccessorPluginModule} from './plugins/control-value-accessor';\n\nconst PLUGINS = [\n  LexicalAutofocusPluginModule,\n  LexicalClearEditorPluginModule,\n  LexicalContentEditablePluginModule,\n  LexicalControlValueAccessorPluginModule,\n  LexicalHistoryPluginModule,\n  LexicalLinkPluginModule,\n  LexicalOnChangePluginModule,\n  LexicalPlaceholderPluginModule,\n  LexicalPlainTextPluginModule,\n  LexicalRichTextPluginModule,\n];\n\n@NgModule({\n  imports: [CommonModule, PLUGINS],\n  declarations: [LexicalComposerDirective],\n  exports: [LexicalComposerDirective, PLUGINS],\n})\nexport class LexicalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.LexicalComposerDirective","i1.LexicalController"],"mappings":"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"}