{"version":3,"file":"uipath-angular-directives-ui-matformfield-required.mjs","sources":["../../../projects/angular/directives/ui-matformfield-required/src/ui-matformfield-required.directive.intl.ts","../../../projects/angular/directives/ui-matformfield-required/src/ui-matformfield-required.directive.ts","../../../projects/angular/directives/ui-matformfield-required/src/ui-matformfield-required.module.ts","../../../projects/angular/directives/ui-matformfield-required/src/uipath-angular-directives-ui-matformfield-required.ts"],"sourcesContent":["import { Subject } from 'rxjs';\n\nimport {\n    Injectable,\n    OnDestroy,\n} from '@angular/core';\n\n@Injectable()\nexport class UiMatFormFieldRequiredIntl implements OnDestroy {\n    /**\n     * Notify if changes have occured that require that the labels be updated.\n     *\n     */\n    // eslint-disable-next-line rxjs/finnish\n    changes = new Subject<void>();\n\n    tooltipMessage = 'This field is required.';\n\n    ngOnDestroy() {\n        this.changes.complete();\n    }\n}\n","import {\n    Subject,\n    Subscription,\n} from 'rxjs';\nimport {\n    takeUntil,\n    tap,\n} from 'rxjs/operators';\n\nimport {\n    AriaDescriber,\n    FocusMonitor,\n} from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { ScrollDispatcher } from '@angular/cdk/scrolling';\nimport { DOCUMENT } from '@angular/common';\nimport {\n    AfterViewInit,\n    ContentChild,\n    Directive,\n    ElementRef,\n    Inject,\n    NgZone,\n    OnDestroy,\n    Optional,\n    ViewContainerRef,\n} from '@angular/core';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport {\n    MatTooltip,\n    MatTooltipDefaultOptions,\n    MAT_TOOLTIP_DEFAULT_OPTIONS,\n    MAT_TOOLTIP_SCROLL_STRATEGY,\n} from '@angular/material/tooltip';\n\nimport { UiMatFormFieldRequiredIntl } from './ui-matformfield-required.directive.intl';\n\nconst MATFORMFIELD_LABEL_SELECTOR = '.mat-form-field-label-wrapper label';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: `mat-form-field`,\n})\nexport class UiMatFormFieldRequiredDirective implements AfterViewInit, OnDestroy {\n    @ContentChild(MatFormFieldControl)\n    set matControl(matControl: MatFormFieldControl<any>) {\n        if (this._matControlSubscription) {\n            this._matControlSubscription.unsubscribe();\n        }\n        this._matControlSubscription = matControl.stateChanges.pipe(\n            takeUntil(this._destroyed$),\n        ).subscribe(this._updateDisableTooltipProperty(matControl));\n    }\n\n    private _matControlSubscription?: Subscription;\n    private _tooltip?: MatTooltip;\n    private _labelElement?: HTMLElement;\n    private _destroyed$ = new Subject<void>();\n\n    constructor(\n        private _overlay: Overlay,\n        private _elemRef: ElementRef,\n        private _scrollDispatcher: ScrollDispatcher,\n        private _viewContainerRef: ViewContainerRef,\n        private _ngZone: NgZone,\n        private _platform: Platform,\n        private _ariaDescriber: AriaDescriber,\n        private _focusMonitor: FocusMonitor,\n        @Inject(MAT_TOOLTIP_SCROLL_STRATEGY)\n        private _scrollStrategy: any,\n        @Optional()\n        private _dir: Directionality,\n        @Optional()\n        @Inject(MAT_TOOLTIP_DEFAULT_OPTIONS)\n        private _defaultOptions: MatTooltipDefaultOptions,\n        @Inject(DOCUMENT)\n        private _document: any,\n        @Optional()\n        public intl: UiMatFormFieldRequiredIntl) {\n        this.intl = this.intl || new UiMatFormFieldRequiredIntl();\n    }\n\n    ngAfterViewInit() {\n        // attach tooltip on the span, which is the parent of label\n        this._labelElement = this._elemRef.nativeElement.querySelector(MATFORMFIELD_LABEL_SELECTOR)?.parentNode;\n\n        if (this._elemRef.nativeElement.querySelector('[required]')\n            && !this._elemRef.nativeElement.classList.contains('mat-form-field-disabled')) {\n            this._createMatTooltip();\n        }\n    }\n\n    ngOnDestroy() {\n        this._destroyed$.next();\n        this._destroyed$.complete();\n    }\n\n    private _updateDisableTooltipProperty(matControl: MatFormFieldControl<any>) {\n        return () => {\n            if (this._tooltip && (!matControl.required || matControl.disabled)) {\n                this._tooltip.disabled = true;\n            }\n            if (matControl.required && !matControl.disabled) {\n                if (this._tooltip) {\n                    this._tooltip.disabled = false;\n                } else {\n                    this._createMatTooltip();\n                }\n            }\n        };\n    }\n\n    private _createMatTooltip() {\n        if (!this._labelElement) { return; }\n\n        const labelElementRef = new ElementRef(this._labelElement!);\n        // FIXME: should find another way to instantiate the MatTooltip\n        // https://github.com/angular/angular/issues/8785\n        this._tooltip = new MatTooltip(\n            this._overlay,\n            labelElementRef,\n            this._scrollDispatcher,\n            this._viewContainerRef,\n            this._ngZone,\n            this._platform,\n            this._ariaDescriber,\n            this._focusMonitor,\n            this._scrollStrategy,\n            this._dir,\n            this._defaultOptions,\n            this._document,\n        );\n\n        this._tooltip.message = this.intl.tooltipMessage;\n        // eslint-disable-next-line @angular-eslint/no-lifecycle-call\n        this._tooltip.ngAfterViewInit();\n\n        this.intl.changes.pipe(\n            tap(() => this._tooltip!.message = this.intl.tooltipMessage),\n            takeUntil(this._destroyed$),\n        ).subscribe();\n    }\n}\n","import { NgModule } from '@angular/core';\n\nimport { UiMatFormFieldRequiredDirective } from './ui-matformfield-required.directive';\n\n@NgModule({\n    declarations: [UiMatFormFieldRequiredDirective],\n    exports: [UiMatFormFieldRequiredDirective],\n})\nexport class UiMatFormFieldRequiredModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i6.UiMatFormFieldRequiredIntl"],"mappings":"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"}