{"version":3,"file":"fundamental-ngx-core-feed-input.mjs","sources":["../../../../libs/core/feed-input/directives/feed-input-avatar.directive.ts","../../../../libs/core/feed-input/directives/feed-input-button.directive.ts","../../../../libs/core/feed-input/directives/feed-input-textarea.directive.ts","../../../../libs/core/feed-input/feed-input.component.ts","../../../../libs/core/feed-input/feed-input.component.html","../../../../libs/core/feed-input/feed-input.module.ts","../../../../libs/core/feed-input/fundamental-ngx-core-feed-input.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Applies a thumb styles\n */\n@Directive({\n    selector: '[fdFeedInputAvatar]',\n    standalone: true\n})\nexport class FeedInputAvatarDirective implements OnInit, OnChanges, CssClassBuilder {\n    /** Apply user custom styles */\n    @Input()\n    class: string;\n\n    /** @hidden */\n    @Input()\n    placeholder: boolean;\n\n    /** @hidden */\n    constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n\n    /** @hidden */\n    @applyCssClass\n    buildComponentCssClass(): string[] {\n        return ['fd-feed-input__thumb', this.placeholder ? `fd-avatar--placeholder` : '', this.class];\n    }\n\n    /** @hidden */\n    ngOnInit(): void {\n        this.buildComponentCssClass();\n    }\n\n    /** @hidden */\n    ngOnChanges(): void {\n        this.buildComponentCssClass();\n    }\n}\n","import { Directive, ElementRef, HostBinding, OnInit, Renderer2 } from '@angular/core';\n\n/**\n * Applies button feed arrow icon and disabled state\n */\n@Directive({\n    selector: '[fdFeedInputButton]',\n    host: {\n        class: 'fd-button fd-feed-input__submit-button is-cozy'\n    },\n    standalone: true\n})\nexport class FeedInputButtonDirective implements OnInit {\n    /** @hidden */\n    @HostBinding('attr.aria-disabled')\n    @HostBinding('class.is-disabled')\n    disabled = true;\n\n    /** @hidden */\n    constructor(\n        private readonly _elementRef: ElementRef<HTMLElement>,\n        private _renderer: Renderer2\n    ) {}\n\n    /** @hidden */\n    ngOnInit(): void {\n        this.createArrowIcon();\n    }\n\n    /** @hidden */\n    get elementRef(): ElementRef<HTMLElement> {\n        return this._elementRef;\n    }\n\n    /** @hidden create button icon */\n    createArrowIcon(): void {\n        const icon = this._renderer.createElement('i');\n        this._renderer.addClass(icon, 'sap-icon--feeder-arrow');\n        this._renderer.setAttribute(icon, 'role', 'presentation');\n        this._renderer.appendChild(this.elementRef.nativeElement, icon);\n    }\n}\n","import {\n    Directive,\n    ElementRef,\n    EventEmitter,\n    HostBinding,\n    HostListener,\n    inject,\n    Input,\n    OnInit,\n    Output,\n    Renderer2\n} from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Applies text area auto resize and set maximum rows to grow\n */\n@Directive({\n    selector: 'textarea[fdFeedInputTextarea]',\n    host: {\n        '[class.fd-feed-input__textarea]': 'true',\n        '[class.fd-textarea]': 'true'\n    },\n    standalone: true\n})\nexport class FeedInputTextareaDirective implements HasElementRef, OnInit {\n    /** The maximum rows allowed to grow */\n    @Input()\n    fdFeedInputTextareaMaxRows: number;\n\n    /** @hidden */\n    @HostBinding('disabled')\n    disabled: boolean;\n\n    /** Event emitted when the textarea value changed */\n    @Output()\n    valueChange = new EventEmitter<string>();\n\n    /** @hidden */\n    elementRef: ElementRef<HTMLTextAreaElement> = inject(ElementRef);\n\n    /** @hidden */\n    private _renderer = inject(Renderer2);\n\n    /** @hidden */\n    @HostListener('keyup')\n    onKeyup(): void {\n        this.resize();\n        this.valueChange.emit(this.elementRef.nativeElement.value);\n    }\n\n    /** @hidden */\n    ngOnInit(): void {\n        if (this.fdFeedInputTextareaMaxRows) {\n            const lineHeight = this._getTextareaLineHeight();\n            this.elementRef.nativeElement.style.maxHeight = lineHeight * this.fdFeedInputTextareaMaxRows + 'px';\n        }\n    }\n\n    /** @hidden make to grow textarea */\n    resize(): void {\n        this._renderer.setStyle(this.elementRef.nativeElement, 'height', 'inherit');\n\n        const totalHeight = this._getTextareaTotalHeight();\n        this._renderer.setStyle(this.elementRef.nativeElement, 'height', `${totalHeight}px`);\n    }\n\n    /** @hidden get line height of textarea */\n    private _getTextareaLineHeight(): number {\n        const lineHeight = window.getComputedStyle(this.elementRef.nativeElement).getPropertyValue('line-height');\n\n        if (lineHeight === 'normal') {\n            return (\n                parseInt(window.getComputedStyle(this.elementRef.nativeElement).getPropertyValue('font-size'), 10) * 1.1\n            );\n        }\n\n        return parseInt(lineHeight, 10);\n    }\n\n    /** @hidden get the total height including borders and scroll height */\n    private _getTextareaTotalHeight(): number {\n        const computed = window.getComputedStyle(this.elementRef.nativeElement);\n\n        return (\n            parseInt(computed.getPropertyValue('border-top-width'), 10) +\n            this.elementRef.nativeElement.scrollHeight +\n            parseInt(computed.getPropertyValue('border-bottom-width'), 10)\n        );\n    }\n}\n","import {\n    AfterContentInit,\n    ChangeDetectionStrategy,\n    Component,\n    ContentChild,\n    Input,\n    OnDestroy,\n    ViewEncapsulation,\n    forwardRef,\n    input\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { FeedInputButtonDirective } from './directives/feed-input-button.directive';\nimport { FeedInputTextareaDirective } from './directives/feed-input-textarea.directive';\n\n@Component({\n    selector: 'fd-feed-input',\n    templateUrl: './feed-input.component.html',\n    styleUrl: './feed-input.component.scss',\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true\n})\nexport class FeedInputComponent implements AfterContentInit, OnDestroy {\n    /** Component disable state */\n    @Input()\n    disabled = false;\n\n    /** @hidden */\n    @ContentChild(forwardRef(() => FeedInputTextareaDirective))\n    textareaElement: FeedInputTextareaDirective;\n\n    /** @hidden */\n    @ContentChild(forwardRef(() => FeedInputButtonDirective))\n    buttonElement: FeedInputButtonDirective;\n\n    /** Value for aria label */\n    ariaLabel = input<string>();\n\n    /** @hidden */\n    private readonly _subscriptions = new Subscription();\n\n    /** @hidden */\n    ngAfterContentInit(): void {\n        if (this.disabled) {\n            this.textareaElement.disabled = true;\n        }\n\n        this._subscriptions.add(\n            this.textareaElement.valueChange.subscribe((value) => (this.buttonElement.disabled = !value))\n        );\n    }\n\n    /** @hidden */\n    ngOnDestroy(): void {\n        this._subscriptions.unsubscribe();\n    }\n}\n","<div class=\"fd-feed-input\" role=\"group\" [attr.aria-label]=\"ariaLabel()\" [class.is-disabled]=\"disabled\">\n    <div class=\"fd-feed-input__container\">\n        <ng-content></ng-content>\n    </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { FeedInputAvatarDirective } from './directives/feed-input-avatar.directive';\nimport { FeedInputButtonDirective } from './directives/feed-input-button.directive';\nimport { FeedInputTextareaDirective } from './directives/feed-input-textarea.directive';\nimport { FeedInputComponent } from './feed-input.component';\n\nconst components = [FeedInputComponent, FeedInputTextareaDirective, FeedInputButtonDirective, FeedInputAvatarDirective];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n    imports: [...components],\n    exports: [...components]\n})\nexport class FeedInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}