@eui/components 17.3.9-snapshot-1723680620318 → 17.3.10
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/container/eui-tooltip-container.component.d.ts +3 -4
- package/directives/eui-tooltip/container/eui-tooltip-container.component.d.ts.map +1 -1
- package/directives/eui-tooltip/eui-tooltip.directive.d.ts +4 -4
- package/directives/eui-tooltip/eui-tooltip.directive.d.ts.map +1 -1
- package/docs/components/EuiTooltipContainerComponent.html +21 -69
- package/docs/dependencies.html +3 -3
- package/docs/directives/EuiTooltipDirective.html +1 -13
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +0 -26
- package/esm2022/directives/eui-tooltip/container/eui-tooltip-container.component.mjs +10 -14
- package/esm2022/directives/eui-tooltip/eui-tooltip.directive.mjs +41 -21
- package/fesm2022/eui-components-directives.mjs +48 -42
- package/fesm2022/eui-components-directives.mjs.map +1 -1
- package/package.json +10 -10
- package/directives/eui-tooltip/token/eui-tooltip.token.d.ts +0 -4
- package/directives/eui-tooltip/token/eui-tooltip.token.d.ts.map +0 -1
- package/esm2022/directives/eui-tooltip/token/eui-tooltip.token.mjs +0 -3
@@ -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/token/eui-tooltip.token.ts","../../directives/eui-tooltip/models/eui-tooltip.config.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-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 { InjectionToken } from '@angular/core';\n\nimport { EuiTooltipInterface } from '../models/eui-tooltip.config';\n\nexport const TOOLTIP_CONTAINER_CONFIG = new InjectionToken<EuiTooltipInterface>('TOOLTIP_CONTAINER_CONFIG');\n","export class EuiTooltipConfig implements EuiTooltipInterface {\n e2eAttr = 'eui-tooltip';\n tooltipContent = null;\n position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n contentAlign: 'left' | 'right' | 'center' | 'justify' = 'center';\n colorClass = null;\n\n constructor(values: EuiTooltipInterface) {\n Object.assign(this, values);\n }\n}\n\nexport interface EuiTooltipInterface {\n e2eAttr: string;\n tooltipContent: string;\n position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string;\n contentAlign: 'left' | 'right' | 'center' | 'justify';\n colorClass: string;\n}\n","import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation, HostBinding } from '@angular/core';\n\nimport { showHide } from '../animations/show-hide';\nimport { EuiTooltipConfig } from '../models/eui-tooltip.config';\nimport { TOOLTIP_CONTAINER_CONFIG } from '../token/eui-tooltip.token';\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 @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 constructor(@Inject(TOOLTIP_CONTAINER_CONFIG) public config: EuiTooltipConfig) {}\n}\n","<div [innerHTML]=\"config.tooltipContent\"></div>\n","import { Directive, Input, OnInit, OnDestroy, ElementRef, HostListener, Injector, StaticProvider, OnChanges } from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\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';\nimport { TOOLTIP_CONTAINER_CONFIG } from './token/eui-tooltip.token';\n\n@Directive({\n selector: '[euiTooltip]',\n exportAs: 'euiTooltip',\n})\nexport class EuiTooltipDirective implements OnChanges, OnInit, OnDestroy {\n @Input() e2eAttr = 'eui-tooltip';\n @Input() showDelay = 0;\n @Input() hideDelay = 0;\n @Input() contentAlignment: 'left' | 'right' | 'center' | 'justify' = 'center';\n @Input() position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n @Input()\n get isDisabled(): boolean {\n return this._isDisabled;\n }\n set isDisabled(value: BooleanInput) {\n this._isDisabled = coerceBooleanProperty(value);\n }\n private _isDisabled = false;\n @Input()\n get euiTooltip(): string {\n return this.tooltipContent;\n }\n set euiTooltip(value: string) {\n this.tooltipContent = value;\n }\n @Input()\n get euiTooltipPrimary(): boolean {\n return this._euiTooltipPrimary;\n }\n set euiTooltipPrimary(value: BooleanInput) {\n this._euiTooltipPrimary = coerceBooleanProperty(value);\n }\n private _euiTooltipPrimary = false;\n @Input()\n get euiTooltipSecondary(): boolean {\n return this._euiTooltipSecondary;\n }\n set euiTooltipSecondary(value: BooleanInput) {\n this._euiTooltipSecondary = coerceBooleanProperty(value);\n }\n private _euiTooltipSecondary = false;\n @Input()\n get euiTooltipInfo(): boolean {\n return this._euiTooltipInfo;\n }\n set euiTooltipInfo(value: BooleanInput) {\n this._euiTooltipInfo = coerceBooleanProperty(value);\n }\n private _euiTooltipInfo = false;\n @Input()\n get euiTooltipSuccess(): boolean {\n return this._euiTooltipSuccess;\n }\n set euiTooltipSuccess(value: BooleanInput) {\n this._euiTooltipSuccess = coerceBooleanProperty(value);\n }\n private _euiTooltipSuccess = false;\n @Input()\n get euiTooltipWarning(): boolean {\n return this._euiTooltipWarning;\n }\n set euiTooltipWarning(value: BooleanInput) {\n this._euiTooltipWarning = coerceBooleanProperty(value);\n }\n private _euiTooltipWarning = false;\n @Input()\n get euiTooltipDanger(): boolean {\n return this._euiTooltipDanger;\n }\n set euiTooltipDanger(value: BooleanInput) {\n this._euiTooltipDanger = coerceBooleanProperty(value);\n }\n private _euiTooltipDanger = false;\n @Input()\n get euiTooltipAccent(): boolean {\n return this._euiTooltipAccent;\n }\n set euiTooltipAccent(value: BooleanInput) {\n this._euiTooltipAccent = coerceBooleanProperty(value);\n }\n private _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 tooltipContent: string;\n\n constructor(\n private overlay: Overlay,\n private host: ElementRef<HTMLElement>,\n private injector: Injector,\n ) {}\n\n ngOnChanges(): void {\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 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 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 const componentPortal = new ComponentPortal<EuiTooltipContainerComponent>(\n EuiTooltipContainerComponent,\n null,\n this.createInjector({\n e2eAttr: this.e2eAttr,\n tooltipContent: this.tooltipContent,\n position: this.position,\n contentAlign: this.contentAlignment,\n colorClass,\n }),\n );\n\n this.overlayRef.attach(componentPortal);\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 createInjector(data: EuiTooltipInterface): Injector {\n const injectorTokens: StaticProvider = [{ provide: TOOLTIP_CONTAINER_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\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} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { coerceBooleanProperty, BooleanInput, NumberInput, coerceNumberProperty } from '@angular/cdk/coercion';\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 @Input('euiMaxlength')\n get maxLength(): number { return this._maxLength; }\n set maxLength(value: NumberInput) { this._maxLength = coerceNumberProperty(value); }\n private _maxLength: number;\n @Input('isShowMaxlength')\n get isShowMaxlength(): boolean { return this._isShowMaxlength; }\n set isShowMaxlength(value: BooleanInput) { this._isShowMaxlength = coerceBooleanProperty(value); }\n private _isShowMaxlength = 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'] && this.maxLengthSpan) {\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 this._refreshValue();\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'maxLength');\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 this.renderer.setProperty(input, 'maxLength', this.calculateMaxLength(value));\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() {\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 // 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 }\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 }\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 } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[euiScrollHandler]',\n})\nexport class EuiScrollHandlerDirective implements OnInit {\n navIsFixed = false;\n appHeaderHeight = 0;\n\n @Input()\n get euiScrollHandler(): boolean {\n return this._euiScrollHandler;\n }\n set euiScrollHandler(value: BooleanInput) {\n this._euiScrollHandler = coerceBooleanProperty(value);\n }\n private _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() 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 { NgModule, Directive, Input, HostListener, OnInit, ElementRef } from '@angular/core';\nimport { CommonModule } 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('duration') public duration: number;\n @Input('offset') 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) {\n this.el = el;\n }\n\n @Input('scrollIf') public scrollIf: boolean;\n @Input('duration') public duration: number;\n @Input('offset') 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('scrollOnClick') 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 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\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 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 @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 @Input()\n get euiClearable(): boolean {\n return this._euiClearable;\n }\n set euiClearable(value: BooleanInput) {\n this._euiClearable = coerceBooleanProperty(value);\n }\n protected _clearableIcon: ComponentRef<EuiIconSvgComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private _euiClearable: boolean;\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 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 { EuiIconComponent } from '@eui/components/eui-icon';\n\n@Directive({\n selector: '[euiLoading]',\n standalone: true,\n})\nexport class EuiLoadingDirective implements OnChanges {\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 @Input()\n get euiLoading(): boolean {\n return this._euiLoading;\n }\n set euiLoading(value: BooleanInput) {\n this._euiLoading = coerceBooleanProperty(value);\n }\n protected _loadingIcon: ComponentRef<EuiIconComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private _euiLoading;\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(EuiIconComponent);\n this._loadingIcon.instance.styleClass = 'eui-input-text--loading-icon';\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","/**\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-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 ComponentRef,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\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() showDelay = 0;\n @Input() hideDelay = 0;\n @Input() contentAlignment: 'left' | 'right' | 'center' | 'justify' = 'center';\n @Input() position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n @Input()\n get isDisabled(): boolean {\n return this._isDisabled;\n }\n set isDisabled(value: BooleanInput) {\n this._isDisabled = coerceBooleanProperty(value);\n }\n private _isDisabled = false;\n @Input()\n get euiTooltip(): string {\n return this.tooltipContent;\n }\n set euiTooltip(value: string) {\n this.tooltipContent = value;\n }\n @Input()\n get euiTooltipPrimary(): boolean {\n return this._euiTooltipPrimary;\n }\n set euiTooltipPrimary(value: BooleanInput) {\n this._euiTooltipPrimary = coerceBooleanProperty(value);\n }\n private _euiTooltipPrimary = false;\n @Input()\n get euiTooltipSecondary(): boolean {\n return this._euiTooltipSecondary;\n }\n set euiTooltipSecondary(value: BooleanInput) {\n this._euiTooltipSecondary = coerceBooleanProperty(value);\n }\n private _euiTooltipSecondary = false;\n @Input()\n get euiTooltipInfo(): boolean {\n return this._euiTooltipInfo;\n }\n set euiTooltipInfo(value: BooleanInput) {\n this._euiTooltipInfo = coerceBooleanProperty(value);\n }\n private _euiTooltipInfo = false;\n @Input()\n get euiTooltipSuccess(): boolean {\n return this._euiTooltipSuccess;\n }\n set euiTooltipSuccess(value: BooleanInput) {\n this._euiTooltipSuccess = coerceBooleanProperty(value);\n }\n private _euiTooltipSuccess = false;\n @Input()\n get euiTooltipWarning(): boolean {\n return this._euiTooltipWarning;\n }\n set euiTooltipWarning(value: BooleanInput) {\n this._euiTooltipWarning = coerceBooleanProperty(value);\n }\n private _euiTooltipWarning = false;\n @Input()\n get euiTooltipDanger(): boolean {\n return this._euiTooltipDanger;\n }\n set euiTooltipDanger(value: BooleanInput) {\n this._euiTooltipDanger = coerceBooleanProperty(value);\n }\n private _euiTooltipDanger = false;\n @Input()\n get euiTooltipAccent(): boolean {\n return this._euiTooltipAccent;\n }\n set euiTooltipAccent(value: BooleanInput) {\n this._euiTooltipAccent = coerceBooleanProperty(value);\n }\n private _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 tooltipContent: string;\n private tooltipInstance: ComponentRef<EuiTooltipContainerComponent>;\n\n constructor(\n private overlay: Overlay,\n private host: ElementRef<HTMLElement>,\n ) {}\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 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 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 const componentPortal = new ComponentPortal<EuiTooltipContainerComponent>(EuiTooltipContainerComponent, null);\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} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { coerceBooleanProperty, BooleanInput, NumberInput, coerceNumberProperty } from '@angular/cdk/coercion';\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 @Input('euiMaxlength')\n get maxLength(): number { return this._maxLength; }\n set maxLength(value: NumberInput) { this._maxLength = coerceNumberProperty(value); }\n private _maxLength: number;\n @Input('isShowMaxlength')\n get isShowMaxlength(): boolean { return this._isShowMaxlength; }\n set isShowMaxlength(value: BooleanInput) { this._isShowMaxlength = coerceBooleanProperty(value); }\n private _isShowMaxlength = 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'] && this.maxLengthSpan) {\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 this._refreshValue();\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'maxLength');\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 this.renderer.setProperty(input, 'maxLength', this.calculateMaxLength(value));\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() {\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 // 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 }\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 }\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 } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[euiScrollHandler]',\n})\nexport class EuiScrollHandlerDirective implements OnInit {\n navIsFixed = false;\n appHeaderHeight = 0;\n\n @Input()\n get euiScrollHandler(): boolean {\n return this._euiScrollHandler;\n }\n set euiScrollHandler(value: BooleanInput) {\n this._euiScrollHandler = coerceBooleanProperty(value);\n }\n private _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() 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 { NgModule, Directive, Input, HostListener, OnInit, ElementRef } from '@angular/core';\nimport { CommonModule } 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('duration') public duration: number;\n @Input('offset') 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) {\n this.el = el;\n }\n\n @Input('scrollIf') public scrollIf: boolean;\n @Input('duration') public duration: number;\n @Input('offset') 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('scrollOnClick') 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 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\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 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 @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 @Input()\n get euiClearable(): boolean {\n return this._euiClearable;\n }\n set euiClearable(value: BooleanInput) {\n this._euiClearable = coerceBooleanProperty(value);\n }\n protected _clearableIcon: ComponentRef<EuiIconSvgComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private _euiClearable: boolean;\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 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 { EuiIconComponent } from '@eui/components/eui-icon';\n\n@Directive({\n selector: '[euiLoading]',\n standalone: true,\n})\nexport class EuiLoadingDirective implements OnChanges {\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 @Input()\n get euiLoading(): boolean {\n return this._euiLoading;\n }\n set euiLoading(value: BooleanInput) {\n this._euiLoading = coerceBooleanProperty(value);\n }\n protected _loadingIcon: ComponentRef<EuiIconComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private _euiLoading;\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(EuiIconComponent);\n this._loadingIcon.instance.styleClass = 'eui-input-text--loading-icon';\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|