@eui/components 18.2.16-snapshot-1758179259021 → 18.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/directives/eui-tooltip/eui-tooltip.directive.d.ts.map +1 -1
- package/docs/components/EuiFileUploadComponent.html +21 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/properties.html +1 -1
- package/esm2022/directives/eui-tooltip/eui-tooltip.directive.mjs +4 -1
- package/esm2022/eui-button/eui-button.component.mjs +2 -2
- package/esm2022/eui-file-upload/eui-file-upload.component.mjs +7 -4
- package/eui-file-upload/eui-file-upload.component.d.ts +1 -0
- package/eui-file-upload/eui-file-upload.component.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +3 -0
- package/fesm2022/eui-components-directives.mjs.map +1 -1
- package/fesm2022/eui-components-eui-button.mjs +2 -2
- package/fesm2022/eui-components-eui-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-file-upload.mjs +6 -3
- package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
- package/package.json +10 -10
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-directives.mjs","sources":["../../directives/eui-template.directive.ts","../../directives/eui-tooltip/animations/show-hide.ts","../../directives/eui-tooltip/container/eui-tooltip-container.component.ts","../../directives/eui-tooltip/container/eui-tooltip-container.component.html","../../directives/eui-tooltip/eui-tooltip.directive.ts","../../directives/eui-tooltip/eui-tooltip.module.ts","../../directives/eui-maxlength.directive.ts","../../directives/eui-has-permission.directive.ts","../../directives/eui-scroll-handler.directive.ts","../../directives/eui-smooth-scroll.directive.ts","../../directives/eui-clearable.directive.ts","../../directives/eui-loading.directive.ts","../../directives/eui-resizable/eui-resizable.component.ts","../../directives/eui-resizable/eui-resizable.component.html","../../directives/eui-resizable/eui-resizable.directive.ts","../../directives/eui-resizable/eui-resizable.module.ts","../../directives/eui-arrow-key-navigable.directive.ts","../../directives/eui-components-directives.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Directive({\n selector: '[euiTemplate]',\n})\nexport class EuiTemplateDirective {\n @Input() type: string;\n @Input('euiTemplate') name: string;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(public template: TemplateRef<any>) {}\n\n getType(): string {\n return this.name;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiTemplateDirective],\n declarations: [EuiTemplateDirective],\n})\nexport class EuiTemplateDirectiveModule {}\n","import { animate, state, style, transition, trigger, keyframes } from '@angular/animations';\n\nexport const showHide = trigger('showHide', [\n state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n state('visible', style({ transform: 'scale(1)' })),\n transition(\n '* => visible',\n animate(\n '200ms cubic-bezier(0, 0, 0.2, 1)',\n keyframes([\n style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n style({ opacity: 0.5, transform: 'scale(0.99)', offset: 0.5 }),\n style({ opacity: 1, transform: 'scale(1)', offset: 1 }),\n ]),\n ),\n ),\n transition('* => hidden', animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 }))),\n]);\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, HostBinding, Input } from '@angular/core';\n\nimport { showHide } from '../animations/show-hide';\nimport { EuiTooltipInterface } from '../models/eui-tooltip.config';\n\n@Component({\n selector: 'eui-tooltip-container.component',\n templateUrl: 'eui-tooltip-container.component.html',\n styleUrls: ['../styles/_index.scss'],\n animations: [showHide],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTooltipContainerComponent {\n @Input() config: EuiTooltipInterface;\n @HostBinding('attr.data-e2e') e2e = 'eui-tooltip';\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-tooltip', 'eui-tooltip--content-' + this.config.contentAlign, 'eui-tooltip--' + this.config.colorClass]\n .join(' ')\n .trim();\n }\n @HostBinding('@showHide') get showHide(): string {\n return 'visible';\n }\n}\n","<div [innerHTML]=\"config.tooltipContent\"></div>\n","import {\n Directive,\n Input,\n OnInit,\n OnDestroy,\n ElementRef,\n HostListener,\n OnChanges,\n numberAttribute,\n booleanAttribute,\n ComponentRef,\n} from '@angular/core';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, fromEvent, Subject, Subscription, take, timer } from 'rxjs';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EuiTooltipContainerComponent } from './container/eui-tooltip-container.component';\nimport { EuiTooltipInterface } from './models/eui-tooltip.config';\n\n@Directive({\n selector: '[euiTooltip]',\n exportAs: 'euiTooltip',\n})\nexport class EuiTooltipDirective implements OnChanges, OnInit, OnDestroy {\n @Input() e2eAttr = 'eui-tooltip';\n @Input({ transform: numberAttribute }) showDelay = 0;\n @Input({ transform: numberAttribute }) hideDelay = 0;\n @Input() contentAlignment: 'left' | 'right' | 'center' | 'justify' = 'center';\n @Input() position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n @Input({ transform: booleanAttribute }) isDisabled= false;\n @Input('euiTooltip') tooltipContent: string;\n @Input({ transform: booleanAttribute }) euiTooltipPrimary = false;\n @Input({ transform: booleanAttribute }) euiTooltipSecondary = false;\n @Input({ transform: booleanAttribute }) euiTooltipInfo = false;\n @Input({ transform: booleanAttribute }) euiTooltipSuccess = false;\n @Input({ transform: booleanAttribute }) euiTooltipWarning = false;\n @Input({ transform: booleanAttribute }) euiTooltipDanger = false;\n @Input({ transform: booleanAttribute }) euiTooltipAccent = false;\n\n private originX: 'start' | 'end' | 'center' = 'center';\n private originY: 'top' | 'bottom' | 'center' = 'top';\n private overlayX: 'start' | 'end' | 'center' = 'center';\n private overlayY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOriginX: 'start' | 'end' | 'center' = 'center';\n private fallbackOriginY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOverlayX: 'start' | 'end' | 'center' = 'center';\n private fallbackOverlayY: 'top' | 'bottom' | 'center' = 'top';\n private overlayRef: OverlayRef;\n private destroy$ = new Subject<boolean>();\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private mouseleaveSubscription = new Subscription();\n private blurSubscription = new Subscription();\n private showDelaySubscription = new Subscription();\n private positionStrategySubscription = new Subscription();\n private tooltipInstance: ComponentRef<EuiTooltipContainerComponent>;\n\n constructor(private overlay: Overlay, private host: ElementRef<HTMLElement>) {}\n\n ngOnChanges(): void {\n if (this.tooltipInstance) {\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n }\n\n this.setPosition();\n }\n\n ngOnInit(): void {\n this.setPosition();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n this.positionStrategySubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n @HostListener('mouseenter', ['$event'])\n mouseEntering(event: MouseEvent): void {\n this.show(event.target);\n }\n\n @HostListener('focus', ['$event'])\n focused(event: FocusEvent): void {\n this.show(event.target);\n }\n\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n public show(origin: EventTarget = this.host.nativeElement): void {\n this.showDelaySubscription = timer(this.showDelay).subscribe(() => {\n if (!this.isOpen && !this.isDisabled && this.tooltipContent) {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: this.originX, originY: this.originY },\n { overlayX: this.overlayX, overlayY: this.overlayY },\n ),\n new ConnectionPositionPair(\n { originX: this.fallbackOriginX, originY: this.fallbackOriginY },\n { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY },\n ),\n ])\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n panelClass: ['eui-tooltip__container'],\n positionStrategy,\n scrollStrategy,\n });\n\n document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n if (!el.classList.contains('eui-18')) {\n el.classList.add('eui-18');\n }\n });\n\n this.positionStrategySubscription = positionStrategy.positionChanges.subscribe((overlayPosition) => {\n this.position = this.getPosition(overlayPosition);\n const positionClasses = [\n 'eui-tooltip--left',\n 'eui-tooltip--right',\n 'eui-tooltip--above',\n 'eui-tooltip--below',\n 'eui-tooltip--before',\n 'eui-tooltip--after',\n ];\n this.overlayRef.removePanelClass(positionClasses);\n this.overlayRef.addPanelClass(['eui-tooltip--' + this.position]);\n });\n\n const componentPortal = new ComponentPortal<EuiTooltipContainerComponent>(\n EuiTooltipContainerComponent,\n null,\n );\n\n this.tooltipInstance = this.overlayRef.attach(componentPortal);\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n\n this.isOpen$.next(true);\n }\n });\n\n this.mouseleaveSubscription = fromEvent(origin, 'mouseleave').subscribe(() => {\n this.hide();\n });\n\n this.blurSubscription = fromEvent(origin, 'blur').subscribe(() => {\n this.hide();\n });\n }\n\n public hide(): void {\n timer(this.hideDelay)\n .pipe(take(1))\n .subscribe(() => {\n this.isOpen$.next(false);\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n this.positionStrategySubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n });\n }\n\n private getTooltipConfig(): EuiTooltipInterface {\n let colorClass = 'secondary';\n if (this.euiTooltipPrimary) {\n colorClass = 'primary';\n }\n if (this.euiTooltipSecondary) {\n colorClass = 'secondary';\n }\n if (this.euiTooltipInfo) {\n colorClass = 'info';\n }\n if (this.euiTooltipSuccess) {\n colorClass = 'success';\n }\n if (this.euiTooltipWarning) {\n colorClass = 'warning';\n }\n if (this.euiTooltipDanger) {\n colorClass = 'danger';\n }\n if (this.euiTooltipAccent) {\n colorClass = 'accent';\n }\n\n return {\n e2eAttr: this.e2eAttr,\n tooltipContent: this.tooltipContent,\n position: this.position,\n contentAlign: this.contentAlignment,\n colorClass,\n };\n }\n\n private getPosition(overlayPosition: ConnectedOverlayPositionChange): string {\n if (overlayPosition.connectionPair.originY === 'top' && overlayPosition.connectionPair.overlayY === 'bottom') {\n return 'above';\n }\n if (overlayPosition.connectionPair.originY === 'bottom' && overlayPosition.connectionPair.overlayY === 'top') {\n return 'below';\n }\n if (overlayPosition.connectionPair.originX === 'start' && overlayPosition.connectionPair.overlayX === 'end') {\n return 'left';\n }\n if (overlayPosition.connectionPair.originX === 'end' && overlayPosition.connectionPair.overlayX === 'start') {\n return 'right';\n }\n }\n\n private setPosition(): void {\n if (this.position === 'above') {\n this.originY = 'top';\n this.overlayY = 'bottom';\n this.fallbackOriginY = 'bottom';\n this.fallbackOverlayY = 'top';\n }\n if (this.position === 'right' || this.position === 'after') {\n this.originX = 'end';\n this.originY = 'center';\n this.overlayX = 'start';\n this.overlayY = 'center';\n this.fallbackOriginX = 'start';\n this.fallbackOriginY = 'center';\n this.fallbackOverlayX = 'end';\n this.fallbackOverlayY = 'center';\n }\n if (this.position === 'below') {\n this.originY = 'bottom';\n this.overlayY = 'top';\n this.fallbackOriginY = 'top';\n this.fallbackOverlayY = 'bottom';\n }\n if (this.position === 'left' || this.position === 'before') {\n this.originX = 'start';\n this.originY = 'center';\n this.overlayX = 'end';\n this.overlayY = 'center';\n this.fallbackOriginX = 'end';\n this.fallbackOriginY = 'center';\n this.fallbackOverlayX = 'start';\n this.fallbackOverlayY = 'center';\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { EuiTooltipContainerComponent } from './container/eui-tooltip-container.component';\nimport { EuiTooltipDirective } from './eui-tooltip.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EuiTooltipContainerComponent, EuiTooltipDirective],\n exports: [EuiTooltipDirective],\n})\nexport class EuiTooltipDirectiveModule {}\n","import {\n Directive,\n ElementRef,\n Input,\n Output,\n AfterContentInit,\n NgModule,\n EventEmitter,\n OnDestroy,\n HostListener,\n Optional,\n Self,\n OnChanges,\n SimpleChanges,\n Renderer2,\n numberAttribute,\n booleanAttribute,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n/* eslint-disable */\n@Directive({\n selector: `\n input[euiMaxlength],\n textarea[euiMaxlength],\n [ngModel][euiMaxlength],\n [formControlName][euiMaxlength]`,\n})\nexport class EuiMaxLengthDirective implements AfterContentInit, OnDestroy, OnChanges {\n /**\n * It accepts number values to indicate the maxLength of an input. To reset or disable it set the value to null.\n * NULL value will remove any MaxLength indicator even if another input like isShowMaxlength equals true.\n */\n @Input({ alias:'euiMaxlength', transform: numberAttribute }) maxLength: number;\n @Input({ alias:'isShowMaxlength', transform: booleanAttribute }) isShowMaxlength: boolean = true;\n @Output() maxLengthReached: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n valueChangesSubscription: Subscription;\n\n private maxLengthSpan: HTMLSpanElement;\n private wrapper: HTMLDivElement;\n private lengthCalcFn: () => number;\n\n constructor(private el: ElementRef,\n private renderer: Renderer2,\n @Self() @Optional() private control: NgControl) {\n // set default length calculation behavior\n this.setLengthCalcFactory((value) => value?.length || 0);\n }\n\n ngOnDestroy() {\n // remove all DOM added elements\n this.destroyMaxLengthBox();\n\n // unsubscribe from valueChanges\n if(this.valueChangesSubscription) {\n this.valueChangesSubscription.unsubscribe();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(changes['isShowMaxlength']) {\n if(this.isShowMaxlength) {\n this.createMaxLengthBox();\n this._refreshValue();\n } else {\n this.destroyMaxLengthBox();\n }\n }\n if(changes['maxLength']) {\n if(this.maxLength < 0) {\n throw new Error('euiMaxlength of an input or a textarea cannot be negative.')\n }\n if(this.maxLength) {\n // re-create in case you previously destroyed it\n if(this.isShowMaxlength && !this.maxLengthSpan) {\n this.createMaxLengthBox();\n }\n this._refreshValue();\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'maxLength');\n this.destroyMaxLengthBox();\n }\n }\n }\n\n ngAfterContentInit() {\n if (this.maxLength) {\n this.createMaxLengthBox();\n this._refreshValue();\n }\n\n // this subscription is needed apart from HostListener to Changes in case usage of this directive\n // in custom component that implements ngDefaultControl\n if (this.control?.valueChanges) {\n this.valueChangesSubscription = this.control.valueChanges.subscribe(() => {\n this._refreshValue();\n });\n }\n }\n\n @HostListener('change', ['$event'])\n onChange(event: Event) {\n if(!this.control || this.control?.control.updateOn !== 'change') {\n this._refreshValue();\n }\n }\n\n @HostListener('input', ['$event'])\n onInput(event: KeyboardEvent) {\n if(!this.control || this.control?.control.updateOn !== 'change') {\n this._refreshValue();\n }\n }\n\n @HostListener('paste', ['$event'])\n onPaste(event: ClipboardEvent) {\n // get the value from clipboard\n let value = (event.clipboardData || window['clipboardData']).getData('text');\n // calculate and set the maxLength based on the clipboard value\n let input = <HTMLInputElement>this.el.nativeElement;\n if(this.maxLength) {\n this.renderer.setProperty(input, 'maxLength', this.calculateMaxLength(value));\n }\n }\n\n public setLengthCalcFactory(fn: (input: string) => number): void {\n this.lengthCalcFn = () => {\n const value = this.getValue();\n return fn(value);\n }\n }\n\n /**\n * calculates the maxLength of an input element. Calculation is made\n * against the value of the Model or Input Element.\n * @param value Optional the value to calculate max length against (override the Model one)\n * @private\n */\n private calculateMaxLength(value?: string): number {\n const inputValue = this.getValue();\n return (value?.length || (inputValue?.length || 0) - this.lengthCalcFn()) + this.maxLength;\n }\n\n private _refreshValue(): void {\n if(isNaN(this.maxLength)) {\n return;\n }\n let input = <HTMLInputElement>this.el.nativeElement;\n let valueLength = this.lengthCalcFn();\n let remainingLength = this.maxLength - valueLength;\n\n this.renderer.setProperty(input, 'maxLength', this.calculateMaxLength());\n if(this.maxLengthSpan) {\n // based on the remaining length add/remove the error class\n if (remainingLength <= 0) {\n this.renderer.addClass(this.maxLengthSpan, 'eui-input-maxlength--invalid')\n this.maxLengthReached.emit(true);\n } else {\n this.renderer.removeClass(this.maxLengthSpan, 'eui-input-maxlength--invalid')\n this.maxLengthReached.emit(false);\n }\n // set the value of remaining characters\n if (remainingLength < 0) {\n // this feature is only available when the calculation of length is not custom\n // to support this feature you need to calculate this.maxLength also\n if (this.control) {\n this.control.control.setValue(input.value.substring(0, this.calculateMaxLength()))\n } else {\n input.value = input.value.substring(0, this.calculateMaxLength());\n }\n this.renderer.setProperty(this.maxLengthSpan, 'innerHTML', '0')\n } else if (remainingLength >= 0) {\n this.renderer.setProperty(this.maxLengthSpan, 'innerHTML', (this.maxLength - valueLength).toString())\n }\n }\n }\n\n /**\n * creates the maxLength box by adding it to DOM and attaching correct Classes\n * for Wrapper and Span (actual box holding max length)\n * @private\n */\n private createMaxLengthBox() {\n if(this.maxLengthSpan) {\n this.destroyMaxLengthBox();\n }\n // creates the span that holds the max length value which changes according to input\n this.maxLengthSpan = this.renderer.createElement('span');\n this.renderer.addClass(this.maxLengthSpan, 'eui-input-maxlength')\n this.renderer.setAttribute(this.maxLengthSpan, 'innerHTML', this.maxLength.toString());\n\n // create wrapper element\n let nativeElement: HTMLElement = this.el.nativeElement;\n if (nativeElement != null) {\n // set width to 100%\n this.renderer.setStyle(nativeElement, 'width', '100%');\n let parent: Node = nativeElement.parentNode;\n if (parent != null && this.isShowMaxlength) {\n // creates wrapper div of input and maxLength span\n this.wrapper = this.renderer.createElement('div');\n this.renderer.addClass(this.wrapper, 'eui-input-maxlength-wrapper');\n // swap, wrapper should wrap the nativeElement and maxLength span\n parent.replaceChild(this.wrapper, nativeElement);\n this.renderer.appendChild(this.wrapper, nativeElement);\n this.renderer.appendChild(this.wrapper, this.maxLengthSpan);\n }\n }\n }\n\n /**\n * destroys the maxLength box from DOM\n * @private\n */\n private destroyMaxLengthBox() {\n // removes maxlength element from DOM\n if(this.maxLengthSpan) {\n this.renderer.removeChild(this.maxLengthSpan.parentElement, this.maxLengthSpan);\n this.maxLengthSpan = undefined;\n }\n\n // remove wrapper from DOM\n if(this.wrapper) {\n // get parent node of wrapper\n let parent: Node = this.wrapper.parentNode;\n let nativeElement: HTMLElement = this.el.nativeElement;\n // swap wrapper and nativeElement\n parent?.replaceChild(nativeElement, this.wrapper);\n // removes wrapper element from DOM\n this.renderer.removeChild(this.wrapper.parentElement, this.wrapper);\n this.wrapper = undefined;\n }\n }\n\n /**\n * returns the value based on whether control is present and control's\n * updateOn strategy.\n * @private\n */\n private getValue(): string {\n let input = <HTMLInputElement>this.el.nativeElement;\n return this.control && this.control.control.updateOn === 'change' ? this.control.value : input.value;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiMaxLengthDirective],\n declarations: [EuiMaxLengthDirective]\n})\nexport class EuiMaxLengthDirectiveModule {\n}\n/* eslint-enable */\n","import { Directive, Input, NgModule, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiPermissionService } from '@eui/core';\n\n/* eslint-disable */\n@Directive({\n selector: '[euiHasPermission]',\n})\n/* eslint-enable */\nexport class EuiHasPermissionDirective {\n private permissions = [];\n private isHidden = true;\n\n constructor(\n private templateRef: TemplateRef<never>,\n private viewContainer: ViewContainerRef,\n private permissionService: EuiPermissionService,\n ) {}\n\n @Input()\n set euiHasPermission(val) {\n this.permissions = val;\n this.updateView();\n }\n\n private updateView(): void {\n if (this.checkPermission()) {\n if (this.isHidden) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.isHidden = false;\n }\n } else {\n this.isHidden = true;\n this.viewContainer.clear();\n }\n }\n\n private checkPermission(): boolean {\n let hasPermission = true;\n // for start, it checks with and operator\n this.permissions.forEach((permission) => {\n hasPermission = this.permissionService.checkAttributePermission(permission) && hasPermission;\n });\n return hasPermission;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiHasPermissionDirective],\n declarations: [EuiHasPermissionDirective],\n})\nexport class EuiHasPermissionDirectiveModule {}\n","import { NgModule, Directive, HostListener, Inject, OnInit, Input, booleanAttribute, numberAttribute } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n selector: '[euiScrollHandler]',\n})\nexport class EuiScrollHandlerDirective implements OnInit {\n navIsFixed = false;\n appHeaderHeight = 0;\n\n @Input({ transform: booleanAttribute }) euiScrollHandler = false;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private appWrapper: any;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private appHeader: any;\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n ngOnInit(): void {\n this.appWrapper = this.document.getElementById('app-wrapper');\n this.appHeader = this.document.getElementById('app-header');\n if (this.appHeader) {\n this.appHeaderHeight = this.appHeader.scrollHeight;\n }\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n if (this.euiScrollHandler && this.appHeaderHeight !== 0) {\n const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n if (number > this.appHeaderHeight) {\n this.navIsFixed = true;\n this.appWrapper.classList.add('shrink-header-active');\n } else if (this.navIsFixed && number < this.appHeaderHeight) {\n this.navIsFixed = false;\n this.appWrapper.classList.remove('shrink-header-active');\n }\n }\n }\n}\n\n@Directive({\n selector: '[euiScrollHandlerElement]',\n})\nexport class EuiScrollHandlerElementDirective {\n @Input() euiScrollHandlerElement: string;\n @Input() toggleClass: string;\n @Input({ transform: numberAttribute }) toggleActiveHeight: number;\n\n public navIsFixed = false;\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n const element = this.document.getElementById(this.euiScrollHandlerElement);\n const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n if (number > this.toggleActiveHeight) {\n this.navIsFixed = true;\n element.classList.add(this.toggleClass);\n } else if (this.navIsFixed && number < this.toggleActiveHeight) {\n this.navIsFixed = false;\n element.classList.remove(this.toggleClass);\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiScrollHandlerDirective, EuiScrollHandlerElementDirective],\n declarations: [EuiScrollHandlerDirective, EuiScrollHandlerElementDirective],\n})\nexport class EuiScrollHandlerDirectiveModule {}\n","/* https://www.npmjs.com/package/ng2-smooth-scroll\n https://github.com/kavil/ng2SmoothScroll/blob/master/lib/ng2-SmoothScroll.directive.ts\n*/\n/* eslint-disable */\nimport {\n NgModule,\n Directive,\n Input,\n HostListener,\n OnInit,\n ElementRef,\n numberAttribute,\n booleanAttribute,\n Inject,\n PLATFORM_ID,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\n\n@Directive({\n selector: '[euiScrollTo]'\n})\nexport class EuiSmoothScrollToDirective {\n targetElement: any;\n\n @Input('euiScrollTo') public scrollTo: string;\n @Input({alias: 'duration', transform: numberAttribute }) public duration: number;\n @Input({ transform: numberAttribute }) public offset: number;\n @Input('easing') public easing: string;\n @Input('callbackBefore') public callbackBefore: any;\n @Input('callbackAfter') public callbackAfter: any;\n @Input('containerId') public containerId: string;\n @Input('middleAlign') public middleAlign: any;\n\n @HostListener('click') onClick() {\n this.targetElement = document.getElementById(this.scrollTo);\n if (!this.targetElement) {\n return;\n }\n\n new SmoothScroll(this.targetElement, {\n duration: this.duration,\n offset: this.offset,\n easing: this.easing,\n callbackBefore: this.callbackBefore,\n callbackAfter: this.callbackAfter,\n containerId: this.containerId,\n middleAlign: this.middleAlign\n });\n };\n\n}\n\n@Directive({\n selector: '[euiSmoothScroll]'\n})\nexport class EuiSmoothScrollDirective implements OnInit {\n private el;\n\n constructor(el: ElementRef, @Inject(PLATFORM_ID) private platformId: object) {\n this.el = el;\n }\n\n @Input('scrollIf') public scrollIf: boolean;\n @Input({ transform: numberAttribute}) public duration: number;\n @Input({ transform: numberAttribute}) public offset: number;\n @Input('easing') public easing: string;\n @Input('callbackBefore') public callbackBefore: any;\n @Input('callbackAfter') public callbackAfter: any;\n @Input('containerId') public containerId: string;\n @Input({ transform: booleanAttribute }) public scrollOnClick: boolean;\n @Input('middleAlign') public middleAlign: any;\n\n @HostListener('click', ['$event.target']) onClick(target) {\n if (this.scrollOnClick) {\n this.scroll();\n }\n };\n\n public ngOnInit() {\n this.scroll();\n }\n\n private scroll() {\n if (typeof this.scrollIf === 'undefined' || this.scrollIf === true) {\n if(isPlatformBrowser(this.platformId)) {\n setTimeout(() => {\n new SmoothScroll(this.el.nativeElement, {\n duration: this.duration,\n offset: this.offset,\n easing: this.easing,\n callbackBefore: this.callbackBefore,\n callbackAfter: this.callbackAfter,\n containerId: this.containerId,\n middleAlign: this.middleAlign\n });\n }, 0);\n }\n }\n }\n\n}\n\nclass SmoothScroll {\n constructor(element: any, options: any) {\n this.smoothScroll(element, options);\n }\n private smoothScroll(element, options) {\n options = options || {};\n\n // Options\n let duration = options.duration || 800,\n offset = options.offset || 0,\n easing = options.easing || 'easeInOutQuart',\n callbackBefore = options.callbackBefore || function () { },\n callbackAfter = options.callbackAfter || function () { },\n container = document.getElementById(options.containerId) || null,\n containerPresent = (container != undefined && container != null),\n middleAlign = options.middleAlign || false;\n\n\t\t/**\n\t\t * Retrieve current location\n\t\t */\n let getScrollLocation = function () {\n if (containerPresent) {\n return container.scrollTop;\n } else {\n if (window.pageYOffset) {\n return window.pageYOffset;\n } else {\n return document.documentElement.scrollTop;\n }\n }\n };\n\n\t\t/**\n\t\t * Calculate easing pattern.\n\t\t *\n\t\t * 20150713 edit - zephinzer\n\t\t * - changed if-else to switch\n\t\t * @see http://archive.oreilly.com/pub/a/server-administration/excerpts/even-faster-websites/writing-efficient-javascript.html\n\t\t */\n let getEasingPattern = function (type, time) {\n switch (type) {\n case 'easeInQuad': return time * time; // accelerating from zero velocity\n case 'easeOutQuad': return time * (2 - time); // decelerating to zero velocity\n case 'easeInOutQuad': return time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration\n case 'easeInCubic': return time * time * time; // accelerating from zero velocity\n case 'easeOutCubic': return (--time) * time * time + 1; // decelerating to zero velocity\n case 'easeInOutCubic': return time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration\n case 'easeInQuart': return time * time * time * time; // accelerating from zero velocity\n case 'easeOutQuart': return 1 - (--time) * time * time * time; // decelerating to zero velocity\n case 'easeInOutQuart': return time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration\n case 'easeInQuint': return time * time * time * time * time; // accelerating from zero velocity\n case 'easeOutQuint': return 1 + (--time) * time * time * time * time; // decelerating to zero velocity\n case 'easeInOutQuint': return time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration\n default: return time;\n }\n };\n\n\t\t/**\n\t\t * Calculate how far to scroll\n\t\t */\n let getEndLocation = function (element) {\n let location = 0,\n elementRect = element.getBoundingClientRect(),\n absoluteElementTop = elementRect.top + window.pageYOffset;\n\n if (middleAlign) {\n location = (absoluteElementTop + (element.offsetHeight / 2)) - (window.innerHeight / 2);\n } else {\n location = absoluteElementTop;\n }\n\n if (offset) {\n location = location - offset;\n }\n\n return Math.max(location, 0);\n };\n\n // Initialize the whole thing\n setTimeout(function () {\n let currentLocation = null,\n startLocation = getScrollLocation(),\n endLocation = getEndLocation(element),\n timeLapsed = 0,\n distance = endLocation - startLocation,\n percentage,\n position,\n scrollHeight,\n internalHeight;\n\n\t\t\t/**\n\t\t\t * Stop the scrolling animation when the anchor is reached (or at the top/bottom of the page)\n\t\t\t */\n let stopAnimation = function () {\n currentLocation = getScrollLocation();\n if (containerPresent) {\n scrollHeight = container.scrollHeight;\n internalHeight = container.clientHeight + currentLocation;\n } else {\n scrollHeight = document.body.scrollHeight;\n internalHeight = window.innerHeight + currentLocation;\n }\n\n if (\n ( // condition 1\n position == endLocation\n ) ||\n ( // condition 2\n currentLocation == endLocation\n ) ||\n ( // condition 3\n internalHeight > scrollHeight\n )\n ) { // stop\n clearInterval(runAnimation);\n\n callbackAfter(element);\n }\n };\n\n\t\t\t/**\n\t\t\t * Scroll the page by an increment, and check if it's time to stop\n\t\t\t */\n let animateScroll = function () {\n timeLapsed += 16;\n percentage = (timeLapsed / duration);\n percentage = (percentage > 1) ? 1 : percentage;\n position = startLocation + (distance * getEasingPattern(easing, percentage));\n if (containerPresent) {\n container.scrollTop = position;\n } else {\n window.scrollTo(0, position);\n }\n stopAnimation();\n };\n\n callbackBefore(element);\n\n let runAnimation = setInterval(animateScroll, 16);\n }, 0);\n\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiSmoothScrollToDirective, EuiSmoothScrollDirective],\n declarations: [EuiSmoothScrollToDirective, EuiSmoothScrollDirective]\n})\nexport class EuiSmoothScrollDirectiveModule { }\n/* eslint-enable */\n","import {\n AfterViewInit,\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\nimport { EuiLoadingDirective } from './eui-loading.directive';\n\n@Directive({\n selector: 'input[euiClearable]',\n standalone: true,\n})\nexport class EuiClearableDirective implements OnChanges, AfterViewInit {\n @Input({ transform: booleanAttribute }) euiClearable: boolean;\n\n @HostBinding('attr.readonly')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get readonly(): any {\n return this._isReadonly ? '' : null;\n }\n set readonly(v: BooleanInput) {\n this._isReadonly = coerceBooleanProperty(v);\n }\n\n @HostBinding('disabled')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get disabled(): any {\n return this._disabled ? '' : null;\n }\n set disabled(v: BooleanInput) {\n this._disabled = coerceBooleanProperty(v);\n }\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [this._cssClasses, this.euiClearable ? `${this._elementRef.nativeElement.rootClassName}--clearable` : ''].join(' ').trim();\n }\n public set cssClasses(value: string) {\n this._cssClasses = value;\n }\n private _cssClasses: string;\n\n protected _clearableIcon: ComponentRef<EuiIconSvgComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private _isReadonly: boolean;\n private _disabled: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private injector: Injector,\n ) {}\n\n ngAfterViewInit(): void {\n if (this._clearableIcon) {\n const control = this.injector.get(NgControl, null, { optional: true });\n const value = control\n ? control instanceof NgModel\n ? control.model?.toString()\n : control.value?.toString()\n : this._elementRef.nativeElement.value;\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.euiClearable) {\n // get type of the control\n const type = this._elementRef.nativeElement.type;\n if (coerceBooleanProperty(changes['euiClearable'].currentValue)) {\n // check if type is not euiInputNumber or euiInputText, reset and throw error\n if (type !== 'eui-number' && type !== 'text' && type !== 'search') {\n this.euiClearable = true;\n throw new Error('euiClearable is only allowed in euiInputNumber or euiInputText');\n }\n // create dynamically the icon\n this.createClearableIcon();\n\n // wrap them all at an eui-u-flex class\n this.createFlexWrapper();\n this._renderer.appendChild(this._euiUFlexWrapper, this._clearableIcon.location.nativeElement);\n } else if (this._clearableIcon) {\n this.removeClearableIcon();\n const euiLoading = this.injector.get(EuiLoadingDirective, null, { optional: true })?.euiLoading;\n if (!euiLoading) {\n this.removeFlexWrapper();\n }\n }\n }\n\n if (changes['readonly']) {\n if (changes['readonly'].currentValue === false && this.euiClearable) {\n // create wrapper\n this.createFlexWrapper();\n // create dynamically the icon\n this.createClearableIcon();\n this._renderer.appendChild(this._euiUFlexWrapper, this._clearableIcon.location.nativeElement);\n }\n if (changes['readonly'].currentValue === true) {\n this.removeClearableIcon();\n this.removeFlexWrapper();\n }\n }\n\n if (changes['disabled']) {\n if (this._clearableIcon) {\n const disabled = changes['disabled']?.currentValue;\n if (disabled) {\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');\n this._renderer.removeAttribute(this._clearableIcon.location.nativeElement, 'tabindex');\n } else {\n this._renderer.removeStyle(this._clearableIcon.location.nativeElement, 'pointer-events');\n this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');\n }\n }\n }\n }\n\n @HostListener('input', ['$event.target.value'])\n @HostListener('ngModelChange', ['$event'])\n private onKeyUpAndModelChange(value): void {\n if (this.euiClearable) {\n const visibility = value?.toString().length > 0 ? 'visible' : 'hidden';\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', visibility);\n }\n }\n\n private onClearableClicked(): void {\n if (this._elementRef.nativeElement.disabled) {\n return;\n }\n const control = this.injector.get(NgControl, undefined, { optional: true });\n if (control) {\n control.reset();\n } else {\n const inputEvent = new InputEvent('input', { data: null });\n this._elementRef.nativeElement.value = null;\n this._elementRef.nativeElement.dispatchEvent(inputEvent);\n }\n const clearEvent = new InputEvent('clear');\n this._elementRef.nativeElement.dispatchEvent(clearEvent);\n this._elementRef.nativeElement.focus();\n }\n\n /**\n * creates the Clearable icon component\n *\n * @private\n */\n private createClearableIcon(): void {\n if (!this._clearableIcon) {\n // TODO: turn import of EuiIconSvgComponent into a type?\n this._clearableIcon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n this._clearableIcon.instance.set = 'eui';\n this._clearableIcon.instance.icon = 'eui-close';\n this._clearableIcon.instance.ariaLabel = 'Clear input field';\n this._renderer.addClass(this._clearableIcon.location.nativeElement, 'eui-input-text--clearable-icon');\n this._renderer.listen(this._clearableIcon.location.nativeElement, 'click', this.onClearableClicked.bind(this));\n this._renderer.listen(this._clearableIcon.location.nativeElement, 'keydown.enter', this.onClearableClicked.bind(this));\n const control = this.injector.get(NgControl, null, { optional: true });\n const value = control\n ? control instanceof NgModel\n ? control.model?.toString()\n : control.value?.toString()\n : this._elementRef.nativeElement.value;\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n if (!this._elementRef.nativeElement.disabled) {\n this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');\n } else {\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');\n }\n }\n }\n\n /**\n * detach the Clearable icon from the view\n *\n * @private\n */\n private removeClearableIcon(): void {\n if (this._clearableIcon) {\n const index = this._viewContainerRef.indexOf(this._clearableIcon.hostView);\n this._viewContainerRef.detach(index);\n this._clearableIcon = null;\n }\n }\n\n /**\n * create a flex wrapper for the input to hold the icon\n *\n * @private\n */\n private createFlexWrapper(): void {\n if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._renderer.createElement('div');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-p-relative');\n this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n this._renderer.insertBefore(\n this._elementRef.nativeElement.parentElement,\n this._euiUFlexWrapper,\n this._elementRef.nativeElement,\n );\n this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n }\n if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n }\n }\n\n /**\n * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n *\n * @private\n */\n private doesParentHasAFlexWrapper(): boolean {\n return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n }\n\n /**\n * removes the flexWrapper while keeping the input element intact\n *\n * @private\n */\n private removeFlexWrapper(): void {\n if (this._euiUFlexWrapper) {\n this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n this._euiUFlexWrapper.remove();\n this._euiUFlexWrapper = null;\n }\n }\n}\n","import {\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiClearableDirective } from './eui-clearable.directive';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\n\n@Directive({\n selector: '[euiLoading]',\n standalone: true,\n})\nexport class EuiLoadingDirective implements OnChanges {\n @Input({ transform: booleanAttribute }) euiLoading: boolean;\n\n @HostBinding('attr.readonly')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get readonly(): any {\n return this._isReadonly ? '' : null;\n }\n set readonly(v: BooleanInput) {\n this._isReadonly = coerceBooleanProperty(v);\n }\n @HostBinding('class')\n public get cssClasses(): string {\n return [this._cssClasses, this.euiLoading ? `${this._elementRef.nativeElement.rootClassName}--loading` : ''].join(' ').trim();\n }\n public set cssClasses(value: string) {\n this._cssClasses = value;\n }\n protected _loadingIcon: ComponentRef<EuiIconSvgComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private rootClassName: string;\n private _cssClasses: string;\n private _isReadonly: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private injector: Injector,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.euiLoading) {\n const euiClearable = this.injector.get(EuiClearableDirective, undefined, { optional: true })?.euiClearable;\n if (coerceBooleanProperty(changes['euiLoading'].currentValue)) {\n // wrap them all in an eui-u-flex class\n this.createFlexWrapper();\n\n // create dynamically the icon\n this.createLoadingIcon();\n } else if (this._loadingIcon) {\n this.removeLoadingIcon();\n if (!euiClearable) {\n this.removeFlexWrapper();\n }\n }\n }\n\n if (changes['readonly']) {\n if (changes['readonly'].currentValue === false && this.euiLoading) {\n // create wrapper\n this.createFlexWrapper();\n\n // create dynamically the icon\n this.createLoadingIcon();\n this._renderer.appendChild(this._euiUFlexWrapper, this._loadingIcon.location.nativeElement);\n }\n if (changes['readonly'].currentValue === true) {\n this.removeLoadingIcon();\n this.removeFlexWrapper();\n }\n }\n }\n\n /**\n * create a flex wrapper for the input to hold the icon\n *\n * @private\n */\n private createFlexWrapper(): void {\n if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._renderer.createElement('div');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n this._renderer.setStyle(this._euiUFlexWrapper, 'position', 'relative');\n this._renderer.insertBefore(\n this._elementRef.nativeElement.parentElement,\n this._euiUFlexWrapper,\n this._elementRef.nativeElement,\n );\n this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n }\n if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n }\n }\n\n /**\n * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n *\n * @private\n */\n private doesParentHasAFlexWrapper(): boolean {\n return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n }\n\n /**\n * removes the flexWrapper while keeping the input element intact\n *\n * @private\n */\n private removeFlexWrapper(): void {\n if (this._euiUFlexWrapper) {\n this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n this._euiUFlexWrapper.remove();\n this._euiUFlexWrapper = null;\n }\n }\n\n /**\n * creates the loading icon component\n *\n * @private\n */\n private createLoadingIcon(): void {\n if (!this._loadingIcon) {\n this._loadingIcon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n this._loadingIcon.instance.isLoading = true;\n this._loadingIcon.instance.isInputIcon = true;\n this._loadingIcon.instance.euiEnd = true;\n this._loadingIcon.instance.ariaLabel = 'XXXXX';\n this._renderer.appendChild(this._euiUFlexWrapper, this._loadingIcon.location.nativeElement);\n }\n }\n\n /**\n * removes the loading icon component\n *\n * @private\n */\n private removeLoadingIcon(): void {\n if (this._loadingIcon) {\n const index = this._viewContainerRef.indexOf(this._loadingIcon.hostView);\n this._viewContainerRef.detach(index);\n this._loadingIcon = null;\n }\n }\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'eui-resizable',\n templateUrl: './eui-resizable.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiResizableComponent {\n @HostBinding('class') classes = 'eui-resizable';\n @HostBinding('attr.data-e2e') e2e = 'eui-resizable';\n}\n","<div class=\"eui-resizable-bar\" aria-describedby=\"Resizable handle\"></div>\n<span class=\"eui-resizable-icon__container\">\n <svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" class=\"eui-resizable-icon\">\n <use href=\"assets/icons/sprites/sharp.svg#code-working-sharp\"></use>\n </svg>\n</span>\n","\nimport { DOCUMENT } from '@angular/common';\nimport { ComponentRef, Directive, ElementRef, HostBinding, Inject, OnDestroy, OnInit, Renderer2, ViewContainerRef } from '@angular/core';\nimport { distinctUntilChanged, map, takeUntil, tap } from 'rxjs/operators';\nimport { fromEvent, Subject } from 'rxjs';\n\nimport { EuiResizableComponent } from './eui-resizable.component';\n\n@Directive({\n selector: '[euiResizable]',\n})\nexport class EuiResizableDirective implements OnInit, OnDestroy {\n @HostBinding('style.width.px') styleWidth: number;\n @HostBinding('style.max-width.px') styleMaxWidth: number;\n @HostBinding('style.flex-basis.px') styleFlexBasisWidth: number;\n\n private _resizableBar: ComponentRef<EuiResizableComponent>;\n private destroy$ = new Subject<boolean>();\n\n constructor(\n @Inject(DOCUMENT) private _documentRef: Document,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _viewContainerRef: ViewContainerRef,\n ) {}\n\n ngOnInit(): void {\n this._createResizableBar();\n fromEvent<MouseEvent>(this._elementRef.nativeElement.querySelector('.eui-resizable-bar'), 'mousedown').pipe(\n tap((e) => e.preventDefault()), // Disallow selecting text when dragging for resize\n takeUntil(this.destroy$),\n )\n .subscribe((e) => {\n // Only left button\n if (e.button === 0) {\n const { width, right } = this._elementRef.nativeElement.getBoundingClientRect();\n\n fromEvent<MouseEvent>(this._documentRef, 'mousemove').pipe(\n map(({ clientX }) => width + clientX - right),\n distinctUntilChanged(),\n takeUntil(fromEvent(this._documentRef, 'mouseup')))\n .subscribe( (size) => {\n const roundedSize = Math.round(size);\n this.styleWidth = roundedSize;\n this.styleMaxWidth = roundedSize;\n this.styleFlexBasisWidth = roundedSize;\n })\n }\n })\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private _createResizableBar(): void {\n if (!this._resizableBar) {\n this._resizableBar = this._viewContainerRef.createComponent(EuiResizableComponent);\n this._renderer.appendChild(this._elementRef.nativeElement, this._resizableBar.location.nativeElement);\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EuiResizableComponent } from './eui-resizable.component';\nimport { EuiResizableDirective } from './eui-resizable.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EuiResizableComponent, EuiResizableDirective],\n exports: [EuiResizableDirective],\n})\nexport class EuiResizableDirectiveModule {}\n","import { Directive, ElementRef, HostBinding, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[euiArrowKeyNavigable]',\n standalone: true,\n})\n\n/**\n * @description\n * A directive that can be used when there is rich content on an item, in order to make this content focusable with arrow keys.\n *\n */\nexport class EuiArrowKeyNavigableDirective {\n @HostBinding('attr.tabindex') tabindex = '-1';\n isFocused = false;\n \n constructor(public elementRef: ElementRef) {\n }\n\n @HostListener('focus')\n onFocus(): void {\n this.isFocused = true;\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.isFocused = false;\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-directives.mjs","sources":["../../directives/eui-template.directive.ts","../../directives/eui-tooltip/animations/show-hide.ts","../../directives/eui-tooltip/container/eui-tooltip-container.component.ts","../../directives/eui-tooltip/container/eui-tooltip-container.component.html","../../directives/eui-tooltip/eui-tooltip.directive.ts","../../directives/eui-tooltip/eui-tooltip.module.ts","../../directives/eui-maxlength.directive.ts","../../directives/eui-has-permission.directive.ts","../../directives/eui-scroll-handler.directive.ts","../../directives/eui-smooth-scroll.directive.ts","../../directives/eui-clearable.directive.ts","../../directives/eui-loading.directive.ts","../../directives/eui-resizable/eui-resizable.component.ts","../../directives/eui-resizable/eui-resizable.component.html","../../directives/eui-resizable/eui-resizable.directive.ts","../../directives/eui-resizable/eui-resizable.module.ts","../../directives/eui-arrow-key-navigable.directive.ts","../../directives/eui-components-directives.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Directive({\n selector: '[euiTemplate]',\n})\nexport class EuiTemplateDirective {\n @Input() type: string;\n @Input('euiTemplate') name: string;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(public template: TemplateRef<any>) {}\n\n getType(): string {\n return this.name;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiTemplateDirective],\n declarations: [EuiTemplateDirective],\n})\nexport class EuiTemplateDirectiveModule {}\n","import { animate, state, style, transition, trigger, keyframes } from '@angular/animations';\n\nexport const showHide = trigger('showHide', [\n state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n state('visible', style({ transform: 'scale(1)' })),\n transition(\n '* => visible',\n animate(\n '200ms cubic-bezier(0, 0, 0.2, 1)',\n keyframes([\n style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n style({ opacity: 0.5, transform: 'scale(0.99)', offset: 0.5 }),\n style({ opacity: 1, transform: 'scale(1)', offset: 1 }),\n ]),\n ),\n ),\n transition('* => hidden', animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 }))),\n]);\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, HostBinding, Input } from '@angular/core';\n\nimport { showHide } from '../animations/show-hide';\nimport { EuiTooltipInterface } from '../models/eui-tooltip.config';\n\n@Component({\n selector: 'eui-tooltip-container.component',\n templateUrl: 'eui-tooltip-container.component.html',\n styleUrls: ['../styles/_index.scss'],\n animations: [showHide],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTooltipContainerComponent {\n @Input() config: EuiTooltipInterface;\n @HostBinding('attr.data-e2e') e2e = 'eui-tooltip';\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-tooltip', 'eui-tooltip--content-' + this.config.contentAlign, 'eui-tooltip--' + this.config.colorClass]\n .join(' ')\n .trim();\n }\n @HostBinding('@showHide') get showHide(): string {\n return 'visible';\n }\n}\n","<div [innerHTML]=\"config.tooltipContent\"></div>\n","import {\n Directive,\n Input,\n OnInit,\n OnDestroy,\n ElementRef,\n HostListener,\n OnChanges,\n numberAttribute,\n booleanAttribute,\n ComponentRef,\n} from '@angular/core';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, fromEvent, Subject, Subscription, take, timer } from 'rxjs';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EuiTooltipContainerComponent } from './container/eui-tooltip-container.component';\nimport { EuiTooltipInterface } from './models/eui-tooltip.config';\n\n@Directive({\n selector: '[euiTooltip]',\n exportAs: 'euiTooltip',\n})\nexport class EuiTooltipDirective implements OnChanges, OnInit, OnDestroy {\n @Input() e2eAttr = 'eui-tooltip';\n @Input({ transform: numberAttribute }) showDelay = 0;\n @Input({ transform: numberAttribute }) hideDelay = 0;\n @Input() contentAlignment: 'left' | 'right' | 'center' | 'justify' = 'center';\n @Input() position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n @Input({ transform: booleanAttribute }) isDisabled= false;\n @Input('euiTooltip') tooltipContent: string;\n @Input({ transform: booleanAttribute }) euiTooltipPrimary = false;\n @Input({ transform: booleanAttribute }) euiTooltipSecondary = false;\n @Input({ transform: booleanAttribute }) euiTooltipInfo = false;\n @Input({ transform: booleanAttribute }) euiTooltipSuccess = false;\n @Input({ transform: booleanAttribute }) euiTooltipWarning = false;\n @Input({ transform: booleanAttribute }) euiTooltipDanger = false;\n @Input({ transform: booleanAttribute }) euiTooltipAccent = false;\n\n private originX: 'start' | 'end' | 'center' = 'center';\n private originY: 'top' | 'bottom' | 'center' = 'top';\n private overlayX: 'start' | 'end' | 'center' = 'center';\n private overlayY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOriginX: 'start' | 'end' | 'center' = 'center';\n private fallbackOriginY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOverlayX: 'start' | 'end' | 'center' = 'center';\n private fallbackOverlayY: 'top' | 'bottom' | 'center' = 'top';\n private overlayRef: OverlayRef;\n private destroy$ = new Subject<boolean>();\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private mouseleaveSubscription = new Subscription();\n private blurSubscription = new Subscription();\n private showDelaySubscription = new Subscription();\n private positionStrategySubscription = new Subscription();\n private tooltipInstance: ComponentRef<EuiTooltipContainerComponent>;\n\n constructor(private overlay: Overlay, private host: ElementRef<HTMLElement>) {}\n\n ngOnChanges(): void {\n if (this.tooltipInstance) {\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n }\n\n this.setPosition();\n }\n\n ngOnInit(): void {\n this.setPosition();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n this.positionStrategySubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n @HostListener('mouseenter', ['$event'])\n mouseEntering(event: MouseEvent): void {\n this.show(event.target);\n }\n\n @HostListener('focus', ['$event'])\n focused(event: FocusEvent): void {\n this.show(event.target);\n }\n\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n public show(origin: EventTarget = this.host.nativeElement): void {\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n \n this.showDelaySubscription = timer(this.showDelay).subscribe(() => {\n if (!this.isOpen && !this.isDisabled && this.tooltipContent) {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: this.originX, originY: this.originY },\n { overlayX: this.overlayX, overlayY: this.overlayY },\n ),\n new ConnectionPositionPair(\n { originX: this.fallbackOriginX, originY: this.fallbackOriginY },\n { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY },\n ),\n ])\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n panelClass: ['eui-tooltip__container'],\n positionStrategy,\n scrollStrategy,\n });\n\n document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n if (!el.classList.contains('eui-18')) {\n el.classList.add('eui-18');\n }\n });\n\n this.positionStrategySubscription = positionStrategy.positionChanges.subscribe((overlayPosition) => {\n this.position = this.getPosition(overlayPosition);\n const positionClasses = [\n 'eui-tooltip--left',\n 'eui-tooltip--right',\n 'eui-tooltip--above',\n 'eui-tooltip--below',\n 'eui-tooltip--before',\n 'eui-tooltip--after',\n ];\n this.overlayRef.removePanelClass(positionClasses);\n this.overlayRef.addPanelClass(['eui-tooltip--' + this.position]);\n });\n\n const componentPortal = new ComponentPortal<EuiTooltipContainerComponent>(\n EuiTooltipContainerComponent,\n null,\n );\n\n this.tooltipInstance = this.overlayRef.attach(componentPortal);\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n\n this.isOpen$.next(true);\n }\n });\n\n this.mouseleaveSubscription = fromEvent(origin, 'mouseleave').subscribe(() => {\n this.hide();\n });\n\n this.blurSubscription = fromEvent(origin, 'blur').subscribe(() => {\n this.hide();\n });\n }\n\n public hide(): void {\n timer(this.hideDelay)\n .pipe(take(1))\n .subscribe(() => {\n this.isOpen$.next(false);\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n this.positionStrategySubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n });\n }\n\n private getTooltipConfig(): EuiTooltipInterface {\n let colorClass = 'secondary';\n if (this.euiTooltipPrimary) {\n colorClass = 'primary';\n }\n if (this.euiTooltipSecondary) {\n colorClass = 'secondary';\n }\n if (this.euiTooltipInfo) {\n colorClass = 'info';\n }\n if (this.euiTooltipSuccess) {\n colorClass = 'success';\n }\n if (this.euiTooltipWarning) {\n colorClass = 'warning';\n }\n if (this.euiTooltipDanger) {\n colorClass = 'danger';\n }\n if (this.euiTooltipAccent) {\n colorClass = 'accent';\n }\n\n return {\n e2eAttr: this.e2eAttr,\n tooltipContent: this.tooltipContent,\n position: this.position,\n contentAlign: this.contentAlignment,\n colorClass,\n };\n }\n\n private getPosition(overlayPosition: ConnectedOverlayPositionChange): string {\n if (overlayPosition.connectionPair.originY === 'top' && overlayPosition.connectionPair.overlayY === 'bottom') {\n return 'above';\n }\n if (overlayPosition.connectionPair.originY === 'bottom' && overlayPosition.connectionPair.overlayY === 'top') {\n return 'below';\n }\n if (overlayPosition.connectionPair.originX === 'start' && overlayPosition.connectionPair.overlayX === 'end') {\n return 'left';\n }\n if (overlayPosition.connectionPair.originX === 'end' && overlayPosition.connectionPair.overlayX === 'start') {\n return 'right';\n }\n }\n\n private setPosition(): void {\n if (this.position === 'above') {\n this.originY = 'top';\n this.overlayY = 'bottom';\n this.fallbackOriginY = 'bottom';\n this.fallbackOverlayY = 'top';\n }\n if (this.position === 'right' || this.position === 'after') {\n this.originX = 'end';\n this.originY = 'center';\n this.overlayX = 'start';\n this.overlayY = 'center';\n this.fallbackOriginX = 'start';\n this.fallbackOriginY = 'center';\n this.fallbackOverlayX = 'end';\n this.fallbackOverlayY = 'center';\n }\n if (this.position === 'below') {\n this.originY = 'bottom';\n this.overlayY = 'top';\n this.fallbackOriginY = 'top';\n this.fallbackOverlayY = 'bottom';\n }\n if (this.position === 'left' || this.position === 'before') {\n this.originX = 'start';\n this.originY = 'center';\n this.overlayX = 'end';\n this.overlayY = 'center';\n this.fallbackOriginX = 'end';\n this.fallbackOriginY = 'center';\n this.fallbackOverlayX = 'start';\n this.fallbackOverlayY = 'center';\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { EuiTooltipContainerComponent } from './container/eui-tooltip-container.component';\nimport { EuiTooltipDirective } from './eui-tooltip.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EuiTooltipContainerComponent, EuiTooltipDirective],\n exports: [EuiTooltipDirective],\n})\nexport class EuiTooltipDirectiveModule {}\n","import {\n Directive,\n ElementRef,\n Input,\n Output,\n AfterContentInit,\n NgModule,\n EventEmitter,\n OnDestroy,\n HostListener,\n Optional,\n Self,\n OnChanges,\n SimpleChanges,\n Renderer2,\n numberAttribute,\n booleanAttribute,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n/* eslint-disable */\n@Directive({\n selector: `\n input[euiMaxlength],\n textarea[euiMaxlength],\n [ngModel][euiMaxlength],\n [formControlName][euiMaxlength]`,\n})\nexport class EuiMaxLengthDirective implements AfterContentInit, OnDestroy, OnChanges {\n /**\n * It accepts number values to indicate the maxLength of an input. To reset or disable it set the value to null.\n * NULL value will remove any MaxLength indicator even if another input like isShowMaxlength equals true.\n */\n @Input({ alias:'euiMaxlength', transform: numberAttribute }) maxLength: number;\n @Input({ alias:'isShowMaxlength', transform: booleanAttribute }) isShowMaxlength: boolean = true;\n @Output() maxLengthReached: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n valueChangesSubscription: Subscription;\n\n private maxLengthSpan: HTMLSpanElement;\n private wrapper: HTMLDivElement;\n private lengthCalcFn: () => number;\n\n constructor(private el: ElementRef,\n private renderer: Renderer2,\n @Self() @Optional() private control: NgControl) {\n // set default length calculation behavior\n this.setLengthCalcFactory((value) => value?.length || 0);\n }\n\n ngOnDestroy() {\n // remove all DOM added elements\n this.destroyMaxLengthBox();\n\n // unsubscribe from valueChanges\n if(this.valueChangesSubscription) {\n this.valueChangesSubscription.unsubscribe();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(changes['isShowMaxlength']) {\n if(this.isShowMaxlength) {\n this.createMaxLengthBox();\n this._refreshValue();\n } else {\n this.destroyMaxLengthBox();\n }\n }\n if(changes['maxLength']) {\n if(this.maxLength < 0) {\n throw new Error('euiMaxlength of an input or a textarea cannot be negative.')\n }\n if(this.maxLength) {\n // re-create in case you previously destroyed it\n if(this.isShowMaxlength && !this.maxLengthSpan) {\n this.createMaxLengthBox();\n }\n this._refreshValue();\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'maxLength');\n this.destroyMaxLengthBox();\n }\n }\n }\n\n ngAfterContentInit() {\n if (this.maxLength) {\n this.createMaxLengthBox();\n this._refreshValue();\n }\n\n // this subscription is needed apart from HostListener to Changes in case usage of this directive\n // in custom component that implements ngDefaultControl\n if (this.control?.valueChanges) {\n this.valueChangesSubscription = this.control.valueChanges.subscribe(() => {\n this._refreshValue();\n });\n }\n }\n\n @HostListener('change', ['$event'])\n onChange(event: Event) {\n if(!this.control || this.control?.control.updateOn !== 'change') {\n this._refreshValue();\n }\n }\n\n @HostListener('input', ['$event'])\n onInput(event: KeyboardEvent) {\n if(!this.control || this.control?.control.updateOn !== 'change') {\n this._refreshValue();\n }\n }\n\n @HostListener('paste', ['$event'])\n onPaste(event: ClipboardEvent) {\n // get the value from clipboard\n let value = (event.clipboardData || window['clipboardData']).getData('text');\n // calculate and set the maxLength based on the clipboard value\n let input = <HTMLInputElement>this.el.nativeElement;\n if(this.maxLength) {\n this.renderer.setProperty(input, 'maxLength', this.calculateMaxLength(value));\n }\n }\n\n public setLengthCalcFactory(fn: (input: string) => number): void {\n this.lengthCalcFn = () => {\n const value = this.getValue();\n return fn(value);\n }\n }\n\n /**\n * calculates the maxLength of an input element. Calculation is made\n * against the value of the Model or Input Element.\n * @param value Optional the value to calculate max length against (override the Model one)\n * @private\n */\n private calculateMaxLength(value?: string): number {\n const inputValue = this.getValue();\n return (value?.length || (inputValue?.length || 0) - this.lengthCalcFn()) + this.maxLength;\n }\n\n private _refreshValue(): void {\n if(isNaN(this.maxLength)) {\n return;\n }\n let input = <HTMLInputElement>this.el.nativeElement;\n let valueLength = this.lengthCalcFn();\n let remainingLength = this.maxLength - valueLength;\n\n this.renderer.setProperty(input, 'maxLength', this.calculateMaxLength());\n if(this.maxLengthSpan) {\n // based on the remaining length add/remove the error class\n if (remainingLength <= 0) {\n this.renderer.addClass(this.maxLengthSpan, 'eui-input-maxlength--invalid')\n this.maxLengthReached.emit(true);\n } else {\n this.renderer.removeClass(this.maxLengthSpan, 'eui-input-maxlength--invalid')\n this.maxLengthReached.emit(false);\n }\n // set the value of remaining characters\n if (remainingLength < 0) {\n // this feature is only available when the calculation of length is not custom\n // to support this feature you need to calculate this.maxLength also\n if (this.control) {\n this.control.control.setValue(input.value.substring(0, this.calculateMaxLength()))\n } else {\n input.value = input.value.substring(0, this.calculateMaxLength());\n }\n this.renderer.setProperty(this.maxLengthSpan, 'innerHTML', '0')\n } else if (remainingLength >= 0) {\n this.renderer.setProperty(this.maxLengthSpan, 'innerHTML', (this.maxLength - valueLength).toString())\n }\n }\n }\n\n /**\n * creates the maxLength box by adding it to DOM and attaching correct Classes\n * for Wrapper and Span (actual box holding max length)\n * @private\n */\n private createMaxLengthBox() {\n if(this.maxLengthSpan) {\n this.destroyMaxLengthBox();\n }\n // creates the span that holds the max length value which changes according to input\n this.maxLengthSpan = this.renderer.createElement('span');\n this.renderer.addClass(this.maxLengthSpan, 'eui-input-maxlength')\n this.renderer.setAttribute(this.maxLengthSpan, 'innerHTML', this.maxLength.toString());\n\n // create wrapper element\n let nativeElement: HTMLElement = this.el.nativeElement;\n if (nativeElement != null) {\n // set width to 100%\n this.renderer.setStyle(nativeElement, 'width', '100%');\n let parent: Node = nativeElement.parentNode;\n if (parent != null && this.isShowMaxlength) {\n // creates wrapper div of input and maxLength span\n this.wrapper = this.renderer.createElement('div');\n this.renderer.addClass(this.wrapper, 'eui-input-maxlength-wrapper');\n // swap, wrapper should wrap the nativeElement and maxLength span\n parent.replaceChild(this.wrapper, nativeElement);\n this.renderer.appendChild(this.wrapper, nativeElement);\n this.renderer.appendChild(this.wrapper, this.maxLengthSpan);\n }\n }\n }\n\n /**\n * destroys the maxLength box from DOM\n * @private\n */\n private destroyMaxLengthBox() {\n // removes maxlength element from DOM\n if(this.maxLengthSpan) {\n this.renderer.removeChild(this.maxLengthSpan.parentElement, this.maxLengthSpan);\n this.maxLengthSpan = undefined;\n }\n\n // remove wrapper from DOM\n if(this.wrapper) {\n // get parent node of wrapper\n let parent: Node = this.wrapper.parentNode;\n let nativeElement: HTMLElement = this.el.nativeElement;\n // swap wrapper and nativeElement\n parent?.replaceChild(nativeElement, this.wrapper);\n // removes wrapper element from DOM\n this.renderer.removeChild(this.wrapper.parentElement, this.wrapper);\n this.wrapper = undefined;\n }\n }\n\n /**\n * returns the value based on whether control is present and control's\n * updateOn strategy.\n * @private\n */\n private getValue(): string {\n let input = <HTMLInputElement>this.el.nativeElement;\n return this.control && this.control.control.updateOn === 'change' ? this.control.value : input.value;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiMaxLengthDirective],\n declarations: [EuiMaxLengthDirective]\n})\nexport class EuiMaxLengthDirectiveModule {\n}\n/* eslint-enable */\n","import { Directive, Input, NgModule, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiPermissionService } from '@eui/core';\n\n/* eslint-disable */\n@Directive({\n selector: '[euiHasPermission]',\n})\n/* eslint-enable */\nexport class EuiHasPermissionDirective {\n private permissions = [];\n private isHidden = true;\n\n constructor(\n private templateRef: TemplateRef<never>,\n private viewContainer: ViewContainerRef,\n private permissionService: EuiPermissionService,\n ) {}\n\n @Input()\n set euiHasPermission(val) {\n this.permissions = val;\n this.updateView();\n }\n\n private updateView(): void {\n if (this.checkPermission()) {\n if (this.isHidden) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.isHidden = false;\n }\n } else {\n this.isHidden = true;\n this.viewContainer.clear();\n }\n }\n\n private checkPermission(): boolean {\n let hasPermission = true;\n // for start, it checks with and operator\n this.permissions.forEach((permission) => {\n hasPermission = this.permissionService.checkAttributePermission(permission) && hasPermission;\n });\n return hasPermission;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiHasPermissionDirective],\n declarations: [EuiHasPermissionDirective],\n})\nexport class EuiHasPermissionDirectiveModule {}\n","import { NgModule, Directive, HostListener, Inject, OnInit, Input, booleanAttribute, numberAttribute } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n selector: '[euiScrollHandler]',\n})\nexport class EuiScrollHandlerDirective implements OnInit {\n navIsFixed = false;\n appHeaderHeight = 0;\n\n @Input({ transform: booleanAttribute }) euiScrollHandler = false;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private appWrapper: any;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private appHeader: any;\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n ngOnInit(): void {\n this.appWrapper = this.document.getElementById('app-wrapper');\n this.appHeader = this.document.getElementById('app-header');\n if (this.appHeader) {\n this.appHeaderHeight = this.appHeader.scrollHeight;\n }\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n if (this.euiScrollHandler && this.appHeaderHeight !== 0) {\n const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n if (number > this.appHeaderHeight) {\n this.navIsFixed = true;\n this.appWrapper.classList.add('shrink-header-active');\n } else if (this.navIsFixed && number < this.appHeaderHeight) {\n this.navIsFixed = false;\n this.appWrapper.classList.remove('shrink-header-active');\n }\n }\n }\n}\n\n@Directive({\n selector: '[euiScrollHandlerElement]',\n})\nexport class EuiScrollHandlerElementDirective {\n @Input() euiScrollHandlerElement: string;\n @Input() toggleClass: string;\n @Input({ transform: numberAttribute }) toggleActiveHeight: number;\n\n public navIsFixed = false;\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n const element = this.document.getElementById(this.euiScrollHandlerElement);\n const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n if (number > this.toggleActiveHeight) {\n this.navIsFixed = true;\n element.classList.add(this.toggleClass);\n } else if (this.navIsFixed && number < this.toggleActiveHeight) {\n this.navIsFixed = false;\n element.classList.remove(this.toggleClass);\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiScrollHandlerDirective, EuiScrollHandlerElementDirective],\n declarations: [EuiScrollHandlerDirective, EuiScrollHandlerElementDirective],\n})\nexport class EuiScrollHandlerDirectiveModule {}\n","/* https://www.npmjs.com/package/ng2-smooth-scroll\n https://github.com/kavil/ng2SmoothScroll/blob/master/lib/ng2-SmoothScroll.directive.ts\n*/\n/* eslint-disable */\nimport {\n NgModule,\n Directive,\n Input,\n HostListener,\n OnInit,\n ElementRef,\n numberAttribute,\n booleanAttribute,\n Inject,\n PLATFORM_ID,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\n\n@Directive({\n selector: '[euiScrollTo]'\n})\nexport class EuiSmoothScrollToDirective {\n targetElement: any;\n\n @Input('euiScrollTo') public scrollTo: string;\n @Input({alias: 'duration', transform: numberAttribute }) public duration: number;\n @Input({ transform: numberAttribute }) public offset: number;\n @Input('easing') public easing: string;\n @Input('callbackBefore') public callbackBefore: any;\n @Input('callbackAfter') public callbackAfter: any;\n @Input('containerId') public containerId: string;\n @Input('middleAlign') public middleAlign: any;\n\n @HostListener('click') onClick() {\n this.targetElement = document.getElementById(this.scrollTo);\n if (!this.targetElement) {\n return;\n }\n\n new SmoothScroll(this.targetElement, {\n duration: this.duration,\n offset: this.offset,\n easing: this.easing,\n callbackBefore: this.callbackBefore,\n callbackAfter: this.callbackAfter,\n containerId: this.containerId,\n middleAlign: this.middleAlign\n });\n };\n\n}\n\n@Directive({\n selector: '[euiSmoothScroll]'\n})\nexport class EuiSmoothScrollDirective implements OnInit {\n private el;\n\n constructor(el: ElementRef, @Inject(PLATFORM_ID) private platformId: object) {\n this.el = el;\n }\n\n @Input('scrollIf') public scrollIf: boolean;\n @Input({ transform: numberAttribute}) public duration: number;\n @Input({ transform: numberAttribute}) public offset: number;\n @Input('easing') public easing: string;\n @Input('callbackBefore') public callbackBefore: any;\n @Input('callbackAfter') public callbackAfter: any;\n @Input('containerId') public containerId: string;\n @Input({ transform: booleanAttribute }) public scrollOnClick: boolean;\n @Input('middleAlign') public middleAlign: any;\n\n @HostListener('click', ['$event.target']) onClick(target) {\n if (this.scrollOnClick) {\n this.scroll();\n }\n };\n\n public ngOnInit() {\n this.scroll();\n }\n\n private scroll() {\n if (typeof this.scrollIf === 'undefined' || this.scrollIf === true) {\n if(isPlatformBrowser(this.platformId)) {\n setTimeout(() => {\n new SmoothScroll(this.el.nativeElement, {\n duration: this.duration,\n offset: this.offset,\n easing: this.easing,\n callbackBefore: this.callbackBefore,\n callbackAfter: this.callbackAfter,\n containerId: this.containerId,\n middleAlign: this.middleAlign\n });\n }, 0);\n }\n }\n }\n\n}\n\nclass SmoothScroll {\n constructor(element: any, options: any) {\n this.smoothScroll(element, options);\n }\n private smoothScroll(element, options) {\n options = options || {};\n\n // Options\n let duration = options.duration || 800,\n offset = options.offset || 0,\n easing = options.easing || 'easeInOutQuart',\n callbackBefore = options.callbackBefore || function () { },\n callbackAfter = options.callbackAfter || function () { },\n container = document.getElementById(options.containerId) || null,\n containerPresent = (container != undefined && container != null),\n middleAlign = options.middleAlign || false;\n\n\t\t/**\n\t\t * Retrieve current location\n\t\t */\n let getScrollLocation = function () {\n if (containerPresent) {\n return container.scrollTop;\n } else {\n if (window.pageYOffset) {\n return window.pageYOffset;\n } else {\n return document.documentElement.scrollTop;\n }\n }\n };\n\n\t\t/**\n\t\t * Calculate easing pattern.\n\t\t *\n\t\t * 20150713 edit - zephinzer\n\t\t * - changed if-else to switch\n\t\t * @see http://archive.oreilly.com/pub/a/server-administration/excerpts/even-faster-websites/writing-efficient-javascript.html\n\t\t */\n let getEasingPattern = function (type, time) {\n switch (type) {\n case 'easeInQuad': return time * time; // accelerating from zero velocity\n case 'easeOutQuad': return time * (2 - time); // decelerating to zero velocity\n case 'easeInOutQuad': return time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration\n case 'easeInCubic': return time * time * time; // accelerating from zero velocity\n case 'easeOutCubic': return (--time) * time * time + 1; // decelerating to zero velocity\n case 'easeInOutCubic': return time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration\n case 'easeInQuart': return time * time * time * time; // accelerating from zero velocity\n case 'easeOutQuart': return 1 - (--time) * time * time * time; // decelerating to zero velocity\n case 'easeInOutQuart': return time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration\n case 'easeInQuint': return time * time * time * time * time; // accelerating from zero velocity\n case 'easeOutQuint': return 1 + (--time) * time * time * time * time; // decelerating to zero velocity\n case 'easeInOutQuint': return time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration\n default: return time;\n }\n };\n\n\t\t/**\n\t\t * Calculate how far to scroll\n\t\t */\n let getEndLocation = function (element) {\n let location = 0,\n elementRect = element.getBoundingClientRect(),\n absoluteElementTop = elementRect.top + window.pageYOffset;\n\n if (middleAlign) {\n location = (absoluteElementTop + (element.offsetHeight / 2)) - (window.innerHeight / 2);\n } else {\n location = absoluteElementTop;\n }\n\n if (offset) {\n location = location - offset;\n }\n\n return Math.max(location, 0);\n };\n\n // Initialize the whole thing\n setTimeout(function () {\n let currentLocation = null,\n startLocation = getScrollLocation(),\n endLocation = getEndLocation(element),\n timeLapsed = 0,\n distance = endLocation - startLocation,\n percentage,\n position,\n scrollHeight,\n internalHeight;\n\n\t\t\t/**\n\t\t\t * Stop the scrolling animation when the anchor is reached (or at the top/bottom of the page)\n\t\t\t */\n let stopAnimation = function () {\n currentLocation = getScrollLocation();\n if (containerPresent) {\n scrollHeight = container.scrollHeight;\n internalHeight = container.clientHeight + currentLocation;\n } else {\n scrollHeight = document.body.scrollHeight;\n internalHeight = window.innerHeight + currentLocation;\n }\n\n if (\n ( // condition 1\n position == endLocation\n ) ||\n ( // condition 2\n currentLocation == endLocation\n ) ||\n ( // condition 3\n internalHeight > scrollHeight\n )\n ) { // stop\n clearInterval(runAnimation);\n\n callbackAfter(element);\n }\n };\n\n\t\t\t/**\n\t\t\t * Scroll the page by an increment, and check if it's time to stop\n\t\t\t */\n let animateScroll = function () {\n timeLapsed += 16;\n percentage = (timeLapsed / duration);\n percentage = (percentage > 1) ? 1 : percentage;\n position = startLocation + (distance * getEasingPattern(easing, percentage));\n if (containerPresent) {\n container.scrollTop = position;\n } else {\n window.scrollTo(0, position);\n }\n stopAnimation();\n };\n\n callbackBefore(element);\n\n let runAnimation = setInterval(animateScroll, 16);\n }, 0);\n\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiSmoothScrollToDirective, EuiSmoothScrollDirective],\n declarations: [EuiSmoothScrollToDirective, EuiSmoothScrollDirective]\n})\nexport class EuiSmoothScrollDirectiveModule { }\n/* eslint-enable */\n","import {\n AfterViewInit,\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\nimport { EuiLoadingDirective } from './eui-loading.directive';\n\n@Directive({\n selector: 'input[euiClearable]',\n standalone: true,\n})\nexport class EuiClearableDirective implements OnChanges, AfterViewInit {\n @Input({ transform: booleanAttribute }) euiClearable: boolean;\n\n @HostBinding('attr.readonly')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get readonly(): any {\n return this._isReadonly ? '' : null;\n }\n set readonly(v: BooleanInput) {\n this._isReadonly = coerceBooleanProperty(v);\n }\n\n @HostBinding('disabled')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get disabled(): any {\n return this._disabled ? '' : null;\n }\n set disabled(v: BooleanInput) {\n this._disabled = coerceBooleanProperty(v);\n }\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [this._cssClasses, this.euiClearable ? `${this._elementRef.nativeElement.rootClassName}--clearable` : ''].join(' ').trim();\n }\n public set cssClasses(value: string) {\n this._cssClasses = value;\n }\n private _cssClasses: string;\n\n protected _clearableIcon: ComponentRef<EuiIconSvgComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private _isReadonly: boolean;\n private _disabled: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private injector: Injector,\n ) {}\n\n ngAfterViewInit(): void {\n if (this._clearableIcon) {\n const control = this.injector.get(NgControl, null, { optional: true });\n const value = control\n ? control instanceof NgModel\n ? control.model?.toString()\n : control.value?.toString()\n : this._elementRef.nativeElement.value;\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.euiClearable) {\n // get type of the control\n const type = this._elementRef.nativeElement.type;\n if (coerceBooleanProperty(changes['euiClearable'].currentValue)) {\n // check if type is not euiInputNumber or euiInputText, reset and throw error\n if (type !== 'eui-number' && type !== 'text' && type !== 'search') {\n this.euiClearable = true;\n throw new Error('euiClearable is only allowed in euiInputNumber or euiInputText');\n }\n // create dynamically the icon\n this.createClearableIcon();\n\n // wrap them all at an eui-u-flex class\n this.createFlexWrapper();\n this._renderer.appendChild(this._euiUFlexWrapper, this._clearableIcon.location.nativeElement);\n } else if (this._clearableIcon) {\n this.removeClearableIcon();\n const euiLoading = this.injector.get(EuiLoadingDirective, null, { optional: true })?.euiLoading;\n if (!euiLoading) {\n this.removeFlexWrapper();\n }\n }\n }\n\n if (changes['readonly']) {\n if (changes['readonly'].currentValue === false && this.euiClearable) {\n // create wrapper\n this.createFlexWrapper();\n // create dynamically the icon\n this.createClearableIcon();\n this._renderer.appendChild(this._euiUFlexWrapper, this._clearableIcon.location.nativeElement);\n }\n if (changes['readonly'].currentValue === true) {\n this.removeClearableIcon();\n this.removeFlexWrapper();\n }\n }\n\n if (changes['disabled']) {\n if (this._clearableIcon) {\n const disabled = changes['disabled']?.currentValue;\n if (disabled) {\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');\n this._renderer.removeAttribute(this._clearableIcon.location.nativeElement, 'tabindex');\n } else {\n this._renderer.removeStyle(this._clearableIcon.location.nativeElement, 'pointer-events');\n this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');\n }\n }\n }\n }\n\n @HostListener('input', ['$event.target.value'])\n @HostListener('ngModelChange', ['$event'])\n private onKeyUpAndModelChange(value): void {\n if (this.euiClearable) {\n const visibility = value?.toString().length > 0 ? 'visible' : 'hidden';\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', visibility);\n }\n }\n\n private onClearableClicked(): void {\n if (this._elementRef.nativeElement.disabled) {\n return;\n }\n const control = this.injector.get(NgControl, undefined, { optional: true });\n if (control) {\n control.reset();\n } else {\n const inputEvent = new InputEvent('input', { data: null });\n this._elementRef.nativeElement.value = null;\n this._elementRef.nativeElement.dispatchEvent(inputEvent);\n }\n const clearEvent = new InputEvent('clear');\n this._elementRef.nativeElement.dispatchEvent(clearEvent);\n this._elementRef.nativeElement.focus();\n }\n\n /**\n * creates the Clearable icon component\n *\n * @private\n */\n private createClearableIcon(): void {\n if (!this._clearableIcon) {\n // TODO: turn import of EuiIconSvgComponent into a type?\n this._clearableIcon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n this._clearableIcon.instance.set = 'eui';\n this._clearableIcon.instance.icon = 'eui-close';\n this._clearableIcon.instance.ariaLabel = 'Clear input field';\n this._renderer.addClass(this._clearableIcon.location.nativeElement, 'eui-input-text--clearable-icon');\n this._renderer.listen(this._clearableIcon.location.nativeElement, 'click', this.onClearableClicked.bind(this));\n this._renderer.listen(this._clearableIcon.location.nativeElement, 'keydown.enter', this.onClearableClicked.bind(this));\n const control = this.injector.get(NgControl, null, { optional: true });\n const value = control\n ? control instanceof NgModel\n ? control.model?.toString()\n : control.value?.toString()\n : this._elementRef.nativeElement.value;\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n if (!this._elementRef.nativeElement.disabled) {\n this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');\n } else {\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');\n }\n }\n }\n\n /**\n * detach the Clearable icon from the view\n *\n * @private\n */\n private removeClearableIcon(): void {\n if (this._clearableIcon) {\n const index = this._viewContainerRef.indexOf(this._clearableIcon.hostView);\n this._viewContainerRef.detach(index);\n this._clearableIcon = null;\n }\n }\n\n /**\n * create a flex wrapper for the input to hold the icon\n *\n * @private\n */\n private createFlexWrapper(): void {\n if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._renderer.createElement('div');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-p-relative');\n this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n this._renderer.insertBefore(\n this._elementRef.nativeElement.parentElement,\n this._euiUFlexWrapper,\n this._elementRef.nativeElement,\n );\n this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n }\n if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n }\n }\n\n /**\n * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n *\n * @private\n */\n private doesParentHasAFlexWrapper(): boolean {\n return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n }\n\n /**\n * removes the flexWrapper while keeping the input element intact\n *\n * @private\n */\n private removeFlexWrapper(): void {\n if (this._euiUFlexWrapper) {\n this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n this._euiUFlexWrapper.remove();\n this._euiUFlexWrapper = null;\n }\n }\n}\n","import {\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiClearableDirective } from './eui-clearable.directive';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\n\n@Directive({\n selector: '[euiLoading]',\n standalone: true,\n})\nexport class EuiLoadingDirective implements OnChanges {\n @Input({ transform: booleanAttribute }) euiLoading: boolean;\n\n @HostBinding('attr.readonly')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get readonly(): any {\n return this._isReadonly ? '' : null;\n }\n set readonly(v: BooleanInput) {\n this._isReadonly = coerceBooleanProperty(v);\n }\n @HostBinding('class')\n public get cssClasses(): string {\n return [this._cssClasses, this.euiLoading ? `${this._elementRef.nativeElement.rootClassName}--loading` : ''].join(' ').trim();\n }\n public set cssClasses(value: string) {\n this._cssClasses = value;\n }\n protected _loadingIcon: ComponentRef<EuiIconSvgComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private rootClassName: string;\n private _cssClasses: string;\n private _isReadonly: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private injector: Injector,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.euiLoading) {\n const euiClearable = this.injector.get(EuiClearableDirective, undefined, { optional: true })?.euiClearable;\n if (coerceBooleanProperty(changes['euiLoading'].currentValue)) {\n // wrap them all in an eui-u-flex class\n this.createFlexWrapper();\n\n // create dynamically the icon\n this.createLoadingIcon();\n } else if (this._loadingIcon) {\n this.removeLoadingIcon();\n if (!euiClearable) {\n this.removeFlexWrapper();\n }\n }\n }\n\n if (changes['readonly']) {\n if (changes['readonly'].currentValue === false && this.euiLoading) {\n // create wrapper\n this.createFlexWrapper();\n\n // create dynamically the icon\n this.createLoadingIcon();\n this._renderer.appendChild(this._euiUFlexWrapper, this._loadingIcon.location.nativeElement);\n }\n if (changes['readonly'].currentValue === true) {\n this.removeLoadingIcon();\n this.removeFlexWrapper();\n }\n }\n }\n\n /**\n * create a flex wrapper for the input to hold the icon\n *\n * @private\n */\n private createFlexWrapper(): void {\n if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._renderer.createElement('div');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n this._renderer.setStyle(this._euiUFlexWrapper, 'position', 'relative');\n this._renderer.insertBefore(\n this._elementRef.nativeElement.parentElement,\n this._euiUFlexWrapper,\n this._elementRef.nativeElement,\n );\n this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n }\n if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n }\n }\n\n /**\n * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n *\n * @private\n */\n private doesParentHasAFlexWrapper(): boolean {\n return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n }\n\n /**\n * removes the flexWrapper while keeping the input element intact\n *\n * @private\n */\n private removeFlexWrapper(): void {\n if (this._euiUFlexWrapper) {\n this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n this._euiUFlexWrapper.remove();\n this._euiUFlexWrapper = null;\n }\n }\n\n /**\n * creates the loading icon component\n *\n * @private\n */\n private createLoadingIcon(): void {\n if (!this._loadingIcon) {\n this._loadingIcon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n this._loadingIcon.instance.isLoading = true;\n this._loadingIcon.instance.isInputIcon = true;\n this._loadingIcon.instance.euiEnd = true;\n this._loadingIcon.instance.ariaLabel = 'XXXXX';\n this._renderer.appendChild(this._euiUFlexWrapper, this._loadingIcon.location.nativeElement);\n }\n }\n\n /**\n * removes the loading icon component\n *\n * @private\n */\n private removeLoadingIcon(): void {\n if (this._loadingIcon) {\n const index = this._viewContainerRef.indexOf(this._loadingIcon.hostView);\n this._viewContainerRef.detach(index);\n this._loadingIcon = null;\n }\n }\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'eui-resizable',\n templateUrl: './eui-resizable.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiResizableComponent {\n @HostBinding('class') classes = 'eui-resizable';\n @HostBinding('attr.data-e2e') e2e = 'eui-resizable';\n}\n","<div class=\"eui-resizable-bar\" aria-describedby=\"Resizable handle\"></div>\n<span class=\"eui-resizable-icon__container\">\n <svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" class=\"eui-resizable-icon\">\n <use href=\"assets/icons/sprites/sharp.svg#code-working-sharp\"></use>\n </svg>\n</span>\n","\nimport { DOCUMENT } from '@angular/common';\nimport { ComponentRef, Directive, ElementRef, HostBinding, Inject, OnDestroy, OnInit, Renderer2, ViewContainerRef } from '@angular/core';\nimport { distinctUntilChanged, map, takeUntil, tap } from 'rxjs/operators';\nimport { fromEvent, Subject } from 'rxjs';\n\nimport { EuiResizableComponent } from './eui-resizable.component';\n\n@Directive({\n selector: '[euiResizable]',\n})\nexport class EuiResizableDirective implements OnInit, OnDestroy {\n @HostBinding('style.width.px') styleWidth: number;\n @HostBinding('style.max-width.px') styleMaxWidth: number;\n @HostBinding('style.flex-basis.px') styleFlexBasisWidth: number;\n\n private _resizableBar: ComponentRef<EuiResizableComponent>;\n private destroy$ = new Subject<boolean>();\n\n constructor(\n @Inject(DOCUMENT) private _documentRef: Document,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _viewContainerRef: ViewContainerRef,\n ) {}\n\n ngOnInit(): void {\n this._createResizableBar();\n fromEvent<MouseEvent>(this._elementRef.nativeElement.querySelector('.eui-resizable-bar'), 'mousedown').pipe(\n tap((e) => e.preventDefault()), // Disallow selecting text when dragging for resize\n takeUntil(this.destroy$),\n )\n .subscribe((e) => {\n // Only left button\n if (e.button === 0) {\n const { width, right } = this._elementRef.nativeElement.getBoundingClientRect();\n\n fromEvent<MouseEvent>(this._documentRef, 'mousemove').pipe(\n map(({ clientX }) => width + clientX - right),\n distinctUntilChanged(),\n takeUntil(fromEvent(this._documentRef, 'mouseup')))\n .subscribe( (size) => {\n const roundedSize = Math.round(size);\n this.styleWidth = roundedSize;\n this.styleMaxWidth = roundedSize;\n this.styleFlexBasisWidth = roundedSize;\n })\n }\n })\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private _createResizableBar(): void {\n if (!this._resizableBar) {\n this._resizableBar = this._viewContainerRef.createComponent(EuiResizableComponent);\n this._renderer.appendChild(this._elementRef.nativeElement, this._resizableBar.location.nativeElement);\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EuiResizableComponent } from './eui-resizable.component';\nimport { EuiResizableDirective } from './eui-resizable.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EuiResizableComponent, EuiResizableDirective],\n exports: [EuiResizableDirective],\n})\nexport class EuiResizableDirectiveModule {}\n","import { Directive, ElementRef, HostBinding, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[euiArrowKeyNavigable]',\n standalone: true,\n})\n\n/**\n * @description\n * A directive that can be used when there is rich content on an item, in order to make this content focusable with arrow keys.\n *\n */\nexport class EuiArrowKeyNavigableDirective {\n @HostBinding('attr.tabindex') tabindex = '-1';\n isFocused = false;\n \n constructor(public elementRef: ElementRef) {\n }\n\n @HostListener('focus')\n onFocus(): void {\n this.isFocused = true;\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.isFocused = false;\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|