{"version":3,"file":"ng-devui-textarea.mjs","sources":["../../devui/textarea/textarea.directive.ts","../../devui/textarea/textarea-max-length.component.ts","../../devui/textarea/textarea-max-length.component.html","../../devui/textarea/textarea.module.ts","../../devui/textarea/ng-devui-textarea.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\r\nimport { AfterViewInit, Directive, ElementRef, HostBinding, Inject, Input, OnDestroy, Optional, Renderer2, Self } from '@angular/core';\r\nimport { NgModel } from '@angular/forms';\r\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\r\n\r\n@Directive({\r\n  selector: '[dTextarea]',\r\n  exportAs: 'dTextarea',\r\n})\r\nexport class TextareaDirective implements AfterViewInit, OnDestroy {\r\n  @Input() maxLengthBlocker = false;\r\n  @Input() maxLengthCounter = false;\r\n  @Input() @HostBinding('style.resize') resize: 'none' | 'vertical' | 'horizontal' | 'both' | 'inherit' = 'none';\r\n  @Input() @HostBinding('class.error') error: boolean;\r\n  @Input() @HostBinding('attr.rows') rows = 3;\r\n  @Input() @WithConfig() styleType = 'default';\r\n  @Input() @WithConfig() showGlowStyle = true;\r\n  @HostBinding('class.devui-glow-style') get hasGlowStyle() {\r\n    return this.showGlowStyle;\r\n  }\r\n  @HostBinding('class.devui-gray-style') get gray() {\r\n    return this.styleType === 'gray';\r\n  }\r\n  checkMaxLength: Function;\r\n  getMaxLength: Function;\r\n  counter: HTMLSpanElement;\r\n  counterInner: HTMLElement;\r\n  document: any;\r\n  resizeWatcher: any;\r\n  fontSize = 12;\r\n\r\n  constructor(\r\n    @Optional() @Self() private ngModel: NgModel,\r\n    @Inject(DOCUMENT) private doc: any,\r\n    private devConfigService: DevConfigService,\r\n    private el: ElementRef,\r\n    private render: Renderer2\r\n  ) {\r\n    this.document = this.doc;\r\n    const root = getComputedStyle(this.document.querySelector(':root'));\r\n    this.fontSize = parseInt(root.getPropertyValue('--devui-font-size-sm'), 10) || 12;\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.setMaxLengthBlocker();\r\n    this.setMaxLengthCounter();\r\n    // 监听 ngModel 变化\r\n    const max = this.el.nativeElement.maxLength;\r\n    const rules = [!!this.ngModel, this.maxLengthCounter, !!max];\r\n    if (!rules.includes(false)) {\r\n      this.ngModel.valueChanges.subscribe((value) => {\r\n        const content = value || this.el.nativeElement.value || '';\r\n        this.counterInner.textContent = `${content.length}/${max}`;\r\n      });\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    if (this.checkMaxLength) {\r\n      this.checkMaxLength();\r\n    }\r\n    if (this.getMaxLength) {\r\n      this.getMaxLength();\r\n    }\r\n    if (this.resizeWatcher) {\r\n      this.resizeWatcher.unobserve();\r\n    }\r\n  }\r\n\r\n  setMaxLengthBlocker(): void {\r\n    if (this.maxLengthBlocker) {\r\n      this.checkMaxLength = this.render.listen(this.el.nativeElement, 'compositionupdate', () => {\r\n        /**\r\n         * 通过失焦中断composition输入事件规避chrome textarea中文符号输入超出最大宽度问题，如浏览器修复该问题可移除此方法\r\n         * 复现步骤：\r\n         * 1. 输若干入内容\r\n         * 2. 回车换行\r\n         * 3. 粘贴内容至最大长度\r\n         * 4. 输入中文等触发composition事件输入法的符号\r\n         */\r\n        const max = this.el.nativeElement.maxLength;\r\n        const len = (this.el.nativeElement.textContent || this.el.nativeElement.value).length;\r\n        if (max <= len) {\r\n          this.el.nativeElement.blur();\r\n          this.el.nativeElement.focus();\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  setMaxLengthCounter(): void {\r\n    const max = this.el.nativeElement.maxLength;\r\n    if (this.maxLengthCounter && max) {\r\n      const length = this.ngModel?.model ? this.ngModel.model.length : this.el.nativeElement.value.length;\r\n      this.counter = this.document.createElement('span');\r\n      this.counter.className = 'devui-textarea-counter';\r\n      this.counterInner = this.document.createElement('i');\r\n      this.counterInner.textContent = `${length}/${max}`;\r\n      this.counterInner.style.width = `${(String(max).length * 2 + 1) * this.fontSize}px`;\r\n      this.counter.appendChild(this.counterInner);\r\n      this.el.nativeElement.after(this.counter);\r\n      this.checkMaxLength = this.render.listen(this.el.nativeElement, 'input', () => {\r\n        this.counterInner.textContent = `${this.el.nativeElement.value.length}/${max}`;\r\n      });\r\n      this.resizeWatcher = new ResizeObserver(() => {\r\n        this.counter.style.left = `${this.el.nativeElement.offsetWidth - this.counterInner.offsetWidth}px`;\r\n        this.counter.style.top = `${this.el.nativeElement.offsetHeight - this.counter.offsetHeight}px`;\r\n      }).observe(this.el.nativeElement);\r\n    }\r\n  }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\r\nimport { TextareaDirective } from './textarea.directive';\r\n\r\n@Component({\r\n  selector: 'd-textarea-max-length',\r\n  templateUrl: './textarea-max-length.component.html',\r\n  styleUrls: ['./textarea-max-length.component.scss'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => TextareaMaxLengthComponent),\r\n      multi: true,\r\n    },\r\n  ],\r\n  preserveWhitespaces: false,\r\n})\r\nexport class TextareaMaxLengthComponent implements ControlValueAccessor, AfterViewInit {\r\n  @ViewChild(TextareaDirective) textareaInstance: TextareaDirective;\r\n  @Input() disabled = false;\r\n  @Input() error = false;\r\n  @Input() maxLength: number;\r\n  @Input() maxLengthBlocker = false;\r\n  @Input() placeholder: string;\r\n  @Input() rows = 3;\r\n  @Input() maxWidth: string;\r\n  @Input() maxHeight: string;\r\n  @Input() resize: 'none' | 'vertical' | 'horizontal' | 'both' | 'inherit' = 'none';\r\n  @Input() @WithConfig() styleType = 'default';\r\n  @Input() @WithConfig() showGlowStyle = true;\r\n\r\n  textareaElement: HTMLTextAreaElement;\r\n  value: string;\r\n\r\n  private onChange = (_: any) => null;\r\n  private onTouch = () => null;\r\n\r\n  constructor(private el: ElementRef, private devConfigService: DevConfigService) {}\r\n\r\n  ngAfterViewInit(): void {\r\n    this.textareaElement = this.el.nativeElement.querySelector('textarea');\r\n  }\r\n\r\n  registerOnChange(fn: any): void {\r\n    this.onChange = fn;\r\n  }\r\n\r\n  registerOnTouched(fn: any): void {\r\n    this.onTouch = fn;\r\n  }\r\n\r\n  setDisabledState(isDisabled: boolean): void {\r\n    this.disabled = isDisabled;\r\n  }\r\n\r\n  writeValue(val: string): void {\r\n    this.value = val;\r\n  }\r\n\r\n  valueChanges(val: string): void {\r\n    this.value = val;\r\n    this.onChange(val);\r\n    this.onTouch();\r\n  }\r\n\r\n  blurEvent(): void {\r\n    const event = new Event('blur', { bubbles: false, cancelable: true });\r\n    this.el.nativeElement.dispatchEvent(event);\r\n  }\r\n}\r\n","<div\r\n  class=\"devui-textarea-container\"\r\n  [class.devui-glow-style]=\"showGlowStyle\"\r\n  [class.devui-gray-style]=\"styleType === 'gray'\"\r\n  [class.error]=\"error\"\r\n  [style.resize]=\"disabled ? 'none' : resize\"\r\n  [style.max-width]=\"maxWidth\"\r\n  [style.max-height]=\"maxHeight\"\r\n>\r\n  <textarea\r\n    dTextarea\r\n    [disabled]=\"disabled\"\r\n    [error]=\"error\"\r\n    [maxLength]=\"maxLength\"\r\n    [maxLengthBlocker]=\"maxLengthBlocker\"\r\n    [maxLengthCounter]=\"true\"\r\n    [placeholder]=\"placeholder\"\r\n    [rows]=\"rows\"\r\n    [ngModel]=\"value\"\r\n    (ngModelChange)=\"valueChanges($event)\"\r\n    (blur)=\"blurEvent()\"\r\n  ></textarea>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TextareaMaxLengthComponent } from './textarea-max-length.component';\r\nimport { TextareaDirective } from './textarea.directive';\r\n\r\n@NgModule({\r\n  imports: [CommonModule, FormsModule],\r\n  exports: [TextareaDirective, TextareaMaxLengthComponent],\r\n  declarations: [TextareaDirective, TextareaMaxLengthComponent],\r\n})\r\nexport class TextareaModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3.TextareaDirective"],"mappings":"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"}