{"version":3,"file":"ironsource-fusion-ui-components-textarea-v4.mjs","sources":["../../../projects/fusion-ui/components/textarea/v4/textarea-v4.component.html","../../../projects/fusion-ui/components/textarea/v4/textarea-v4.component.ts","../../../projects/fusion-ui/components/textarea/v4/ironsource-fusion-ui-components-textarea-v4.ts"],"sourcesContent":["<div class=\"fu-textarea-container\">\n    @if(labelText){\n        <fusion-input-label class=\"fu-dropdown-label\" [text]=\"labelText\" [required]=\"labelRequired\" [icon]=\"labelIcon\" [tooltipText]=\"labelTooltipText\"></fusion-input-label>\n    }\n        @if (showLengthCounter){\n            <div class=\"fu-max-length-counter\" [attr.data-testid]=\"testId\">\n                {{ (valueLength$ | async) }}<ng-container *ngIf=\"maxLength\">/{{ maxLength }}</ng-container>\n            </div>\n        }\n        <textarea #textArea\n            class=\"is-textarea\"\n            [class.fu-readonly]=\"!!readonly\"\n            [placeholder]=\"placeholder\"\n            [readonly]=\"readonly\"\n            [name]=\"name\"\n            [ngClass]=\"{disabled: isDisabled, resize: resize}\"\n            [ngModel]=\"model\"\n            [maxlength]=\"maxLength\"\n            (ngModelChange)=\"onChange($event)\"\n            (focus)=\"focus()\"\n            (blur)=\"blur()\"\n            [disabled]=\"isDisabled\"></textarea>\n    @if (helperText){\n        <div class=\"fu-input-underline\">\n            <fusion-input-helper [text]=\"helperText\" [state]=\"variant\" [iconName]=\"helperIcon\" [testId]=\"testId\"></fusion-input-helper>\n        </div>\n    }\n</div>\n","import {ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, Input, OnInit, ViewChild} from '@angular/core';\nimport {ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {IconData} from '@ironsource/fusion-ui/components/icon/common/entities';\nimport {InputVariant} from '@ironsource/fusion-ui/components/input/v4';\nimport {InputHelperComponent} from '@ironsource/fusion-ui/components/input-helper/v4';\nimport {InputLabelComponent} from '@ironsource/fusion-ui/components/input-label/v4';\nimport {BehaviorSubject} from 'rxjs';\n\n@Component({\n    selector: 'fusion-textarea',\n    templateUrl: './textarea-v4.component.html',\n    styleUrls: ['./textarea-v4.component.scss'],\n    host: {class: 'fusion-v4'},\n    standalone: true,\n    imports: [CommonModule, ReactiveFormsModule, FormsModule, InputHelperComponent, InputLabelComponent],\n    changeDetection: ChangeDetectionStrategy.Default,\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => TextareaV4Component),\n            multi: true\n        }\n    ]\n})\nexport class TextareaV4Component implements OnInit, ControlValueAccessor {\n    @Input() placeholder: string;\n    @Input() readonly: boolean;\n    @Input() resize: boolean;\n    @Input() name: string;\n    @Input() isDisabled: boolean;\n    @Input() model: string;\n    @Input() maxLength: number;\n    @Input() showLengthCounter = false;\n\n    // region Inputs - labelText\n    @Input() labelText: string;\n    @Input() labelRequired: boolean = false;\n    @Input() labelIcon: IconData;\n    @Input() labelTooltipText: string;\n    // endregion\n\n    // region Inputs - helper\n    @Input() helperText: string;\n    @Input() helperIcon: string;\n    // end region\n\n    @Input() variant: InputVariant = 'default';\n\n    /** @internal */\n    focused: boolean = false;\n    /** @internal */\n    valueLength$ = new BehaviorSubject(0);\n    /** @internal */\n    @ViewChild('textArea') textArea: ElementRef<HTMLTextAreaElement>;\n\n    @Input() testId: string;\n\n    @HostBinding('attr.data-testid') get testAttribute(): string {\n        return this.testId;\n    }\n\n    ngOnInit() {\n        this.resize = typeof this.resize === 'undefined' ? false : this.resize;\n        this.model = this.model || '';\n    }\n\n    onChange(event) {\n        this.propagateTouched();\n        this.model = event;\n        this.propagateChange(event);\n        this.valueLength$.next(event.length);\n    }\n\n    // Implement ControlValueAccessor methods\n    /**\n     * Method to call when value has changes.\n     */\n    propagateChange = (_: string) => {};\n\n    /**\n     * Method to call when the component is touched (when it was is clicked).\n     */\n    propagateTouched = () => {};\n\n    /**\n     * update value from model to the component\n     */\n    writeValue(value: string): void {\n        if (value === undefined || value === null) {\n            this.model = '';\n        } else {\n            this.model = value;\n        }\n    }\n\n    /**\n     * Informs the outside world about changes.\n     * see method propagateChange call - this.propagateChange(this.model);\n     */\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    /**\n     * on click\n     */\n    registerOnTouched(fn: any): void {\n        this.propagateTouched = fn;\n    }\n\n    /**\n     * on set form controll enabled / disabled\n     * also do UI Component enabled / disabled\n     */\n    setDisabledState?(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n    }\n\n    /** @internal */\n    focus(): void {\n        this.focused = true;\n    }\n\n    /** @internal */\n    blur(): void {\n        this.focused = false;\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}