@eui/components 19.2.2-snapshot-1746543961415 → 19.2.2-snapshot-1746624054534

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.
Files changed (79) hide show
  1. package/directives/eui-tooltip/container/eui-tooltip-container.component.d.ts.map +1 -1
  2. package/docs/components/EuiDiscussionThreadComponent.html +81 -6
  3. package/docs/components/EuiDiscussionThreadItemComponent.html +4 -0
  4. package/docs/components/EuiHeaderUserProfileComponent.html +6 -0
  5. package/docs/components/EuiNavbarComponent.html +0 -4
  6. package/docs/components/EuiNavbarItemComponent.html +4 -0
  7. package/docs/components/EuiTimelineComponent.html +4 -4
  8. package/docs/components/EuiTimelineItemComponent.html +4 -4
  9. package/docs/components/EuiToolbarComponent.html +6 -3
  10. package/docs/components/EuiTooltipContainerComponent.html +0 -4
  11. package/docs/dependencies.html +2 -2
  12. package/docs/js/search/search_index.js +2 -2
  13. package/eui-card/components/eui-card-footer/eui-card-footer.component.d.ts.map +1 -1
  14. package/eui-discussion-thread/eui-discussion-thread-item.component.d.ts.map +1 -1
  15. package/eui-discussion-thread/eui-discussion-thread.component.d.ts +6 -0
  16. package/eui-discussion-thread/eui-discussion-thread.component.d.ts.map +1 -1
  17. package/eui-navbar/eui-navbar-item/eui-navbar-item.component.d.ts.map +1 -1
  18. package/eui-navbar/eui-navbar.component.d.ts.map +1 -1
  19. package/eui-timeline/eui-timeline-item.component.d.ts.map +1 -1
  20. package/eui-timeline/eui-timeline.component.d.ts.map +1 -1
  21. package/fesm2022/eui-components-directives.mjs +5 -5
  22. package/fesm2022/eui-components-directives.mjs.map +1 -1
  23. package/fesm2022/eui-components-eui-alert.mjs +4 -4
  24. package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
  25. package/fesm2022/eui-components-eui-autocomplete.mjs +2 -2
  26. package/fesm2022/eui-components-eui-avatar.mjs +2 -2
  27. package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
  28. package/fesm2022/eui-components-eui-badge.mjs +2 -2
  29. package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
  30. package/fesm2022/eui-components-eui-block-content.mjs +2 -2
  31. package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
  32. package/fesm2022/eui-components-eui-block-document.mjs +2 -2
  33. package/fesm2022/eui-components-eui-block-document.mjs.map +1 -1
  34. package/fesm2022/eui-components-eui-button.mjs +2 -2
  35. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  36. package/fesm2022/eui-components-eui-card.mjs +2 -2
  37. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  38. package/fesm2022/eui-components-eui-chip.mjs +2 -2
  39. package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
  40. package/fesm2022/eui-components-eui-dashboard-card.mjs +2 -2
  41. package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
  42. package/fesm2022/eui-components-eui-datepicker.mjs +2 -2
  43. package/fesm2022/eui-components-eui-datepicker.mjs.map +1 -1
  44. package/fesm2022/eui-components-eui-discussion-thread.mjs +18 -7
  45. package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
  46. package/fesm2022/eui-components-eui-file-upload.mjs +2 -2
  47. package/fesm2022/eui-components-eui-growl.mjs +2 -2
  48. package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
  49. package/fesm2022/eui-components-eui-icon-button.mjs +2 -2
  50. package/fesm2022/eui-components-eui-icon-button.mjs.map +1 -1
  51. package/fesm2022/eui-components-eui-input-checkbox.mjs +2 -2
  52. package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
  53. package/fesm2022/eui-components-eui-navbar.mjs +6 -10
  54. package/fesm2022/eui-components-eui-navbar.mjs.map +1 -1
  55. package/fesm2022/eui-components-eui-paginator.mjs +2 -2
  56. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  57. package/fesm2022/eui-components-eui-progress-bar.mjs +2 -2
  58. package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
  59. package/fesm2022/eui-components-eui-progress-circle.mjs +2 -2
  60. package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
  61. package/fesm2022/eui-components-eui-slide-toggle.mjs +2 -2
  62. package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
  63. package/fesm2022/eui-components-eui-table-v2.mjs +2 -2
  64. package/fesm2022/eui-components-eui-table.mjs +2 -2
  65. package/fesm2022/eui-components-eui-tabs-v2.mjs +2 -2
  66. package/fesm2022/eui-components-eui-tabs-v2.mjs.map +1 -1
  67. package/fesm2022/eui-components-eui-tabs.mjs +4 -4
  68. package/fesm2022/eui-components-eui-timebar.mjs +2 -2
  69. package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
  70. package/fesm2022/eui-components-eui-timeline.mjs +4 -4
  71. package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
  72. package/fesm2022/eui-components-eui-tree-list.mjs +2 -2
  73. package/fesm2022/eui-components-eui-wizard.mjs +4 -4
  74. package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
  75. package/fesm2022/eui-components-layout.mjs +18 -10
  76. package/fesm2022/eui-components-layout.mjs.map +1 -1
  77. package/layout/eui-header/header-user-profile/header-user-profile.component.d.ts.map +1 -1
  78. package/layout/eui-toolbar/toolbar.component.d.ts.map +1 -1
  79. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-directives.mjs","sources":["../../directives/eui-template.directive.ts","../../directives/eui-tooltip/animations/show-hide.ts","../../directives/eui-tooltip/container/eui-tooltip-container.component.ts","../../directives/eui-tooltip/container/eui-tooltip-container.component.html","../../directives/eui-tooltip/eui-tooltip.directive.ts","../../directives/eui-tooltip/eui-tooltip.module.ts","../../directives/eui-maxlength.directive.ts","../../directives/eui-has-permission.directive.ts","../../directives/eui-scroll-handler.directive.ts","../../directives/eui-smooth-scroll.directive.ts","../../directives/eui-clearable.directive.ts","../../directives/eui-loading.directive.ts","../../directives/eui-resizable/eui-resizable.component.ts","../../directives/eui-resizable/eui-resizable.component.html","../../directives/eui-resizable/eui-resizable.directive.ts","../../directives/eui-resizable/eui-resizable.module.ts","../../directives/eui-arrow-key-navigable.directive.ts","../../directives/eui-components-directives.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, NgModule } from '@angular/core';\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/**\n * @deprecated Use {@link EuiTemplateDirective} instead.\n */\n@NgModule({\n imports: [EuiTemplateDirective],\n exports: [EuiTemplateDirective],\n})\nexport class EuiTemplateDirectiveModule {}\n","import { animate, state, style, transition, trigger, keyframes } from '@angular/animations';\n\n/**\n * Tooltip display animation.\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 // Styles are in globals: \\packages\\styles\\src\\styles\\07-elements\\directives\\_eui-tooltip.scss\n animations: [showHide],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTooltipContainerComponent {\n /**\n * Configuration provided by euiTooltip directive at instantiation.\n *\n * @type {EuiTooltipInterface} A config object containing e2eAttr, tooltipContent, position, contentAlign, colorClass.\n */\n @Input() config: EuiTooltipInterface;\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eui-tooltip'\n */\n @HostBinding('attr.data-e2e') e2e = 'eui-tooltip';\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-tooltip', 'eui-tooltip--content-' + this.config.contentAlign, 'eui-tooltip--' + this.config.colorClass]\n .join(' ')\n .trim();\n }\n @HostBinding('@showHide') get showHide(): string {\n return 'visible';\n }\n}\n","<div [innerHTML]=\"config.tooltipContent\"></div>\n","import {\n Directive,\n Input,\n OnInit,\n OnDestroy,\n ElementRef,\n HostListener,\n OnChanges,\n numberAttribute,\n booleanAttribute,\n ComponentRef,\n} from '@angular/core';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, fromEvent, Subject, Subscription, take, timer } from 'rxjs';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EuiTooltipContainerComponent } from './container/eui-tooltip-container.component';\nimport { EuiTooltipInterface } from './models/eui-tooltip.config';\n\n/**\n * @description\n * A tooltip is a text box that displays addition information when a user hovers over, clicks or gives focus to a UI element such as an icon, a highlighted word or a button.\n *\n * The information should be contextual, useful and non-essential.\n *\n */\n@Directive({\n selector: '[euiTooltip]',\n exportAs: 'euiTooltip',\n})\nexport class EuiTooltipDirective implements OnChanges, OnInit, OnDestroy {\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eui-tooltip'\n */\n @Input() e2eAttr = 'eui-tooltip';\n /**\n * Sets the delay for the tooltip to be visible.\n *\n * @default 0\n */\n @Input({ transform: numberAttribute }) showDelay = 0;\n /**\n * Sets the delay for the tooltip to be hidden\n *\n * @default 0\n */\n @Input({ transform: numberAttribute }) hideDelay = 0;\n /**\n * Sets the alignment of the content in the tooltip.\n *\n * @default 'center''\n */\n @Input() contentAlignment: 'left' | 'right' | 'center' | 'justify' = 'center';\n /**\n * Sets the position of the tooltip relative to its trigger element.\n *\n * @default 'center''\n */\n @Input() position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n /**\n * Wheter the tooltip is disabled.\n *\n * @default false (enable)\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Tooltip content.\n */\n @Input('euiTooltip') tooltipContent: string;\n /**\n * Wheter the tooltip has Primary state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipPrimary = false;\n /**\n * Wheter the tooltip has Secondary state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipSecondary = false;\n /**\n * Wheter the tooltip has Info state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipInfo = false;\n /**\n * Wheter the tooltip has Success state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipSuccess = false;\n /**\n * Wheter the tooltip has Warning state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipWarning = false;\n /**\n * Wheter the tooltip has Danger state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipDanger = false;\n /**\n * Wheter the tooltip has Accent state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipAccent = false;\n\n private originX: 'start' | 'end' | 'center' = 'center';\n private originY: 'top' | 'bottom' | 'center' = 'top';\n private overlayX: 'start' | 'end' | 'center' = 'center';\n private overlayY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOriginX: 'start' | 'end' | 'center' = 'center';\n private fallbackOriginY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOverlayX: 'start' | 'end' | 'center' = 'center';\n private fallbackOverlayY: 'top' | 'bottom' | 'center' = 'top';\n private overlayRef: OverlayRef;\n private destroy$ = new Subject<boolean>();\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private mouseleaveSubscription = new Subscription();\n private blurSubscription = new Subscription();\n private showDelaySubscription = new Subscription();\n private positionStrategySubscription = new Subscription();\n private tooltipInstance: ComponentRef<EuiTooltipContainerComponent>;\n\n constructor(private overlay: Overlay, private host: ElementRef<HTMLElement>) {}\n\n ngOnChanges(): void {\n if (this.tooltipInstance) {\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n }\n\n this.setPosition();\n }\n\n ngOnInit(): void {\n this.setPosition();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n this.positionStrategySubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n @HostListener('mouseenter', ['$event'])\n mouseEntering(event: MouseEvent): void {\n this.show(event.target);\n }\n\n @HostListener('focus', ['$event'])\n focused(event: FocusEvent): void {\n this.show(event.target);\n }\n\n /**\n * Returns the current open state.\n *\n * @returns {boolean} `true` if the element is open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Method that shows a tooltip.\n *\n * @param origin Origin of the tooltip. Where it will be displayed.\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', 'eui-19'],\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 const componentPortal = new ComponentPortal<EuiTooltipContainerComponent>(\n EuiTooltipContainerComponent,\n null,\n );\n\n this.tooltipInstance = this.overlayRef.attach(componentPortal);\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n\n this.isOpen$.next(true);\n }\n });\n\n this.mouseleaveSubscription = fromEvent(origin, 'mouseleave').subscribe(() => {\n this.hide();\n });\n\n this.blurSubscription = fromEvent(origin, 'blur').subscribe(() => {\n this.hide();\n });\n }\n\n /**\n * Method that closes a tooltip.\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 /**\n * Generates and returns the tooltip configuration based on the defined tooltip properties.\n *\n * @returns {EuiTooltipInterface} The tooltip configuration object, including attributes used in container component.\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 /**\n * Determines and returns the tooltip's position based on the overlay's connection pair.\n *\n * @param {ConnectedOverlayPositionChange} overlayPosition - The overlay position change event.\n * @returns {string} The calculated position (`'above'`, `'below'`, `'left'`, or `'right'`).\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 /**\n * Sets the position-related properties based on the current `position` value.\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 { NgModule } from '@angular/core';\n\nimport { EuiTooltipContainerComponent } from './container/eui-tooltip-container.component';\nimport { EuiTooltipDirective } from './eui-tooltip.directive';\n\n/**\n * @description\n * Module that provides the EuiTooltip component and its dependencies\n *\n * @deprecated Use {@link EuiTooltipDirective} instead.\n */\n@NgModule({\n imports: [EuiTooltipDirective, EuiTooltipContainerComponent],\n exports: [EuiTooltipDirective],\n})\nexport class EuiTooltipDirectiveModule {}\n","import {\n Directive,\n ElementRef,\n Input,\n Output,\n AfterContentInit,\n NgModule,\n EventEmitter,\n OnDestroy,\n HostListener,\n Optional,\n Self,\n OnChanges,\n SimpleChanges,\n Renderer2,\n numberAttribute,\n booleanAttribute,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n/**\n * @description\n * A directive that adds maxLength functionality to input and textarea elements with visual feedback.\n * It shows the remaining characters count and provides visual indication when the limit is reached.\n *\n * @selector input[euiMaxlength], textarea[euiMaxlength], [ngModel][euiMaxlength], [formControlName][euiMaxlength]\n *\n * @example\n * ```html\n * <!-- Basic usage -->\n * <input [euiMaxlength]=\"50\">\n *\n * <!-- With form control -->\n * <input [formControlName]=\"'name'\" [euiMaxlength]=\"100\">\n *\n * <!-- Hide maxlength indicator -->\n * <textarea [euiMaxlength]=\"200\" [isShowMaxlength]=\"false\"></textarea>\n * ```\n *\n * @publicApi\n */\n@Directive({\n selector: `\n input[euiMaxlength],\n textarea[euiMaxlength],\n [ngModel][euiMaxlength],\n [formControlName][euiMaxlength]`,\n})\nexport class EuiMaxLengthDirective implements AfterContentInit, OnDestroy, OnChanges {\n /**\n * @description\n * It accepts number values to indicate the maxLength of an input. To reset or disable it set the value to null.\n * NULL value will remove any MaxLength indicator even if another input like isShowMaxlength equals true.\n */\n @Input({ alias:'euiMaxlength', transform: numberAttribute }) maxLength: number;\n /**\n * @description\n * Controls the visibility of the maxLength indicator.\n * When true, shows a counter with remaining characters.\n * When false, hides the counter but maintains the maxLength restriction.\n *\n * @default true\n */\n @Input({ transform: booleanAttribute }) isShowMaxlength = true;\n /**\n * @description\n * Emits when the input value length reaches or exceeds the maxLength limit.\n * Emits true when limit is reached, false when below limit.\n *\n * @emits {boolean} True when max length is reached, false otherwise\n */\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(): void {\n // remove all DOM added elements\n this.destroyMaxLengthBox();\n\n // unsubscribe from valueChanges\n if(this.valueChangesSubscription) {\n this.valueChangesSubscription.unsubscribe();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(changes['isShowMaxlength']) {\n if(this.isShowMaxlength) {\n this.createMaxLengthBox();\n this._refreshValue();\n } else {\n this.destroyMaxLengthBox();\n }\n }\n if(changes['maxLength']) {\n if(this.maxLength < 0) {\n throw new Error('euiMaxlength of an input or a textarea cannot be negative.')\n }\n if(this.maxLength) {\n // re-create in case you previously destroyed it\n if(this.isShowMaxlength && !this.maxLengthSpan) {\n this.createMaxLengthBox();\n }\n this._refreshValue();\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'maxLength');\n this.destroyMaxLengthBox();\n }\n }\n }\n\n ngAfterContentInit(): void {\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): void {\n if(!this.control || this.control?.control.updateOn !== 'change') {\n this._refreshValue();\n }\n }\n\n @HostListener('input', ['$event'])\n onInput(event: KeyboardEvent): void {\n if(!this.control || this.control?.control.updateOn !== 'change') {\n this._refreshValue();\n }\n }\n\n @HostListener('paste', ['$event'])\n onPaste(event: ClipboardEvent): void {\n // get the value from clipboard\n const value = (event.clipboardData || window['clipboardData']).getData('text');\n // calculate and set the maxLength based on the clipboard value\n const input = <HTMLInputElement>this.el.nativeElement;\n if(this.maxLength) {\n this.renderer.setProperty(input, 'maxLength', this.calculateMaxLength(value));\n }\n }\n\n /**\n * Sets a custom function to calculate the length of the input value.\n * Useful for implementing custom length calculation logic (e.g., counting characters differently).\n *\n * @param fn Function that takes a string input and returns its calculated length\n *\n * @example\n * ```typescript\n * // Custom length calculation excluding spaces\n * directive.setLengthCalcFactory((value: string) => value.replace(/\\s/g, '').length);\n * ```\n */\n public setLengthCalcFactory(fn: (input: string) => number): void {\n this.lengthCalcFn = (): number => {\n const value = this.getValue();\n return fn(value);\n }\n }\n\n /**\n * Calculates the maximum length for the input element based on current value or provided value.\n *\n * @param value Optional value to calculate max length against (overrides the current input value)\n * @returns {number} Calculated maximum length\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 /**\n * @description\n * Refreshes the visual state of the maxLength indicator and updates input restrictions.\n * - Updates the remaining characters count\n * - Applies/removes error styling\n * - Emits maxLengthReached event\n * - Truncates value if it exceeds maxLength\n *\n * @private\n */\n private _refreshValue(): void {\n if(isNaN(this.maxLength)) {\n return;\n }\n const input = <HTMLInputElement>this.el.nativeElement;\n const valueLength = this.lengthCalcFn();\n const 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 * @description\n * Creates the maxLength indicator box in the DOM.\n * Wraps the input element and adds the counter span with appropriate styling.\n *\n * @private\n */\n private createMaxLengthBox(): void {\n if(this.maxLengthSpan) {\n this.destroyMaxLengthBox();\n }\n // creates the span that holds the max length value which changes according to input\n this.maxLengthSpan = this.renderer.createElement('span');\n this.renderer.addClass(this.maxLengthSpan, 'eui-input-maxlength')\n this.renderer.setAttribute(this.maxLengthSpan, 'innerHTML', this.maxLength.toString());\n\n // create wrapper element\n const nativeElement: HTMLElement = this.el.nativeElement;\n if (nativeElement != null) {\n // set width to 100%\n this.renderer.setStyle(nativeElement, 'width', '100%');\n const 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 * @description\n * Removes the maxLength indicator box from the DOM.\n * Restores the original DOM structure by unwrapping the input element.\n *\n * @private\n */\n private destroyMaxLengthBox(): void {\n // removes maxlength element from DOM\n if(this.maxLengthSpan) {\n this.renderer.removeChild(this.maxLengthSpan.parentElement, this.maxLengthSpan);\n this.maxLengthSpan = undefined;\n }\n\n // remove wrapper from DOM\n if(this.wrapper) {\n // get parent node of wrapper\n const parent: Node = this.wrapper.parentNode;\n const nativeElement: HTMLElement = this.el.nativeElement;\n // swap wrapper and nativeElement\n parent?.replaceChild(nativeElement, this.wrapper);\n // removes wrapper element from DOM\n this.renderer.removeChild(this.wrapper.parentElement, this.wrapper);\n this.wrapper = undefined;\n }\n }\n\n /**\n * @description\n * Returns the current value of the input element.\n * Handles different update strategies when used with forms.\n *\n * @returns {string} Current input value\n * @private\n */\n private getValue(): string {\n const input = <HTMLInputElement>this.el.nativeElement;\n return this.control && this.control.control.updateOn === 'change' ? this.control.value : input.value;\n }\n}\n\n/**\n * @description\n * Module that provides the EuiMaxLengthDirective.\n * Import this module to use the directive in your application.\n *\n * @deprecated Use {@link `EuiMaxLengthDirective`} instead.\n *\n * @example\n * ```typescript\n * @NgModule({\n * imports: [EuiMaxLengthDirectiveModule]\n * })\n * export class MyModule { }\n * ```\n *\n * @deprecated Use {@link `EuiMaxLengthDirective`} instead.\n * @publicApi\n */\n@NgModule({\n imports: [EuiMaxLengthDirective],\n exports: [EuiMaxLengthDirective],\n})\nexport class EuiMaxLengthDirectiveModule {\n}\n","import { Directive, Input, NgModule, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { EuiPermissionService } from '@eui/core';\n\n/**\n * @description\n * A structural directive that conditionally renders content based on user permissions.\n * Similar to *ngIf, but checks against a permission service to determine visibility.\n *\n * @example\n * ```html\n * <!-- Single permission check -->\n * <div *euiHasPermission=\"['READ_USERS']\">\n * Content only visible to users with READ_USERS permission\n * </div>\n *\n * <!-- Multiple permission check (AND operation) -->\n * <div *euiHasPermission=\"['READ_USERS', 'WRITE_USERS']\">\n * Content only visible to users with both permissions\n * </div>\n * ```\n *\n * @usageNotes\n * The directive performs an AND operation when multiple permissions are provided,\n * meaning all permissions must be granted for the content to be displayed.\n */\n@Directive({\n selector: '[euiHasPermission]',\n})\nexport class EuiHasPermissionDirective {\n /**\n * @internal\n * Array storing the current permission requirements\n */\n private permissions = [];\n /**\n * @internal\n * Flag tracking whether the content is currently hidden\n */\n private isHidden = true;\n\n constructor(\n private templateRef: TemplateRef<never>,\n private viewContainer: ViewContainerRef,\n private permissionService: EuiPermissionService,\n ) {}\n\n /**\n * @input\n * @description\n * Sets the permissions required to display the content. Can be a single permission\n * string or an array of permission strings.\n *\n * @param val - Permission or array of permissions to check\n */\n @Input()\n set euiHasPermission(val) {\n this.permissions = val;\n this.updateView();\n }\n\n /**\n * @internal\n * @description\n * Updates the view based on the current permission check results.\n * If permissions are granted, displays the content.\n * If permissions are not granted, hides the content.\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 /**\n * @internal\n * @description\n * Checks if all required permissions are granted.\n * Uses AND logic - all permissions must be granted for the method to return true.\n *\n * @returns {boolean} True if all permissions are granted, false otherwise\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/**\n * @description\n * Angular module that declares and exports the EuiHasPermissionDirective.\n * Import this module to use the euiHasPermission directive in your components.\n *\n * @deprecated Use {@link `EuiHasPermissionDirective`} instead.\n *\n * @example\n * ```typescript\n * import { EuiHasPermissionDirectiveModule } from '@eui/components';\n *\n * @NgModule({\n * imports: [EuiHasPermissionDirectiveModule],\n * })\n * export class MyModule {}\n * ```\n */\n@NgModule({\n imports: [EuiHasPermissionDirective],\n exports: [EuiHasPermissionDirective],\n})\nexport class EuiHasPermissionDirectiveModule {}\n","import { NgModule, Directive, HostListener, Inject, OnInit, Input, booleanAttribute, numberAttribute } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n selector: '[euiScrollHandler]',\n})\nexport class EuiScrollHandlerDirective implements OnInit {\n navIsFixed = false;\n appHeaderHeight = 0;\n\n @Input({ transform: booleanAttribute }) euiScrollHandler = false;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private appWrapper: any;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private appHeader: any;\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n ngOnInit(): void {\n this.appWrapper = this.document.getElementById('app-wrapper');\n this.appHeader = this.document.getElementById('app-header');\n if (this.appHeader) {\n this.appHeaderHeight = this.appHeader.scrollHeight;\n }\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n if (this.euiScrollHandler && this.appHeaderHeight !== 0) {\n const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n if (number > this.appHeaderHeight) {\n this.navIsFixed = true;\n this.appWrapper.classList.add('shrink-header-active');\n } else if (this.navIsFixed && number < this.appHeaderHeight) {\n this.navIsFixed = false;\n this.appWrapper.classList.remove('shrink-header-active');\n }\n }\n }\n}\n\n@Directive({\n selector: '[euiScrollHandlerElement]',\n})\nexport class EuiScrollHandlerElementDirective {\n @Input() euiScrollHandlerElement: string;\n @Input() toggleClass: string;\n @Input({ transform: numberAttribute }) toggleActiveHeight: number;\n\n public navIsFixed = false;\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n const element = this.document.getElementById(this.euiScrollHandlerElement);\n const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n if (number > this.toggleActiveHeight) {\n this.navIsFixed = true;\n element.classList.add(this.toggleClass);\n } else if (this.navIsFixed && number < this.toggleActiveHeight) {\n this.navIsFixed = false;\n element.classList.remove(this.toggleClass);\n }\n }\n}\n\n/**\n * @deprecated Use {@link EuiScrollHandlerDirective} and {@link EuiScrollHandlerElementDirective} instead.\n */\n@NgModule({\n imports: [EuiScrollHandlerDirective, EuiScrollHandlerElementDirective],\n exports: [EuiScrollHandlerDirective, EuiScrollHandlerElementDirective],\n})\nexport class EuiScrollHandlerDirectiveModule {}\n","/* https://www.npmjs.com/package/ng2-smooth-scroll\n https://github.com/kavil/ng2SmoothScroll/blob/master/lib/ng2-SmoothScroll.directive.ts\n*/\n/* eslint-disable */\nimport {\n NgModule,\n Directive,\n Input,\n HostListener,\n OnInit,\n ElementRef,\n numberAttribute,\n booleanAttribute,\n Inject,\n PLATFORM_ID,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Directive({\n selector: '[euiScrollTo]',\n})\nexport class EuiSmoothScrollToDirective {\n targetElement: any;\n\n @Input('euiScrollTo') public scrollTo: string;\n @Input({alias: 'duration', transform: numberAttribute }) public duration: number;\n @Input({ transform: numberAttribute }) public offset: number;\n @Input('easing') public easing: string;\n @Input('callbackBefore') public callbackBefore: any;\n @Input('callbackAfter') public callbackAfter: any;\n @Input('containerId') public containerId: string;\n @Input('middleAlign') public middleAlign: any;\n\n @HostListener('click') onClick() {\n this.targetElement = document.getElementById(this.scrollTo);\n if (!this.targetElement) {\n return;\n }\n\n new SmoothScroll(this.targetElement, {\n duration: this.duration,\n offset: this.offset,\n easing: this.easing,\n callbackBefore: this.callbackBefore,\n callbackAfter: this.callbackAfter,\n containerId: this.containerId,\n middleAlign: this.middleAlign\n });\n };\n\n}\n\n@Directive({\n selector: '[euiSmoothScroll]',\n})\nexport class EuiSmoothScrollDirective implements OnInit {\n private el;\n\n constructor(el: ElementRef, @Inject(PLATFORM_ID) private platformId: object) {\n this.el = el;\n }\n\n @Input('scrollIf') public scrollIf: boolean;\n @Input({ transform: numberAttribute}) public duration: number;\n @Input({ transform: numberAttribute}) public offset: number;\n @Input('easing') public easing: string;\n @Input('callbackBefore') public callbackBefore: any;\n @Input('callbackAfter') public callbackAfter: any;\n @Input('containerId') public containerId: string;\n @Input({ transform: booleanAttribute }) public scrollOnClick: boolean;\n @Input('middleAlign') public middleAlign: any;\n\n @HostListener('click', ['$event.target']) onClick(target) {\n if (this.scrollOnClick) {\n this.scroll();\n }\n };\n\n public ngOnInit() {\n this.scroll();\n }\n\n private scroll() {\n if (typeof this.scrollIf === 'undefined' || this.scrollIf === true) {\n if(isPlatformBrowser(this.platformId)) {\n setTimeout(() => {\n new SmoothScroll(this.el.nativeElement, {\n duration: this.duration,\n offset: this.offset,\n easing: this.easing,\n callbackBefore: this.callbackBefore,\n callbackAfter: this.callbackAfter,\n containerId: this.containerId,\n middleAlign: this.middleAlign\n });\n }, 0);\n }\n }\n }\n\n}\n\nclass SmoothScroll {\n constructor(element: any, options: any) {\n this.smoothScroll(element, options);\n }\n private smoothScroll(element, options) {\n options = options || {};\n\n // Options\n let duration = options.duration || 800,\n offset = options.offset || 0,\n easing = options.easing || 'easeInOutQuart',\n callbackBefore = options.callbackBefore || function () { },\n callbackAfter = options.callbackAfter || function () { },\n container = document.getElementById(options.containerId) || null,\n containerPresent = (container != undefined && container != null),\n middleAlign = options.middleAlign || false;\n\n\t\t/**\n\t\t * Retrieve current location\n\t\t */\n let getScrollLocation = function () {\n if (containerPresent) {\n return container.scrollTop;\n } else {\n if (window.pageYOffset) {\n return window.pageYOffset;\n } else {\n return document.documentElement.scrollTop;\n }\n }\n };\n\n\t\t/**\n\t\t * Calculate easing pattern.\n\t\t *\n\t\t * 20150713 edit - zephinzer\n\t\t * - changed if-else to switch\n\t\t * @see http://archive.oreilly.com/pub/a/server-administration/excerpts/even-faster-websites/writing-efficient-javascript.html\n\t\t */\n let getEasingPattern = function (type, time) {\n switch (type) {\n case 'easeInQuad': return time * time; // accelerating from zero velocity\n case 'easeOutQuad': return time * (2 - time); // decelerating to zero velocity\n case 'easeInOutQuad': return time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration\n case 'easeInCubic': return time * time * time; // accelerating from zero velocity\n case 'easeOutCubic': return (--time) * time * time + 1; // decelerating to zero velocity\n case 'easeInOutCubic': return time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration\n case 'easeInQuart': return time * time * time * time; // accelerating from zero velocity\n case 'easeOutQuart': return 1 - (--time) * time * time * time; // decelerating to zero velocity\n case 'easeInOutQuart': return time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration\n case 'easeInQuint': return time * time * time * time * time; // accelerating from zero velocity\n case 'easeOutQuint': return 1 + (--time) * time * time * time * time; // decelerating to zero velocity\n case 'easeInOutQuint': return time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration\n default: return time;\n }\n };\n\n\t\t/**\n\t\t * Calculate how far to scroll\n\t\t */\n let getEndLocation = function (element) {\n let location = 0,\n elementRect = element.getBoundingClientRect(),\n absoluteElementTop = elementRect.top + window.pageYOffset;\n\n if (middleAlign) {\n location = (absoluteElementTop + (element.offsetHeight / 2)) - (window.innerHeight / 2);\n } else {\n location = absoluteElementTop;\n }\n\n if (offset) {\n location = location - offset;\n }\n\n return Math.max(location, 0);\n };\n\n // Initialize the whole thing\n setTimeout(function () {\n let currentLocation = null,\n startLocation = getScrollLocation(),\n endLocation = getEndLocation(element),\n timeLapsed = 0,\n distance = endLocation - startLocation,\n percentage,\n position,\n scrollHeight,\n internalHeight;\n\n\t\t\t/**\n\t\t\t * Stop the scrolling animation when the anchor is reached (or at the top/bottom of the page)\n\t\t\t */\n let stopAnimation = function () {\n currentLocation = getScrollLocation();\n if (containerPresent) {\n scrollHeight = container.scrollHeight;\n internalHeight = container.clientHeight + currentLocation;\n } else {\n scrollHeight = document.body.scrollHeight;\n internalHeight = window.innerHeight + currentLocation;\n }\n\n if (\n ( // condition 1\n position == endLocation\n ) ||\n ( // condition 2\n currentLocation == endLocation\n ) ||\n ( // condition 3\n internalHeight > scrollHeight\n )\n ) { // stop\n clearInterval(runAnimation);\n\n callbackAfter(element);\n }\n };\n\n\t\t\t/**\n\t\t\t * Scroll the page by an increment, and check if it's time to stop\n\t\t\t */\n let animateScroll = function () {\n timeLapsed += 16;\n percentage = (timeLapsed / duration);\n percentage = (percentage > 1) ? 1 : percentage;\n position = startLocation + (distance * getEasingPattern(easing, percentage));\n if (containerPresent) {\n container.scrollTop = position;\n } else {\n window.scrollTo(0, position);\n }\n stopAnimation();\n };\n\n callbackBefore(element);\n\n let runAnimation = setInterval(animateScroll, 16);\n }, 0);\n\n }\n}\n\n/**\n * @deprecated Use {@link EuiSmoothScrollToDirective} and {@link EuiSmoothScrollDirective} instead.\n */\n@NgModule({\n imports: [EuiSmoothScrollToDirective, EuiSmoothScrollDirective],\n exports: [EuiSmoothScrollToDirective, EuiSmoothScrollDirective],\n})\nexport class EuiSmoothScrollDirectiveModule { }\n/* eslint-enable */\n","import {\n AfterViewInit,\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\nimport { EuiLoadingDirective } from './eui-loading.directive';\n\n@Directive({\n selector: 'input[euiClearable]',\n})\nexport class EuiClearableDirective implements OnChanges, AfterViewInit {\n @Input({ transform: booleanAttribute }) euiClearable: boolean;\n\n @HostBinding('attr.readonly')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get readonly(): any {\n return this._isReadonly ? '' : null;\n }\n set readonly(v: BooleanInput) {\n this._isReadonly = coerceBooleanProperty(v);\n }\n\n @HostBinding('disabled')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get disabled(): any {\n return this._disabled ? '' : null;\n }\n set disabled(v: BooleanInput) {\n this._disabled = coerceBooleanProperty(v);\n }\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [this._cssClasses, this.euiClearable ? `${this._elementRef.nativeElement.rootClassName}--clearable` : ''].join(' ').trim();\n }\n public set cssClasses(value: string) {\n this._cssClasses = value;\n }\n private _cssClasses: string;\n\n protected _clearableIcon: ComponentRef<EuiIconSvgComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private _isReadonly: boolean;\n private _disabled: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private injector: Injector,\n ) {}\n\n ngAfterViewInit(): void {\n if (this._clearableIcon) {\n const control = this.injector.get(NgControl, null, { optional: true });\n const value = control\n ? control instanceof NgModel\n ? control.model?.toString()\n : control.value?.toString()\n : this._elementRef.nativeElement.value;\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.euiClearable) {\n // get type of the control\n const type = this._elementRef.nativeElement.type;\n if (coerceBooleanProperty(changes['euiClearable'].currentValue)) {\n // check if type is not euiInputNumber or euiInputText, reset and throw error\n if (type !== 'eui-number' && type !== 'text' && type !== 'search') {\n this.euiClearable = true;\n throw new Error('euiClearable is only allowed in euiInputNumber or euiInputText');\n }\n // create dynamically the icon\n this.createClearableIcon();\n\n // wrap them all at an eui-u-flex class\n this.createFlexWrapper();\n this._renderer.appendChild(this._euiUFlexWrapper, this._clearableIcon.location.nativeElement);\n } else if (this._clearableIcon) {\n this.removeClearableIcon();\n const euiLoading = this.injector.get(EuiLoadingDirective, null, { optional: true })?.euiLoading;\n if (!euiLoading) {\n this.removeFlexWrapper();\n }\n }\n }\n\n if (changes['readonly']) {\n if (changes['readonly'].currentValue === false && this.euiClearable) {\n // create wrapper\n this.createFlexWrapper();\n // create dynamically the icon\n this.createClearableIcon();\n this._renderer.appendChild(this._euiUFlexWrapper, this._clearableIcon.location.nativeElement);\n }\n if (changes['readonly'].currentValue === true) {\n this.removeClearableIcon();\n this.removeFlexWrapper();\n }\n }\n\n if (changes['disabled']) {\n if (this._clearableIcon) {\n const disabled = changes['disabled']?.currentValue;\n if (disabled) {\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');\n this._renderer.removeAttribute(this._clearableIcon.location.nativeElement, 'tabindex');\n } else {\n this._renderer.removeStyle(this._clearableIcon.location.nativeElement, 'pointer-events');\n this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');\n }\n }\n }\n }\n\n @HostListener('input', ['$event.target.value'])\n @HostListener('ngModelChange', ['$event'])\n private onKeyUpAndModelChange(value): void {\n if (this.euiClearable) {\n const visibility = value?.toString().length > 0 ? 'visible' : 'hidden';\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', visibility);\n }\n }\n\n private onClearableClicked(): void {\n if (this._elementRef.nativeElement.disabled) {\n return;\n }\n const control = this.injector.get(NgControl, undefined, { optional: true });\n if (control) {\n control.reset();\n } else {\n const inputEvent = new InputEvent('input', { data: null });\n this._elementRef.nativeElement.value = null;\n this._elementRef.nativeElement.dispatchEvent(inputEvent);\n }\n const clearEvent = new InputEvent('clear');\n this._elementRef.nativeElement.dispatchEvent(clearEvent);\n this._elementRef.nativeElement.focus();\n }\n\n /**\n * creates the Clearable icon component\n *\n * @private\n */\n private createClearableIcon(): void {\n if (!this._clearableIcon) {\n // TODO: turn import of EuiIconSvgComponent into a type?\n this._clearableIcon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n this._clearableIcon.instance.set = 'eui';\n this._clearableIcon.instance.icon = 'eui-close';\n this._clearableIcon.instance.ariaLabel = 'Clear input field';\n this._renderer.addClass(this._clearableIcon.location.nativeElement, 'eui-input-text--clearable-icon');\n this._renderer.listen(this._clearableIcon.location.nativeElement, 'click', this.onClearableClicked.bind(this));\n this._renderer.listen(this._clearableIcon.location.nativeElement, 'keydown.enter', this.onClearableClicked.bind(this));\n const control = this.injector.get(NgControl, null, { optional: true });\n const value = control\n ? control instanceof NgModel\n ? control.model?.toString()\n : control.value?.toString()\n : this._elementRef.nativeElement.value;\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n if (!this._elementRef.nativeElement.disabled) {\n this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');\n } else {\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');\n }\n }\n }\n\n /**\n * detach the Clearable icon from the view\n *\n * @private\n */\n private removeClearableIcon(): void {\n if (this._clearableIcon) {\n const index = this._viewContainerRef.indexOf(this._clearableIcon.hostView);\n this._viewContainerRef.detach(index);\n this._clearableIcon = null;\n }\n }\n\n /**\n * create a flex wrapper for the input to hold the icon\n *\n * @private\n */\n private createFlexWrapper(): void {\n if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._renderer.createElement('div');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-p-relative');\n this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n this._renderer.insertBefore(\n this._elementRef.nativeElement.parentElement,\n this._euiUFlexWrapper,\n this._elementRef.nativeElement,\n );\n this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n }\n if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n }\n }\n\n /**\n * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n *\n * @private\n */\n private doesParentHasAFlexWrapper(): boolean {\n return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n }\n\n /**\n * removes the flexWrapper while keeping the input element intact\n *\n * @private\n */\n private removeFlexWrapper(): void {\n if (this._euiUFlexWrapper) {\n this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n this._euiUFlexWrapper.remove();\n this._euiUFlexWrapper = null;\n }\n }\n}\n","import {\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiClearableDirective } from './eui-clearable.directive';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\n\n@Directive({\n selector: '[euiLoading]',\n})\nexport class EuiLoadingDirective implements OnChanges {\n @Input({ transform: booleanAttribute }) euiLoading: boolean;\n\n @HostBinding('attr.readonly')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get readonly(): any {\n return this._isReadonly ? '' : null;\n }\n set readonly(v: BooleanInput) {\n this._isReadonly = coerceBooleanProperty(v);\n }\n @HostBinding('class')\n public get cssClasses(): string {\n return [this._cssClasses, this.euiLoading ? `${this._elementRef.nativeElement.rootClassName}--loading` : ''].join(' ').trim();\n }\n public set cssClasses(value: string) {\n this._cssClasses = value;\n }\n protected _loadingIcon: ComponentRef<EuiIconSvgComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private rootClassName: string;\n private _cssClasses: string;\n private _isReadonly: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private injector: Injector,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.euiLoading) {\n const euiClearable = this.injector.get(EuiClearableDirective, undefined, { optional: true })?.euiClearable;\n if (coerceBooleanProperty(changes['euiLoading'].currentValue)) {\n // wrap them all in an eui-u-flex class\n this.createFlexWrapper();\n\n // create dynamically the icon\n this.createLoadingIcon();\n } else if (this._loadingIcon) {\n this.removeLoadingIcon();\n if (!euiClearable) {\n this.removeFlexWrapper();\n }\n }\n }\n\n if (changes['readonly']) {\n if (changes['readonly'].currentValue === false && this.euiLoading) {\n // create wrapper\n this.createFlexWrapper();\n\n // create dynamically the icon\n this.createLoadingIcon();\n this._renderer.appendChild(this._euiUFlexWrapper, this._loadingIcon.location.nativeElement);\n }\n if (changes['readonly'].currentValue === true) {\n this.removeLoadingIcon();\n this.removeFlexWrapper();\n }\n }\n }\n\n /**\n * create a flex wrapper for the input to hold the icon\n *\n * @private\n */\n private createFlexWrapper(): void {\n if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._renderer.createElement('div');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n this._renderer.setStyle(this._euiUFlexWrapper, 'position', 'relative');\n this._renderer.insertBefore(\n this._elementRef.nativeElement.parentElement,\n this._euiUFlexWrapper,\n this._elementRef.nativeElement,\n );\n this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n }\n if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n }\n }\n\n /**\n * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n *\n * @private\n */\n private doesParentHasAFlexWrapper(): boolean {\n return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n }\n\n /**\n * removes the flexWrapper while keeping the input element intact\n *\n * @private\n */\n private removeFlexWrapper(): void {\n if (this._euiUFlexWrapper) {\n this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n this._euiUFlexWrapper.remove();\n this._euiUFlexWrapper = null;\n }\n }\n\n /**\n * creates the loading icon component\n *\n * @private\n */\n private createLoadingIcon(): void {\n if (!this._loadingIcon) {\n this._loadingIcon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n this._loadingIcon.instance.isLoading = true;\n this._loadingIcon.instance.isInputIcon = true;\n this._loadingIcon.instance.euiEnd = true;\n this._loadingIcon.instance.ariaLabel = 'XXXXX';\n this._renderer.appendChild(this._euiUFlexWrapper, this._loadingIcon.location.nativeElement);\n }\n }\n\n /**\n * removes the loading icon component\n *\n * @private\n */\n private removeLoadingIcon(): void {\n if (this._loadingIcon) {\n const index = this._viewContainerRef.indexOf(this._loadingIcon.hostView);\n this._viewContainerRef.detach(index);\n this._loadingIcon = null;\n }\n }\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'eui-resizable',\n templateUrl: './eui-resizable.component.html',\n styleUrls: ['./styles/index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiResizableComponent {\n @HostBinding('class') classes = 'eui-resizable';\n @HostBinding('attr.data-e2e') e2e = 'eui-resizable';\n}\n","<div class=\"eui-resizable-bar\" aria-describedby=\"Resizable handle\"></div>\n<span class=\"eui-resizable-icon__container\">\n <svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" class=\"eui-resizable-icon\">\n <use href=\"assets/icons/sprites/sharp.svg#code-working-sharp\"></use>\n </svg>\n</span>\n","import { 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 { NgModule } from '@angular/core';\nimport { EuiResizableComponent } from './eui-resizable.component';\nimport { EuiResizableDirective } from './eui-resizable.directive';\n\n/**\n * @deprecated Use {@link EuiResizableDirective} instead.\n */\n@NgModule({\n imports: [EuiResizableDirective, EuiResizableComponent],\n exports: [EuiResizableDirective],\n})\nexport class EuiResizableDirectiveModule {}\n","import { Directive, ElementRef, HostBinding, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[euiArrowKeyNavigable]',\n})\n\n/**\n * @description\n * A directive that can be used when there is rich content on an item, in order to make this content focusable with arrow keys.\n *\n */\nexport class EuiArrowKeyNavigableDirective {\n @HostBinding('attr.tabindex') tabindex = '-1';\n isFocused = false;\n\n constructor(public elementRef: ElementRef) {\n }\n\n @HostListener('focus')\n onFocus(): void {\n this.isFocused = true;\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.isFocused = false;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-directives.mjs","sources":["../../directives/eui-template.directive.ts","../../directives/eui-tooltip/animations/show-hide.ts","../../directives/eui-tooltip/container/eui-tooltip-container.component.ts","../../directives/eui-tooltip/container/eui-tooltip-container.component.html","../../directives/eui-tooltip/eui-tooltip.directive.ts","../../directives/eui-tooltip/eui-tooltip.module.ts","../../directives/eui-maxlength.directive.ts","../../directives/eui-has-permission.directive.ts","../../directives/eui-scroll-handler.directive.ts","../../directives/eui-smooth-scroll.directive.ts","../../directives/eui-clearable.directive.ts","../../directives/eui-loading.directive.ts","../../directives/eui-resizable/eui-resizable.component.ts","../../directives/eui-resizable/eui-resizable.component.html","../../directives/eui-resizable/eui-resizable.directive.ts","../../directives/eui-resizable/eui-resizable.module.ts","../../directives/eui-arrow-key-navigable.directive.ts","../../directives/eui-components-directives.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, NgModule } from '@angular/core';\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/**\n * @deprecated Use {@link EuiTemplateDirective} instead.\n */\n@NgModule({\n imports: [EuiTemplateDirective],\n exports: [EuiTemplateDirective],\n})\nexport class EuiTemplateDirectiveModule {}\n","import { animate, state, style, transition, trigger, keyframes } from '@angular/animations';\n\n/**\n * Tooltip display animation.\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, 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 // Styles are in globals: \\packages\\styles\\src\\styles\\07-elements\\directives\\_eui-tooltip.scss\n animations: [showHide],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiTooltipContainerComponent {\n /**\n * Configuration provided by euiTooltip directive at instantiation.\n *\n * @type {EuiTooltipInterface} A config object containing e2eAttr, tooltipContent, position, contentAlign, colorClass.\n */\n @Input() config: EuiTooltipInterface;\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eui-tooltip'\n */\n @HostBinding('attr.data-e2e') e2e = 'eui-tooltip';\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-tooltip', 'eui-tooltip--content-' + this.config.contentAlign, 'eui-tooltip--' + this.config.colorClass]\n .join(' ')\n .trim();\n }\n @HostBinding('@showHide') get showHide(): string {\n return 'visible';\n }\n}\n","<div [innerHTML]=\"config.tooltipContent\"></div>\n","import {\n Directive,\n Input,\n OnInit,\n OnDestroy,\n ElementRef,\n HostListener,\n OnChanges,\n numberAttribute,\n booleanAttribute,\n ComponentRef,\n} from '@angular/core';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, fromEvent, Subject, Subscription, take, timer } from 'rxjs';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EuiTooltipContainerComponent } from './container/eui-tooltip-container.component';\nimport { EuiTooltipInterface } from './models/eui-tooltip.config';\n\n/**\n * @description\n * A tooltip is a text box that displays addition information when a user hovers over, clicks or gives focus to a UI element such as an icon, a highlighted word or a button.\n *\n * The information should be contextual, useful and non-essential.\n *\n */\n@Directive({\n selector: '[euiTooltip]',\n exportAs: 'euiTooltip',\n})\nexport class EuiTooltipDirective implements OnChanges, OnInit, OnDestroy {\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eui-tooltip'\n */\n @Input() e2eAttr = 'eui-tooltip';\n /**\n * Sets the delay for the tooltip to be visible.\n *\n * @default 0\n */\n @Input({ transform: numberAttribute }) showDelay = 0;\n /**\n * Sets the delay for the tooltip to be hidden\n *\n * @default 0\n */\n @Input({ transform: numberAttribute }) hideDelay = 0;\n /**\n * Sets the alignment of the content in the tooltip.\n *\n * @default 'center''\n */\n @Input() contentAlignment: 'left' | 'right' | 'center' | 'justify' = 'center';\n /**\n * Sets the position of the tooltip relative to its trigger element.\n *\n * @default 'center''\n */\n @Input() position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n /**\n * Wheter the tooltip is disabled.\n *\n * @default false (enable)\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Tooltip content.\n */\n @Input('euiTooltip') tooltipContent: string;\n /**\n * Wheter the tooltip has Primary state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipPrimary = false;\n /**\n * Wheter the tooltip has Secondary state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipSecondary = false;\n /**\n * Wheter the tooltip has Info state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipInfo = false;\n /**\n * Wheter the tooltip has Success state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipSuccess = false;\n /**\n * Wheter the tooltip has Warning state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipWarning = false;\n /**\n * Wheter the tooltip has Danger state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipDanger = false;\n /**\n * Wheter the tooltip has Accent state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipAccent = false;\n\n private originX: 'start' | 'end' | 'center' = 'center';\n private originY: 'top' | 'bottom' | 'center' = 'top';\n private overlayX: 'start' | 'end' | 'center' = 'center';\n private overlayY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOriginX: 'start' | 'end' | 'center' = 'center';\n private fallbackOriginY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOverlayX: 'start' | 'end' | 'center' = 'center';\n private fallbackOverlayY: 'top' | 'bottom' | 'center' = 'top';\n private overlayRef: OverlayRef;\n private destroy$ = new Subject<boolean>();\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private mouseleaveSubscription = new Subscription();\n private blurSubscription = new Subscription();\n private showDelaySubscription = new Subscription();\n private positionStrategySubscription = new Subscription();\n private tooltipInstance: ComponentRef<EuiTooltipContainerComponent>;\n\n constructor(private overlay: Overlay, private host: ElementRef<HTMLElement>) {}\n\n ngOnChanges(): void {\n if (this.tooltipInstance) {\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n }\n\n this.setPosition();\n }\n\n ngOnInit(): void {\n this.setPosition();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n this.positionStrategySubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n @HostListener('mouseenter', ['$event'])\n mouseEntering(event: MouseEvent): void {\n this.show(event.target);\n }\n\n @HostListener('focus', ['$event'])\n focused(event: FocusEvent): void {\n this.show(event.target);\n }\n\n /**\n * Returns the current open state.\n *\n * @returns {boolean} `true` if the element is open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Method that shows a tooltip.\n *\n * @param origin Origin of the tooltip. Where it will be displayed.\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', 'eui-19'],\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 const componentPortal = new ComponentPortal<EuiTooltipContainerComponent>(\n EuiTooltipContainerComponent,\n null,\n );\n\n this.tooltipInstance = this.overlayRef.attach(componentPortal);\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n\n this.isOpen$.next(true);\n }\n });\n\n this.mouseleaveSubscription = fromEvent(origin, 'mouseleave').subscribe(() => {\n this.hide();\n });\n\n this.blurSubscription = fromEvent(origin, 'blur').subscribe(() => {\n this.hide();\n });\n }\n\n /**\n * Method that closes a tooltip.\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 /**\n * Generates and returns the tooltip configuration based on the defined tooltip properties.\n *\n * @returns {EuiTooltipInterface} The tooltip configuration object, including attributes used in container component.\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 /**\n * Determines and returns the tooltip's position based on the overlay's connection pair.\n *\n * @param {ConnectedOverlayPositionChange} overlayPosition - The overlay position change event.\n * @returns {string} The calculated position (`'above'`, `'below'`, `'left'`, or `'right'`).\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 /**\n * Sets the position-related properties based on the current `position` value.\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 { NgModule } from '@angular/core';\n\nimport { EuiTooltipContainerComponent } from './container/eui-tooltip-container.component';\nimport { EuiTooltipDirective } from './eui-tooltip.directive';\n\n/**\n * @description\n * Module that provides the EuiTooltip component and its dependencies\n *\n * @deprecated Use {@link EuiTooltipDirective} instead.\n */\n@NgModule({\n imports: [EuiTooltipDirective, EuiTooltipContainerComponent],\n exports: [EuiTooltipDirective],\n})\nexport class EuiTooltipDirectiveModule {}\n","import {\n Directive,\n ElementRef,\n Input,\n Output,\n AfterContentInit,\n NgModule,\n EventEmitter,\n OnDestroy,\n HostListener,\n Optional,\n Self,\n OnChanges,\n SimpleChanges,\n Renderer2,\n numberAttribute,\n booleanAttribute,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n/**\n * @description\n * A directive that adds maxLength functionality to input and textarea elements with visual feedback.\n * It shows the remaining characters count and provides visual indication when the limit is reached.\n *\n * @selector input[euiMaxlength], textarea[euiMaxlength], [ngModel][euiMaxlength], [formControlName][euiMaxlength]\n *\n * @example\n * ```html\n * <!-- Basic usage -->\n * <input [euiMaxlength]=\"50\">\n *\n * <!-- With form control -->\n * <input [formControlName]=\"'name'\" [euiMaxlength]=\"100\">\n *\n * <!-- Hide maxlength indicator -->\n * <textarea [euiMaxlength]=\"200\" [isShowMaxlength]=\"false\"></textarea>\n * ```\n *\n * @publicApi\n */\n@Directive({\n selector: `\n input[euiMaxlength],\n textarea[euiMaxlength],\n [ngModel][euiMaxlength],\n [formControlName][euiMaxlength]`,\n})\nexport class EuiMaxLengthDirective implements AfterContentInit, OnDestroy, OnChanges {\n /**\n * @description\n * It accepts number values to indicate the maxLength of an input. To reset or disable it set the value to null.\n * NULL value will remove any MaxLength indicator even if another input like isShowMaxlength equals true.\n */\n @Input({ alias:'euiMaxlength', transform: numberAttribute }) maxLength: number;\n /**\n * @description\n * Controls the visibility of the maxLength indicator.\n * When true, shows a counter with remaining characters.\n * When false, hides the counter but maintains the maxLength restriction.\n *\n * @default true\n */\n @Input({ transform: booleanAttribute }) isShowMaxlength = true;\n /**\n * @description\n * Emits when the input value length reaches or exceeds the maxLength limit.\n * Emits true when limit is reached, false when below limit.\n *\n * @emits {boolean} True when max length is reached, false otherwise\n */\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(): void {\n // remove all DOM added elements\n this.destroyMaxLengthBox();\n\n // unsubscribe from valueChanges\n if(this.valueChangesSubscription) {\n this.valueChangesSubscription.unsubscribe();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(changes['isShowMaxlength']) {\n if(this.isShowMaxlength) {\n this.createMaxLengthBox();\n this._refreshValue();\n } else {\n this.destroyMaxLengthBox();\n }\n }\n if(changes['maxLength']) {\n if(this.maxLength < 0) {\n throw new Error('euiMaxlength of an input or a textarea cannot be negative.')\n }\n if(this.maxLength) {\n // re-create in case you previously destroyed it\n if(this.isShowMaxlength && !this.maxLengthSpan) {\n this.createMaxLengthBox();\n }\n this._refreshValue();\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'maxLength');\n this.destroyMaxLengthBox();\n }\n }\n }\n\n ngAfterContentInit(): void {\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): void {\n if(!this.control || this.control?.control.updateOn !== 'change') {\n this._refreshValue();\n }\n }\n\n @HostListener('input', ['$event'])\n onInput(event: KeyboardEvent): void {\n if(!this.control || this.control?.control.updateOn !== 'change') {\n this._refreshValue();\n }\n }\n\n @HostListener('paste', ['$event'])\n onPaste(event: ClipboardEvent): void {\n // get the value from clipboard\n const value = (event.clipboardData || window['clipboardData']).getData('text');\n // calculate and set the maxLength based on the clipboard value\n const input = <HTMLInputElement>this.el.nativeElement;\n if(this.maxLength) {\n this.renderer.setProperty(input, 'maxLength', this.calculateMaxLength(value));\n }\n }\n\n /**\n * Sets a custom function to calculate the length of the input value.\n * Useful for implementing custom length calculation logic (e.g., counting characters differently).\n *\n * @param fn Function that takes a string input and returns its calculated length\n *\n * @example\n * ```typescript\n * // Custom length calculation excluding spaces\n * directive.setLengthCalcFactory((value: string) => value.replace(/\\s/g, '').length);\n * ```\n */\n public setLengthCalcFactory(fn: (input: string) => number): void {\n this.lengthCalcFn = (): number => {\n const value = this.getValue();\n return fn(value);\n }\n }\n\n /**\n * Calculates the maximum length for the input element based on current value or provided value.\n *\n * @param value Optional value to calculate max length against (overrides the current input value)\n * @returns {number} Calculated maximum length\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 /**\n * @description\n * Refreshes the visual state of the maxLength indicator and updates input restrictions.\n * - Updates the remaining characters count\n * - Applies/removes error styling\n * - Emits maxLengthReached event\n * - Truncates value if it exceeds maxLength\n *\n * @private\n */\n private _refreshValue(): void {\n if(isNaN(this.maxLength)) {\n return;\n }\n const input = <HTMLInputElement>this.el.nativeElement;\n const valueLength = this.lengthCalcFn();\n const 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 * @description\n * Creates the maxLength indicator box in the DOM.\n * Wraps the input element and adds the counter span with appropriate styling.\n *\n * @private\n */\n private createMaxLengthBox(): void {\n if(this.maxLengthSpan) {\n this.destroyMaxLengthBox();\n }\n // creates the span that holds the max length value which changes according to input\n this.maxLengthSpan = this.renderer.createElement('span');\n this.renderer.addClass(this.maxLengthSpan, 'eui-input-maxlength')\n this.renderer.setAttribute(this.maxLengthSpan, 'innerHTML', this.maxLength.toString());\n\n // create wrapper element\n const nativeElement: HTMLElement = this.el.nativeElement;\n if (nativeElement != null) {\n // set width to 100%\n this.renderer.setStyle(nativeElement, 'width', '100%');\n const 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 * @description\n * Removes the maxLength indicator box from the DOM.\n * Restores the original DOM structure by unwrapping the input element.\n *\n * @private\n */\n private destroyMaxLengthBox(): void {\n // removes maxlength element from DOM\n if(this.maxLengthSpan) {\n this.renderer.removeChild(this.maxLengthSpan.parentElement, this.maxLengthSpan);\n this.maxLengthSpan = undefined;\n }\n\n // remove wrapper from DOM\n if(this.wrapper) {\n // get parent node of wrapper\n const parent: Node = this.wrapper.parentNode;\n const nativeElement: HTMLElement = this.el.nativeElement;\n // swap wrapper and nativeElement\n parent?.replaceChild(nativeElement, this.wrapper);\n // removes wrapper element from DOM\n this.renderer.removeChild(this.wrapper.parentElement, this.wrapper);\n this.wrapper = undefined;\n }\n }\n\n /**\n * @description\n * Returns the current value of the input element.\n * Handles different update strategies when used with forms.\n *\n * @returns {string} Current input value\n * @private\n */\n private getValue(): string {\n const input = <HTMLInputElement>this.el.nativeElement;\n return this.control && this.control.control.updateOn === 'change' ? this.control.value : input.value;\n }\n}\n\n/**\n * @description\n * Module that provides the EuiMaxLengthDirective.\n * Import this module to use the directive in your application.\n *\n * @deprecated Use {@link `EuiMaxLengthDirective`} instead.\n *\n * @example\n * ```typescript\n * @NgModule({\n * imports: [EuiMaxLengthDirectiveModule]\n * })\n * export class MyModule { }\n * ```\n *\n * @deprecated Use {@link `EuiMaxLengthDirective`} instead.\n * @publicApi\n */\n@NgModule({\n imports: [EuiMaxLengthDirective],\n exports: [EuiMaxLengthDirective],\n})\nexport class EuiMaxLengthDirectiveModule {\n}\n","import { Directive, Input, NgModule, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { EuiPermissionService } from '@eui/core';\n\n/**\n * @description\n * A structural directive that conditionally renders content based on user permissions.\n * Similar to *ngIf, but checks against a permission service to determine visibility.\n *\n * @example\n * ```html\n * <!-- Single permission check -->\n * <div *euiHasPermission=\"['READ_USERS']\">\n * Content only visible to users with READ_USERS permission\n * </div>\n *\n * <!-- Multiple permission check (AND operation) -->\n * <div *euiHasPermission=\"['READ_USERS', 'WRITE_USERS']\">\n * Content only visible to users with both permissions\n * </div>\n * ```\n *\n * @usageNotes\n * The directive performs an AND operation when multiple permissions are provided,\n * meaning all permissions must be granted for the content to be displayed.\n */\n@Directive({\n selector: '[euiHasPermission]',\n})\nexport class EuiHasPermissionDirective {\n /**\n * @internal\n * Array storing the current permission requirements\n */\n private permissions = [];\n /**\n * @internal\n * Flag tracking whether the content is currently hidden\n */\n private isHidden = true;\n\n constructor(\n private templateRef: TemplateRef<never>,\n private viewContainer: ViewContainerRef,\n private permissionService: EuiPermissionService,\n ) {}\n\n /**\n * @input\n * @description\n * Sets the permissions required to display the content. Can be a single permission\n * string or an array of permission strings.\n *\n * @param val - Permission or array of permissions to check\n */\n @Input()\n set euiHasPermission(val) {\n this.permissions = val;\n this.updateView();\n }\n\n /**\n * @internal\n * @description\n * Updates the view based on the current permission check results.\n * If permissions are granted, displays the content.\n * If permissions are not granted, hides the content.\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 /**\n * @internal\n * @description\n * Checks if all required permissions are granted.\n * Uses AND logic - all permissions must be granted for the method to return true.\n *\n * @returns {boolean} True if all permissions are granted, false otherwise\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/**\n * @description\n * Angular module that declares and exports the EuiHasPermissionDirective.\n * Import this module to use the euiHasPermission directive in your components.\n *\n * @deprecated Use {@link `EuiHasPermissionDirective`} instead.\n *\n * @example\n * ```typescript\n * import { EuiHasPermissionDirectiveModule } from '@eui/components';\n *\n * @NgModule({\n * imports: [EuiHasPermissionDirectiveModule],\n * })\n * export class MyModule {}\n * ```\n */\n@NgModule({\n imports: [EuiHasPermissionDirective],\n exports: [EuiHasPermissionDirective],\n})\nexport class EuiHasPermissionDirectiveModule {}\n","import { NgModule, Directive, HostListener, Inject, OnInit, Input, booleanAttribute, numberAttribute } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n selector: '[euiScrollHandler]',\n})\nexport class EuiScrollHandlerDirective implements OnInit {\n navIsFixed = false;\n appHeaderHeight = 0;\n\n @Input({ transform: booleanAttribute }) euiScrollHandler = false;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private appWrapper: any;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private appHeader: any;\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n ngOnInit(): void {\n this.appWrapper = this.document.getElementById('app-wrapper');\n this.appHeader = this.document.getElementById('app-header');\n if (this.appHeader) {\n this.appHeaderHeight = this.appHeader.scrollHeight;\n }\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n if (this.euiScrollHandler && this.appHeaderHeight !== 0) {\n const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n if (number > this.appHeaderHeight) {\n this.navIsFixed = true;\n this.appWrapper.classList.add('shrink-header-active');\n } else if (this.navIsFixed && number < this.appHeaderHeight) {\n this.navIsFixed = false;\n this.appWrapper.classList.remove('shrink-header-active');\n }\n }\n }\n}\n\n@Directive({\n selector: '[euiScrollHandlerElement]',\n})\nexport class EuiScrollHandlerElementDirective {\n @Input() euiScrollHandlerElement: string;\n @Input() toggleClass: string;\n @Input({ transform: numberAttribute }) toggleActiveHeight: number;\n\n public navIsFixed = false;\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n const element = this.document.getElementById(this.euiScrollHandlerElement);\n const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n if (number > this.toggleActiveHeight) {\n this.navIsFixed = true;\n element.classList.add(this.toggleClass);\n } else if (this.navIsFixed && number < this.toggleActiveHeight) {\n this.navIsFixed = false;\n element.classList.remove(this.toggleClass);\n }\n }\n}\n\n/**\n * @deprecated Use {@link EuiScrollHandlerDirective} and {@link EuiScrollHandlerElementDirective} instead.\n */\n@NgModule({\n imports: [EuiScrollHandlerDirective, EuiScrollHandlerElementDirective],\n exports: [EuiScrollHandlerDirective, EuiScrollHandlerElementDirective],\n})\nexport class EuiScrollHandlerDirectiveModule {}\n","/* https://www.npmjs.com/package/ng2-smooth-scroll\n https://github.com/kavil/ng2SmoothScroll/blob/master/lib/ng2-SmoothScroll.directive.ts\n*/\n/* eslint-disable */\nimport {\n NgModule,\n Directive,\n Input,\n HostListener,\n OnInit,\n ElementRef,\n numberAttribute,\n booleanAttribute,\n Inject,\n PLATFORM_ID,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Directive({\n selector: '[euiScrollTo]',\n})\nexport class EuiSmoothScrollToDirective {\n targetElement: any;\n\n @Input('euiScrollTo') public scrollTo: string;\n @Input({alias: 'duration', transform: numberAttribute }) public duration: number;\n @Input({ transform: numberAttribute }) public offset: number;\n @Input('easing') public easing: string;\n @Input('callbackBefore') public callbackBefore: any;\n @Input('callbackAfter') public callbackAfter: any;\n @Input('containerId') public containerId: string;\n @Input('middleAlign') public middleAlign: any;\n\n @HostListener('click') onClick() {\n this.targetElement = document.getElementById(this.scrollTo);\n if (!this.targetElement) {\n return;\n }\n\n new SmoothScroll(this.targetElement, {\n duration: this.duration,\n offset: this.offset,\n easing: this.easing,\n callbackBefore: this.callbackBefore,\n callbackAfter: this.callbackAfter,\n containerId: this.containerId,\n middleAlign: this.middleAlign\n });\n };\n\n}\n\n@Directive({\n selector: '[euiSmoothScroll]',\n})\nexport class EuiSmoothScrollDirective implements OnInit {\n private el;\n\n constructor(el: ElementRef, @Inject(PLATFORM_ID) private platformId: object) {\n this.el = el;\n }\n\n @Input('scrollIf') public scrollIf: boolean;\n @Input({ transform: numberAttribute}) public duration: number;\n @Input({ transform: numberAttribute}) public offset: number;\n @Input('easing') public easing: string;\n @Input('callbackBefore') public callbackBefore: any;\n @Input('callbackAfter') public callbackAfter: any;\n @Input('containerId') public containerId: string;\n @Input({ transform: booleanAttribute }) public scrollOnClick: boolean;\n @Input('middleAlign') public middleAlign: any;\n\n @HostListener('click', ['$event.target']) onClick(target) {\n if (this.scrollOnClick) {\n this.scroll();\n }\n };\n\n public ngOnInit() {\n this.scroll();\n }\n\n private scroll() {\n if (typeof this.scrollIf === 'undefined' || this.scrollIf === true) {\n if(isPlatformBrowser(this.platformId)) {\n setTimeout(() => {\n new SmoothScroll(this.el.nativeElement, {\n duration: this.duration,\n offset: this.offset,\n easing: this.easing,\n callbackBefore: this.callbackBefore,\n callbackAfter: this.callbackAfter,\n containerId: this.containerId,\n middleAlign: this.middleAlign\n });\n }, 0);\n }\n }\n }\n\n}\n\nclass SmoothScroll {\n constructor(element: any, options: any) {\n this.smoothScroll(element, options);\n }\n private smoothScroll(element, options) {\n options = options || {};\n\n // Options\n let duration = options.duration || 800,\n offset = options.offset || 0,\n easing = options.easing || 'easeInOutQuart',\n callbackBefore = options.callbackBefore || function () { },\n callbackAfter = options.callbackAfter || function () { },\n container = document.getElementById(options.containerId) || null,\n containerPresent = (container != undefined && container != null),\n middleAlign = options.middleAlign || false;\n\n\t\t/**\n\t\t * Retrieve current location\n\t\t */\n let getScrollLocation = function () {\n if (containerPresent) {\n return container.scrollTop;\n } else {\n if (window.pageYOffset) {\n return window.pageYOffset;\n } else {\n return document.documentElement.scrollTop;\n }\n }\n };\n\n\t\t/**\n\t\t * Calculate easing pattern.\n\t\t *\n\t\t * 20150713 edit - zephinzer\n\t\t * - changed if-else to switch\n\t\t * @see http://archive.oreilly.com/pub/a/server-administration/excerpts/even-faster-websites/writing-efficient-javascript.html\n\t\t */\n let getEasingPattern = function (type, time) {\n switch (type) {\n case 'easeInQuad': return time * time; // accelerating from zero velocity\n case 'easeOutQuad': return time * (2 - time); // decelerating to zero velocity\n case 'easeInOutQuad': return time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration\n case 'easeInCubic': return time * time * time; // accelerating from zero velocity\n case 'easeOutCubic': return (--time) * time * time + 1; // decelerating to zero velocity\n case 'easeInOutCubic': return time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration\n case 'easeInQuart': return time * time * time * time; // accelerating from zero velocity\n case 'easeOutQuart': return 1 - (--time) * time * time * time; // decelerating to zero velocity\n case 'easeInOutQuart': return time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration\n case 'easeInQuint': return time * time * time * time * time; // accelerating from zero velocity\n case 'easeOutQuint': return 1 + (--time) * time * time * time * time; // decelerating to zero velocity\n case 'easeInOutQuint': return time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration\n default: return time;\n }\n };\n\n\t\t/**\n\t\t * Calculate how far to scroll\n\t\t */\n let getEndLocation = function (element) {\n let location = 0,\n elementRect = element.getBoundingClientRect(),\n absoluteElementTop = elementRect.top + window.pageYOffset;\n\n if (middleAlign) {\n location = (absoluteElementTop + (element.offsetHeight / 2)) - (window.innerHeight / 2);\n } else {\n location = absoluteElementTop;\n }\n\n if (offset) {\n location = location - offset;\n }\n\n return Math.max(location, 0);\n };\n\n // Initialize the whole thing\n setTimeout(function () {\n let currentLocation = null,\n startLocation = getScrollLocation(),\n endLocation = getEndLocation(element),\n timeLapsed = 0,\n distance = endLocation - startLocation,\n percentage,\n position,\n scrollHeight,\n internalHeight;\n\n\t\t\t/**\n\t\t\t * Stop the scrolling animation when the anchor is reached (or at the top/bottom of the page)\n\t\t\t */\n let stopAnimation = function () {\n currentLocation = getScrollLocation();\n if (containerPresent) {\n scrollHeight = container.scrollHeight;\n internalHeight = container.clientHeight + currentLocation;\n } else {\n scrollHeight = document.body.scrollHeight;\n internalHeight = window.innerHeight + currentLocation;\n }\n\n if (\n ( // condition 1\n position == endLocation\n ) ||\n ( // condition 2\n currentLocation == endLocation\n ) ||\n ( // condition 3\n internalHeight > scrollHeight\n )\n ) { // stop\n clearInterval(runAnimation);\n\n callbackAfter(element);\n }\n };\n\n\t\t\t/**\n\t\t\t * Scroll the page by an increment, and check if it's time to stop\n\t\t\t */\n let animateScroll = function () {\n timeLapsed += 16;\n percentage = (timeLapsed / duration);\n percentage = (percentage > 1) ? 1 : percentage;\n position = startLocation + (distance * getEasingPattern(easing, percentage));\n if (containerPresent) {\n container.scrollTop = position;\n } else {\n window.scrollTo(0, position);\n }\n stopAnimation();\n };\n\n callbackBefore(element);\n\n let runAnimation = setInterval(animateScroll, 16);\n }, 0);\n\n }\n}\n\n/**\n * @deprecated Use {@link EuiSmoothScrollToDirective} and {@link EuiSmoothScrollDirective} instead.\n */\n@NgModule({\n imports: [EuiSmoothScrollToDirective, EuiSmoothScrollDirective],\n exports: [EuiSmoothScrollToDirective, EuiSmoothScrollDirective],\n})\nexport class EuiSmoothScrollDirectiveModule { }\n/* eslint-enable */\n","import {\n AfterViewInit,\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\nimport { EuiLoadingDirective } from './eui-loading.directive';\n\n@Directive({\n selector: 'input[euiClearable]',\n})\nexport class EuiClearableDirective implements OnChanges, AfterViewInit {\n @Input({ transform: booleanAttribute }) euiClearable: boolean;\n\n @HostBinding('attr.readonly')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get readonly(): any {\n return this._isReadonly ? '' : null;\n }\n set readonly(v: BooleanInput) {\n this._isReadonly = coerceBooleanProperty(v);\n }\n\n @HostBinding('disabled')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get disabled(): any {\n return this._disabled ? '' : null;\n }\n set disabled(v: BooleanInput) {\n this._disabled = coerceBooleanProperty(v);\n }\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [this._cssClasses, this.euiClearable ? `${this._elementRef.nativeElement.rootClassName}--clearable` : ''].join(' ').trim();\n }\n public set cssClasses(value: string) {\n this._cssClasses = value;\n }\n private _cssClasses: string;\n\n protected _clearableIcon: ComponentRef<EuiIconSvgComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private _isReadonly: boolean;\n private _disabled: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private injector: Injector,\n ) {}\n\n ngAfterViewInit(): void {\n if (this._clearableIcon) {\n const control = this.injector.get(NgControl, null, { optional: true });\n const value = control\n ? control instanceof NgModel\n ? control.model?.toString()\n : control.value?.toString()\n : this._elementRef.nativeElement.value;\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.euiClearable) {\n // get type of the control\n const type = this._elementRef.nativeElement.type;\n if (coerceBooleanProperty(changes['euiClearable'].currentValue)) {\n // check if type is not euiInputNumber or euiInputText, reset and throw error\n if (type !== 'eui-number' && type !== 'text' && type !== 'search') {\n this.euiClearable = true;\n throw new Error('euiClearable is only allowed in euiInputNumber or euiInputText');\n }\n // create dynamically the icon\n this.createClearableIcon();\n\n // wrap them all at an eui-u-flex class\n this.createFlexWrapper();\n this._renderer.appendChild(this._euiUFlexWrapper, this._clearableIcon.location.nativeElement);\n } else if (this._clearableIcon) {\n this.removeClearableIcon();\n const euiLoading = this.injector.get(EuiLoadingDirective, null, { optional: true })?.euiLoading;\n if (!euiLoading) {\n this.removeFlexWrapper();\n }\n }\n }\n\n if (changes['readonly']) {\n if (changes['readonly'].currentValue === false && this.euiClearable) {\n // create wrapper\n this.createFlexWrapper();\n // create dynamically the icon\n this.createClearableIcon();\n this._renderer.appendChild(this._euiUFlexWrapper, this._clearableIcon.location.nativeElement);\n }\n if (changes['readonly'].currentValue === true) {\n this.removeClearableIcon();\n this.removeFlexWrapper();\n }\n }\n\n if (changes['disabled']) {\n if (this._clearableIcon) {\n const disabled = changes['disabled']?.currentValue;\n if (disabled) {\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');\n this._renderer.removeAttribute(this._clearableIcon.location.nativeElement, 'tabindex');\n } else {\n this._renderer.removeStyle(this._clearableIcon.location.nativeElement, 'pointer-events');\n this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');\n }\n }\n }\n }\n\n @HostListener('input', ['$event.target.value'])\n @HostListener('ngModelChange', ['$event'])\n private onKeyUpAndModelChange(value): void {\n if (this.euiClearable) {\n const visibility = value?.toString().length > 0 ? 'visible' : 'hidden';\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', visibility);\n }\n }\n\n private onClearableClicked(): void {\n if (this._elementRef.nativeElement.disabled) {\n return;\n }\n const control = this.injector.get(NgControl, undefined, { optional: true });\n if (control) {\n control.reset();\n } else {\n const inputEvent = new InputEvent('input', { data: null });\n this._elementRef.nativeElement.value = null;\n this._elementRef.nativeElement.dispatchEvent(inputEvent);\n }\n const clearEvent = new InputEvent('clear');\n this._elementRef.nativeElement.dispatchEvent(clearEvent);\n this._elementRef.nativeElement.focus();\n }\n\n /**\n * creates the Clearable icon component\n *\n * @private\n */\n private createClearableIcon(): void {\n if (!this._clearableIcon) {\n // TODO: turn import of EuiIconSvgComponent into a type?\n this._clearableIcon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n this._clearableIcon.instance.set = 'eui';\n this._clearableIcon.instance.icon = 'eui-close';\n this._clearableIcon.instance.ariaLabel = 'Clear input field';\n this._renderer.addClass(this._clearableIcon.location.nativeElement, 'eui-input-text--clearable-icon');\n this._renderer.listen(this._clearableIcon.location.nativeElement, 'click', this.onClearableClicked.bind(this));\n this._renderer.listen(this._clearableIcon.location.nativeElement, 'keydown.enter', this.onClearableClicked.bind(this));\n const control = this.injector.get(NgControl, null, { optional: true });\n const value = control\n ? control instanceof NgModel\n ? control.model?.toString()\n : control.value?.toString()\n : this._elementRef.nativeElement.value;\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n if (!this._elementRef.nativeElement.disabled) {\n this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');\n } else {\n this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');\n }\n }\n }\n\n /**\n * detach the Clearable icon from the view\n *\n * @private\n */\n private removeClearableIcon(): void {\n if (this._clearableIcon) {\n const index = this._viewContainerRef.indexOf(this._clearableIcon.hostView);\n this._viewContainerRef.detach(index);\n this._clearableIcon = null;\n }\n }\n\n /**\n * create a flex wrapper for the input to hold the icon\n *\n * @private\n */\n private createFlexWrapper(): void {\n if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._renderer.createElement('div');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-p-relative');\n this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n this._renderer.insertBefore(\n this._elementRef.nativeElement.parentElement,\n this._euiUFlexWrapper,\n this._elementRef.nativeElement,\n );\n this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n }\n if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n }\n }\n\n /**\n * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n *\n * @private\n */\n private doesParentHasAFlexWrapper(): boolean {\n return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n }\n\n /**\n * removes the flexWrapper while keeping the input element intact\n *\n * @private\n */\n private removeFlexWrapper(): void {\n if (this._euiUFlexWrapper) {\n this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n this._euiUFlexWrapper.remove();\n this._euiUFlexWrapper = null;\n }\n }\n}\n","import {\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiClearableDirective } from './eui-clearable.directive';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\n\n@Directive({\n selector: '[euiLoading]',\n})\nexport class EuiLoadingDirective implements OnChanges {\n @Input({ transform: booleanAttribute }) euiLoading: boolean;\n\n @HostBinding('attr.readonly')\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get readonly(): any {\n return this._isReadonly ? '' : null;\n }\n set readonly(v: BooleanInput) {\n this._isReadonly = coerceBooleanProperty(v);\n }\n @HostBinding('class')\n public get cssClasses(): string {\n return [this._cssClasses, this.euiLoading ? `${this._elementRef.nativeElement.rootClassName}--loading` : ''].join(' ').trim();\n }\n public set cssClasses(value: string) {\n this._cssClasses = value;\n }\n protected _loadingIcon: ComponentRef<EuiIconSvgComponent>;\n private _euiUFlexWrapper: HTMLDivElement;\n private rootClassName: string;\n private _cssClasses: string;\n private _isReadonly: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private injector: Injector,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.euiLoading) {\n const euiClearable = this.injector.get(EuiClearableDirective, undefined, { optional: true })?.euiClearable;\n if (coerceBooleanProperty(changes['euiLoading'].currentValue)) {\n // wrap them all in an eui-u-flex class\n this.createFlexWrapper();\n\n // create dynamically the icon\n this.createLoadingIcon();\n } else if (this._loadingIcon) {\n this.removeLoadingIcon();\n if (!euiClearable) {\n this.removeFlexWrapper();\n }\n }\n }\n\n if (changes['readonly']) {\n if (changes['readonly'].currentValue === false && this.euiLoading) {\n // create wrapper\n this.createFlexWrapper();\n\n // create dynamically the icon\n this.createLoadingIcon();\n this._renderer.appendChild(this._euiUFlexWrapper, this._loadingIcon.location.nativeElement);\n }\n if (changes['readonly'].currentValue === true) {\n this.removeLoadingIcon();\n this.removeFlexWrapper();\n }\n }\n }\n\n /**\n * create a flex wrapper for the input to hold the icon\n *\n * @private\n */\n private createFlexWrapper(): void {\n if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._renderer.createElement('div');\n this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n this._renderer.setStyle(this._euiUFlexWrapper, 'position', 'relative');\n this._renderer.insertBefore(\n this._elementRef.nativeElement.parentElement,\n this._euiUFlexWrapper,\n this._elementRef.nativeElement,\n );\n this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n }\n if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n }\n }\n\n /**\n * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n *\n * @private\n */\n private doesParentHasAFlexWrapper(): boolean {\n return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n }\n\n /**\n * removes the flexWrapper while keeping the input element intact\n *\n * @private\n */\n private removeFlexWrapper(): void {\n if (this._euiUFlexWrapper) {\n this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n this._euiUFlexWrapper.remove();\n this._euiUFlexWrapper = null;\n }\n }\n\n /**\n * creates the loading icon component\n *\n * @private\n */\n private createLoadingIcon(): void {\n if (!this._loadingIcon) {\n this._loadingIcon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n this._loadingIcon.instance.isLoading = true;\n this._loadingIcon.instance.isInputIcon = true;\n this._loadingIcon.instance.euiEnd = true;\n this._loadingIcon.instance.ariaLabel = 'XXXXX';\n this._renderer.appendChild(this._euiUFlexWrapper, this._loadingIcon.location.nativeElement);\n }\n }\n\n /**\n * removes the loading icon component\n *\n * @private\n */\n private removeLoadingIcon(): void {\n if (this._loadingIcon) {\n const index = this._viewContainerRef.indexOf(this._loadingIcon.hostView);\n this._viewContainerRef.detach(index);\n this._loadingIcon = null;\n }\n }\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'eui-resizable',\n templateUrl: './eui-resizable.component.html',\n styleUrls: ['./styles/index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiResizableComponent {\n @HostBinding('class') classes = 'eui-resizable';\n @HostBinding('attr.data-e2e') e2e = 'eui-resizable';\n}\n","<div class=\"eui-resizable-bar\" aria-describedby=\"Resizable handle\"></div>\n<span class=\"eui-resizable-icon__container\">\n <svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" class=\"eui-resizable-icon\">\n <use href=\"assets/icons/sprites/sharp.svg#code-working-sharp\"></use>\n </svg>\n</span>\n","import { 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 { NgModule } from '@angular/core';\nimport { EuiResizableComponent } from './eui-resizable.component';\nimport { EuiResizableDirective } from './eui-resizable.directive';\n\n/**\n * @deprecated Use {@link EuiResizableDirective} instead.\n */\n@NgModule({\n imports: [EuiResizableDirective, EuiResizableComponent],\n exports: [EuiResizableDirective],\n})\nexport class EuiResizableDirectiveModule {}\n","import { Directive, ElementRef, HostBinding, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[euiArrowKeyNavigable]',\n})\n\n/**\n * @description\n * A directive that can be used when there is rich content on an item, in order to make this content focusable with arrow keys.\n *\n */\nexport class EuiArrowKeyNavigableDirective {\n @HostBinding('attr.tabindex') tabindex = '-1';\n isFocused = false;\n\n constructor(public elementRef: ElementRef) {\n }\n\n @HostListener('focus')\n onFocus(): void {\n this.isFocused = true;\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.isFocused = false;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}