{"version":3,"file":"axulus-uikit-editor.mjs","sources":["../../src/app/components/editor/editor.ts","../../src/app/components/editor/axulus-uikit-editor.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n  AfterContentInit,\n  AfterViewChecked,\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  Input,\n  NgModule,\n  OnDestroy,\n  OnInit,\n  Output,\n  QueryList,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Header, PrimeTemplate, SharedModule } from '@axulus/uikit/api';\nimport { DomHandler } from '@axulus/uikit/dom';\nimport Quill from 'quill';\nimport { BehaviorSubject, Subject, takeUntil } from 'rxjs';\n\nexport const EDITOR_VALUE_ACCESSOR: any = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => Editor),\n  multi: true\n};\n\n@Component({\n  selector: 'p-editor',\n  template: `\n    <div [ngClass]=\"'p-editor-container'\" [class]=\"styleClass\">\n      <div class=\"p-editor-toolbar\" *ngIf=\"toolbar || headerTemplate\">\n        <ng-content select=\"p-header\"></ng-content>\n        <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n      </div>\n      <div class=\"p-editor-toolbar\" *ngIf=\"!toolbar && !headerTemplate\">\n        <span class=\"ql-formats\">\n          <select class=\"ql-header\">\n            <option value=\"1\">Heading</option>\n            <option value=\"2\">Subheading</option>\n            <option selected>Normal</option>\n          </select>\n          <select class=\"ql-font\">\n            <option selected>Sans Serif</option>\n            <option value=\"serif\">Serif</option>\n            <option value=\"monospace\">Monospace</option>\n          </select>\n        </span>\n        <span class=\"ql-formats\">\n          <button class=\"ql-bold\" aria-label=\"Bold\" type=\"button\"></button>\n          <button class=\"ql-italic\" aria-label=\"Italic\" type=\"button\"></button>\n          <button class=\"ql-underline\" aria-label=\"Underline\" type=\"button\"></button>\n        </span>\n        <span class=\"ql-formats\">\n          <select class=\"ql-color\"></select>\n          <select class=\"ql-background\"></select>\n        </span>\n        <span class=\"ql-formats\">\n          <button class=\"ql-list\" value=\"ordered\" aria-label=\"Ordered List\" type=\"button\"></button>\n          <button class=\"ql-list\" value=\"bullet\" aria-label=\"Unordered List\" type=\"button\"></button>\n          <select class=\"ql-align\">\n            <option selected></option>\n            <option value=\"center\">center</option>\n            <option value=\"right\">right</option>\n            <option value=\"justify\">justify</option>\n          </select>\n        </span>\n        <span class=\"ql-formats\">\n          <button class=\"ql-link\" aria-label=\"Insert Link\" type=\"button\"></button>\n          <button class=\"ql-image\" aria-label=\"Insert Image\" type=\"button\"></button>\n          <button class=\"ql-code-block\" aria-label=\"Insert Code Block\" type=\"button\"></button>\n        </span>\n        <span class=\"ql-formats\">\n          <button class=\"ql-clean\" aria-label=\"Remove Styles\" type=\"button\"></button>\n        </span>\n      </div>\n      <div class=\"p-editor-content\" [ngStyle]=\"style\"></div>\n    </div>\n  `,\n  providers: [EDITOR_VALUE_ACCESSOR],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  styleUrls: ['./editor.css'],\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'p-element p-editor'\n  }\n})\nexport class Editor implements OnInit, AfterViewInit, AfterViewChecked, AfterContentInit, ControlValueAccessor, OnDestroy {\n  @Output() onTextChange: EventEmitter<any> = new EventEmitter();\n\n  @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\n\n  @ContentChild(Header) toolbar;\n\n  @Input() style: any;\n\n  @Input() styleClass: string;\n\n  @Input() placeholder: string;\n\n  @Input() formats: string[];\n\n  @Input() modules: any;\n\n  @Input() bounds: any;\n\n  @Input() scrollingContainer: any;\n\n  @Input() debug: string;\n\n  @Output() onInit: EventEmitter<any> = new EventEmitter();\n\n  @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n  value: string;\n\n  _readonly: boolean;\n\n  onModelChange: Function = () => {};\n\n  onModelTouched: Function = () => {};\n\n  quill: Quill;\n\n  headerTemplate: TemplateRef<any>;\n\n  filled$ = new BehaviorSubject(false);\n\n  private quillElements: { editorElement: HTMLElement; toolbarElement: HTMLElement } | null = null;\n\n  unsubscribe$ = new Subject<void>();\n\n  constructor(public el: ElementRef) {}\n\n  ngOnInit(): void {\n    this.filled$.pipe(takeUntil(this.unsubscribe$)).subscribe((value) => {\n      if (value) this.el.nativeElement.classList.add('p-inputwrapper-filled');\n      else this.el.nativeElement.classList.remove('p-inputwrapper-filled');\n    });\n  }\n\n  ngAfterViewInit(): void {\n    this.initQuillElements();\n\n    if (this.quillElements?.editorElement?.isConnected) {\n      this.initQuillEditor();\n    }\n  }\n\n  ngAfterViewChecked(): void {\n    if (!this.quill && this.quillElements?.editorElement?.isConnected) {\n      this.initQuillEditor();\n    }\n  }\n\n  ngAfterContentInit() {\n    this.templates.forEach((item) => {\n      switch (item.getType()) {\n        case 'header':\n          this.headerTemplate = item.template;\n          break;\n      }\n    });\n  }\n\n  ngOnDestroy(): void {\n    this.unsubscribe$.next();\n    this.unsubscribe$.complete();\n  }\n\n  writeValue(value: any): void {\n    this.value = value;\n    this.filled$.next(!!value && value !== '');\n\n    if (this.quill) {\n      if (value) this.quill.clipboard.dangerouslyPasteHTML(value);\n      else this.quill.setText('');\n    }\n  }\n\n  registerOnChange(fn: Function): void {\n    this.onModelChange = fn;\n  }\n\n  registerOnTouched(fn: Function): void {\n    this.onModelTouched = fn;\n  }\n\n  getQuill() {\n    return this.quill;\n  }\n\n  @Input() get readonly(): boolean {\n    return this._readonly;\n  }\n\n  set readonly(val: boolean) {\n    this._readonly = val;\n\n    if (this.quill) {\n      if (this._readonly) this.quill.disable();\n      else this.quill.enable();\n    }\n  }\n\n  private initQuillEditor(): void {\n    this.initQuillElements();\n\n    const { toolbarElement, editorElement } = this.quillElements;\n    let defaultModule = { toolbar: toolbarElement };\n    let modules = this.modules ? { ...defaultModule, ...this.modules } : defaultModule;\n    this.quill = new Quill(editorElement, {\n      modules: modules,\n      placeholder: this.placeholder,\n      readOnly: this.readonly,\n      theme: 'snow',\n      formats: this.formats,\n      bounds: this.bounds,\n      debug: this.debug,\n      scrollingContainer: this.scrollingContainer\n    });\n\n    if (this.value) {\n      this.quill.clipboard.dangerouslyPasteHTML(this.value);\n    }\n\n    this.quill.on('text-change', (delta, oldContents, source) => {\n      if (source === 'user') {\n        let html = DomHandler.findSingle(editorElement, '.ql-editor').innerHTML;\n        let text = this.quill.getText().trim();\n        if (html === '<p><br></p>') {\n          html = null;\n        }\n\n        this.onTextChange.emit({\n          htmlValue: html,\n          textValue: text,\n          delta: delta,\n          source: source\n        });\n\n        this.onModelChange(html);\n        this.onModelTouched();\n\n        this.filled$.next(this.quill.getLength() !== 1);\n      }\n    });\n\n    this.quill.on('selection-change', (range, oldRange, source) => {\n      this.onSelectionChange.emit({\n        range: range,\n        oldRange: oldRange,\n        source: source\n      });\n    });\n\n    this.onInit.emit({\n      editor: this.quill\n    });\n  }\n\n  private initQuillElements(): void {\n    if (!this.quillElements) {\n      this.quillElements = {\n        editorElement: DomHandler.findSingle(this.el.nativeElement, 'div.p-editor-content'),\n        toolbarElement: DomHandler.findSingle(this.el.nativeElement, 'div.p-editor-toolbar')\n      };\n    }\n  }\n}\n\n@NgModule({\n  imports: [CommonModule],\n  exports: [Editor, SharedModule],\n  declarations: [Editor]\n})\nexport class EditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}