@eui/components 19.2.0-snapshot-1745320402511 → 19.2.0-snapshot-1745410361865

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.
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-growl.mjs","sources":["../../eui-growl/eui-growl.component.ts","../../eui-growl/eui-growl.component.html","../../eui-growl/eui-growl.module.ts","../../eui-growl/eui-components-eui-growl.ts"],"sourcesContent":["import {\n booleanAttribute,\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { EuiGrowlMessage } from '@eui/core';\n\n@Component({\n selector: 'eui-growl',\n templateUrl: './eui-growl.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiGrowlComponent implements DoCheck, OnDestroy {\n titleId = 'msg-title';\n contentId = 'msg-detail';\n\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-growl', `eui-growl--${this.position}`].join(' ').trim();\n }\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-growl';\n @HostBinding('attr.role')\n protected role = 'region';\n @HostBinding('attr.aria-live')\n protected ariaLive= 'polite';\n @HostBinding('attr.aria-labelledby')\n protected ariaLabelledBy = this.titleId;\n @HostBinding('attr.aria-describedby')\n protected ariaDescribedBy= this.contentId;\n\n @Input({ transform: booleanAttribute }) sticky = false;\n\n @Input() life = 3000;\n @Input() value: EuiGrowlMessage[] = [];\n @Input() closeAllSticky = false;\n\n @Input() position: string;\n\n @Output() growlClick: EventEmitter<void> = new EventEmitter<void>();\n\n private differ: IterableDiffer<EuiGrowlMessage>;\n\n constructor(\n public el: ElementRef,\n differs: IterableDiffers,\n ) {\n this.differ = differs.find([]).create(undefined);\n }\n\n ngDoCheck(): void {\n const changes = this.differ.diff(this.value);\n\n if (changes) {\n // clear timeout in queue to avoid memory leak\n changes.forEachRemovedItem(({ item }) => clearTimeout(item?.timeout));\n // for newly added items create timeout if they are not sticky\n changes.forEachAddedItem(({ item }) => this.createRemovalTimeout(item));\n }\n }\n\n /**\n * @param msg The text message to appear in the container\n */\n remove(msg: EuiGrowlMessage): void {\n this.value.splice(this.findMessageIndex(msg), 1);\n }\n\n /**\n * Removes all growl messages from the stack\n */\n removeAll(): void {\n if (this.value?.length) {\n this.value.splice(0, this.value.length);\n }\n }\n\n ngOnDestroy(): void {\n if (!this.sticky) {\n // make sure to clear any leftover async Timeout for messages\n this.value.forEach((v) => clearTimeout(v?.timeout));\n }\n }\n\n @HostListener('click')\n onClick(): void {\n this.growlClick.emit();\n }\n\n /**\n * check whether sticky growls are greater than two\n */\n isGrowlMoreThanTwo(): boolean {\n return this.value.filter((m) => m.sticky).length > 2;\n }\n\n /**\n * Removes all growl messages from the stack\n *\n * @param value\n */\n private createRemovalTimeout(value: EuiGrowlMessage): void {\n // if message it's NOT sticky and there's not any async running timeout\n if (!value.sticky && !value.timeout) {\n // set Timeout callback for each message based on the given life value\n value.timeout = setTimeout(() => this.remove(value), value.life || this.life) as unknown as number;\n }\n }\n\n /**\n * Finds UxMessage index of the array otherwise returns -1\n *\n * @param msg UxMessage\n */\n private findMessageIndex(msg: EuiGrowlMessage): number {\n return this.value?.length ? this.value.findIndex((value) => value === msg) : -1;\n }\n}\n","<div\n *ngFor=\"let msg of value\"\n class=\"eui-growl-item-container eui-u-anim eui-u-anim--fast\"\n [ngClass]=\"{\n 'eui-growl-item-container--info eui--info': msg.severity === 'info',\n 'eui-growl-item-container--warning eui--warning': msg.severity === 'warning',\n 'eui-growl-item-container--danger eui--danger': msg.severity === 'danger',\n 'eui-growl-item-container--success eui--success': msg.severity === 'success',\n 'eui-growl-item-container--filled': msg.filled,\n 'eui-growl--sticky': sticky,\n }\"\n [class.eui-u-anim--slideInUp]=\"position === 'bottom-left' || position === 'bottom-center' || position === 'bottom-right'\"\n [class.eui-u-anim--slideInDown]=\"position === 'top-left' || position === 'top-center' || position === 'top-right'\">\n\n <div class=\"eui-growl-item\">\n <div class=\"eui-growl-item-summary-wrapper\">\n <eui-icon-state [euiVariant]=\"msg.severity\" class=\"eui-growl-item-icon\"/>\n <span [id]=\"titleId\" class=\"eui-growl-item-title\">{{ msg.summary }}</span>\n </div>\n <div [id]=\"contentId\" class=\"eui-growl-item-content\" [innerHTML]=\"msg.detail\"></div>\n\n <eui-icon-button\n (buttonClick)=\"remove(msg)\"\n icon=\"close:outline\"\n fillColor=\"neutral-light\"\n euiRounded\n ariaLabel=\"Close growl icon\"\n class=\"eui-growl-item-close\">\n </eui-icon-button>\n </div>\n\n</div>\n<div class=\"eui-growl-item-container eui-u-anim eui-u-anim--fast eui-growl-item-container--secondary\"\n *ngIf=\"closeAllSticky && isGrowlMoreThanTwo()\">\n <div class=\"eui-growl-item\">\n <div class=\"eui-growl-item-summary-wrapper\">\n <eui-icon-svg icon=\"checkmark-done:sharp\"/>\n <span class=\"eui-growl-item-title\">{{ 'eui.growl.dismiss-all' | translate }}</span>\n </div>\n <eui-icon-button (buttonClick)=\"removeAll()\"\n icon=\"close:outline\"\n fillColor=\"neutral-light\"\n euiRounded\n ariaLabel=\"Close growl icon\"\n class=\"eui-growl-item-close\"/>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiGrowlComponent } from './eui-growl.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EuiIconStateModule } from '@eui/components/eui-icon-state';\n\n@NgModule({\n imports: [CommonModule, EuiIconModule, EuiIconButtonModule, EuiIconStateModule, TranslateModule],\n exports: [EuiGrowlComponent],\n declarations: [EuiGrowlComponent],\n})\nexport class EuiGrowlModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-growl.mjs","sources":["../../eui-growl/eui-growl.component.ts","../../eui-growl/eui-growl.component.html","../../eui-growl/eui-growl.module.ts","../../eui-growl/eui-components-eui-growl.ts"],"sourcesContent":["import {\n booleanAttribute,\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { EuiGrowlMessage } from '@eui/core';\n\n@Component({\n selector: 'eui-growl',\n templateUrl: './eui-growl.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiGrowlComponent implements DoCheck, OnDestroy {\n titleId = 'msg-title';\n contentId = 'msg-detail';\n\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-growl', `eui-growl--${this.position}`].join(' ').trim();\n }\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-growl';\n @HostBinding('attr.role')\n protected role = 'region';\n @HostBinding('attr.aria-live')\n protected ariaLive= 'polite';\n @HostBinding('attr.aria-labelledby')\n protected ariaLabelledBy = this.titleId;\n @HostBinding('attr.aria-describedby')\n protected ariaDescribedBy= this.contentId;\n\n @Input({ transform: booleanAttribute }) sticky = false;\n\n @Input() life = 3000;\n @Input() value: EuiGrowlMessage[] = [];\n @Input() closeAllSticky = false;\n\n @Input() position: string;\n\n @Output() growlClick: EventEmitter<void> = new EventEmitter<void>();\n\n private differ: IterableDiffer<EuiGrowlMessage>;\n\n constructor(\n public el: ElementRef,\n differs: IterableDiffers,\n ) {\n this.differ = differs.find([]).create(undefined);\n }\n\n ngDoCheck(): void {\n const changes = this.differ.diff(this.value);\n\n if (changes) {\n // clear timeout in queue to avoid memory leak\n changes.forEachRemovedItem(({ item }) => clearTimeout(item?.timeout));\n // for newly added items create timeout if they are not sticky\n changes.forEachAddedItem(({ item }) => this.createRemovalTimeout(item));\n }\n }\n\n /**\n * @param msg The text message to appear in the container\n */\n remove(msg: EuiGrowlMessage): void {\n this.value.splice(this.findMessageIndex(msg), 1);\n }\n\n /**\n * Removes all growl messages from the stack\n */\n removeAll(): void {\n if (this.value?.length) {\n this.value.splice(0, this.value.length);\n }\n }\n\n ngOnDestroy(): void {\n if (!this.sticky) {\n // make sure to clear any leftover async Timeout for messages\n this.value.forEach((v) => clearTimeout(v?.timeout));\n }\n }\n\n @HostListener('click')\n onClick(): void {\n this.growlClick.emit();\n }\n\n /**\n * check whether sticky growls are greater than two\n */\n isGrowlMoreThanTwo(): boolean {\n return this.value.filter((m) => m.sticky).length > 2;\n }\n\n /**\n * Removes all growl messages from the stack\n *\n * @param value\n */\n private createRemovalTimeout(value: EuiGrowlMessage): void {\n // if message it's NOT sticky and there's not any async running timeout\n if (!value.sticky && !value.timeout) {\n // set Timeout callback for each message based on the given life value\n value.timeout = setTimeout(() => this.remove(value), value.life || this.life) as unknown as number;\n }\n }\n\n /**\n * Finds UxMessage index of the array otherwise returns -1\n *\n * @param msg UxMessage\n */\n private findMessageIndex(msg: EuiGrowlMessage): number {\n return this.value?.length ? this.value.findIndex((value) => value === msg) : -1;\n }\n}\n","<div\n *ngFor=\"let msg of value\"\n class=\"eui-growl-item-container eui-u-anim eui-u-anim--fast\"\n [ngClass]=\"{\n 'eui-growl-item-container--info eui--info': msg.severity === 'info',\n 'eui-growl-item-container--warning eui--warning': msg.severity === 'warning',\n 'eui-growl-item-container--danger eui--danger': msg.severity === 'danger',\n 'eui-growl-item-container--success eui--success': msg.severity === 'success',\n 'eui-growl-item-container--filled': msg.filled,\n 'eui-growl--sticky': sticky,\n }\"\n [class.eui-u-anim--slideInUp]=\"position === 'bottom-left' || position === 'bottom-center' || position === 'bottom-right'\"\n [class.eui-u-anim--slideInDown]=\"position === 'top-left' || position === 'top-center' || position === 'top-right'\">\n\n <div class=\"eui-growl-item\">\n <div class=\"eui-growl-item-summary-wrapper\">\n <eui-icon-state [euiVariant]=\"msg.severity\" class=\"eui-growl-item-icon\"/>\n <span [id]=\"titleId\" class=\"eui-growl-item-title\">{{ msg.summary }}</span>\n </div>\n <div [id]=\"contentId\" class=\"eui-growl-item-content\" [innerHTML]=\"msg.detail\"></div>\n\n <eui-icon-button\n (buttonClick)=\"remove(msg)\"\n icon=\"close:outline\"\n fillColor=\"neutral-light\"\n euiRounded\n ariaLabel=\"Close growl icon\"\n class=\"eui-growl-item-close\">\n </eui-icon-button>\n </div>\n\n</div>\n<div class=\"eui-growl-item-container eui-u-anim eui-u-anim--fast eui-growl-item-container--secondary\"\n *ngIf=\"closeAllSticky && isGrowlMoreThanTwo()\">\n <div class=\"eui-growl-item\">\n <div class=\"eui-growl-item-summary-wrapper\">\n <eui-icon-svg icon=\"checkmark-done:sharp\"/>\n <span class=\"eui-growl-item-title\">{{ 'eui.growl.dismiss-all' | translate }}</span>\n </div>\n <eui-icon-button (buttonClick)=\"removeAll()\"\n icon=\"close:outline\"\n fillColor=\"neutral-light\"\n euiRounded\n ariaLabel=\"Close growl icon\"\n class=\"eui-growl-item-close\"/>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiGrowlComponent } from './eui-growl.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EuiIconStateModule } from '@eui/components/eui-icon-state';\n\n@NgModule({\n imports: [CommonModule, EuiIconModule, EuiIconButtonModule, EuiIconStateModule, TranslateModule],\n exports: [EuiGrowlComponent],\n declarations: [EuiGrowlComponent],\n})\nexport class EuiGrowlModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;MAwBa,iBAAiB,CAAA;AAI1B,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,WAAW,EAAE,CAAc,WAAA,EAAA,IAAI,CAAC,QAAQ,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;IAwBxE,WACW,CAAA,EAAc,EACrB,OAAwB,EAAA;QADjB,IAAE,CAAA,EAAA,GAAF,EAAE;QA9Bb,IAAO,CAAA,OAAA,GAAG,WAAW;QACrB,IAAS,CAAA,SAAA,GAAG,YAAY;QAMe,IAAO,CAAA,OAAA,GAAG,WAAW;QAElD,IAAI,CAAA,IAAA,GAAG,QAAQ;QAEf,IAAQ,CAAA,QAAA,GAAE,QAAQ;AAElB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,OAAO;AAE7B,QAAA,IAAA,CAAA,eAAe,GAAE,IAAI,CAAC,SAAS;QAED,IAAM,CAAA,MAAA,GAAG,KAAK;QAE7C,IAAI,CAAA,IAAA,GAAG,IAAI;QACX,IAAK,CAAA,KAAA,GAAsB,EAAE;QAC7B,IAAc,CAAA,cAAA,GAAG,KAAK;AAIrB,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAI,YAAY,EAAQ;AAQ/D,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;;IAGpD,SAAS,GAAA;AACL,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAE5C,IAAI,OAAO,EAAE;;AAET,YAAA,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;;AAErE,YAAA,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;;;AAI/E;;AAEG;AACH,IAAA,MAAM,CAAC,GAAoB,EAAA;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;;AAGpD;;AAEG;IACH,SAAS,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;;;IAI/C,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;;AAEd,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;;;IAK3D,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;;AAG1B;;AAEG;IACH,kBAAkB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;;AAGxD;;;;AAIG;AACK,IAAA,oBAAoB,CAAC,KAAsB,EAAA;;QAE/C,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;;YAEjC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAsB;;;AAI1G;;;;AAIG;AACK,IAAA,gBAAgB,CAAC,GAAoB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;;8GAtG1E,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAkBN,gBAAgB,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1CxC,yqEA+CA,EAAA,MAAA,EAAA,CAAA,m6LAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDvBa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAGN,aAAA,EAAA,iBAAiB,CAAC,IAAI,cACzB,KAAK,EAAA,QAAA,EAAA,yqEAAA,EAAA,MAAA,EAAA,CAAA,m6LAAA,CAAA,EAAA;6GAOb,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAImB,OAAO,EAAA,CAAA;sBAA7C,WAAW;uBAAC,eAAe;;sBAAG;gBAErB,IAAI,EAAA,CAAA;sBADb,WAAW;uBAAC,WAAW;gBAGd,QAAQ,EAAA,CAAA;sBADjB,WAAW;uBAAC,gBAAgB;gBAGnB,cAAc,EAAA,CAAA;sBADvB,WAAW;uBAAC,sBAAsB;gBAGzB,eAAe,EAAA,CAAA;sBADxB,WAAW;uBAAC,uBAAuB;gBAGI,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAE7B,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBAEQ,QAAQ,EAAA,CAAA;sBAAhB;gBAES,UAAU,EAAA,CAAA;sBAAnB;gBA8CD,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO;;;MElFZ,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAFR,YAAA,EAAA,CAAA,iBAAiB,CAFtB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,aACrF,iBAAiB,CAAA,EAAA,CAAA,CAAA;+GAGlB,cAAc,EAAA,OAAA,EAAA,CAJb,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;;2FAItF,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,CAAC;oBAChG,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACpC,iBAAA;;;ACZD;;AAEG;;;;"}
@@ -117,7 +117,7 @@ class EuiNavbarComponent {
117
117
  this.itemClick.emit(id);
118
118
  }
119
119
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: EuiNavbarComponent, deps: [{ token: i1.EuiAppShellService }, { token: i0.ElementRef }, { token: i2.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: EuiNavbarComponent, isStandalone: true, selector: "eui-navbar", outputs: { itemClick: "itemClick" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "items", predicate: i0.forwardRef(() => EuiNavbarItemComponent) }], hostDirectives: [{ directive: i2.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary"] }], ngImport: i0, template: "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <button *ngFor=\"let item of items\" euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-content></ng-content>\n}\n", styles: [".eui-19 .eui-navbar{display:flex;align-items:center;width:100%;padding:0 var(--eui-s-s);height:var(--eui-s-5xl)}.eui-19 .eui-navbar-item{display:flex;align-items:center;height:100%;padding:var(--eui-s-m) var(--eui-s-s);border-bottom:2px solid transparent;font:var(--eui-f-bold);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.eui-19 .eui-navbar-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-navbar-item:hover{background-color:var(--eui-c-neutral-bg)}.eui-19 .eui-navbar-item--active{border-bottom:3px solid var(--eui-c-s-primary);color:var(--eui-c-s-primary)}\n"], dependencies: [{ kind: "ngmodule", type: EuiDropdownModule }, { kind: "component", type: i3.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "height", "position", "subDropdownPosition", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "component", type: i3.EuiDropdownItemComponent, selector: "eui-dropdown-item, [euiDropdownItem]", inputs: ["subDropdown", "isActive", "isFocus"] }, { kind: "directive", type: i3.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "ngmodule", type: EuiButtonModule }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiIconModule }, { kind: "component", type: i5.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: EuiNavbarComponent, isStandalone: true, selector: "eui-navbar", outputs: { itemClick: "itemClick" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "items", predicate: i0.forwardRef(() => EuiNavbarItemComponent) }], hostDirectives: [{ directive: i2.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary"] }], ngImport: i0, template: "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <button *ngFor=\"let item of items\" euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-content></ng-content>\n}\n", styles: [".eui-19 .eui-navbar{display:flex;align-items:center;width:100%;padding:0 var(--eui-s-s);height:var(--eui-s-5xl)}.eui-19 .eui-navbar-item{display:flex;align-items:center;height:100%;padding:var(--eui-s-m) var(--eui-s-s);border-bottom:2px solid transparent;font:var(--eui-f-bold);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.eui-19 .eui-navbar-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-navbar-item:hover{background-color:var(--eui-c-neutral-bg)}.eui-19 .eui-navbar-item--active{border-bottom:3px solid var(--eui-c-active);color:var(--eui-c-active)}\n"], dependencies: [{ kind: "ngmodule", type: EuiDropdownModule }, { kind: "component", type: i3.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "height", "position", "subDropdownPosition", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "component", type: i3.EuiDropdownItemComponent, selector: "eui-dropdown-item, [euiDropdownItem]", inputs: ["subDropdown", "isActive", "isFocus"] }, { kind: "directive", type: i3.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "ngmodule", type: EuiButtonModule }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiIconModule }, { kind: "component", type: i5.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
121
121
  }
122
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: EuiNavbarComponent, decorators: [{
123
123
  type: Component,
@@ -136,7 +136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
136
136
  'euiSecondary',
137
137
  ],
138
138
  },
139
- ], template: "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <button *ngFor=\"let item of items\" euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-content></ng-content>\n}\n", styles: [".eui-19 .eui-navbar{display:flex;align-items:center;width:100%;padding:0 var(--eui-s-s);height:var(--eui-s-5xl)}.eui-19 .eui-navbar-item{display:flex;align-items:center;height:100%;padding:var(--eui-s-m) var(--eui-s-s);border-bottom:2px solid transparent;font:var(--eui-f-bold);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.eui-19 .eui-navbar-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-navbar-item:hover{background-color:var(--eui-c-neutral-bg)}.eui-19 .eui-navbar-item--active{border-bottom:3px solid var(--eui-c-s-primary);color:var(--eui-c-s-primary)}\n"] }]
139
+ ], template: "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <button *ngFor=\"let item of items\" euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-content></ng-content>\n}\n", styles: [".eui-19 .eui-navbar{display:flex;align-items:center;width:100%;padding:0 var(--eui-s-s);height:var(--eui-s-5xl)}.eui-19 .eui-navbar-item{display:flex;align-items:center;height:100%;padding:var(--eui-s-m) var(--eui-s-s);border-bottom:2px solid transparent;font:var(--eui-f-bold);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.eui-19 .eui-navbar-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-navbar-item:hover{background-color:var(--eui-c-neutral-bg)}.eui-19 .eui-navbar-item--active{border-bottom:3px solid var(--eui-c-active);color:var(--eui-c-active)}\n"] }]
140
140
  }], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i0.ElementRef }, { type: i2.BaseStatesDirective }], propDecorators: { cssClasses: [{
141
141
  type: HostBinding,
142
142
  args: ['class']
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-navbar.mjs","sources":["../../eui-navbar/eui-navbar-item/eui-navbar-item.component.ts","../../eui-navbar/eui-navbar.component.ts","../../eui-navbar/eui-navbar.component.html","../../eui-navbar/eui-navbar.module.ts","../../eui-navbar/eui-components-eui-navbar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Host,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n booleanAttribute,\n forwardRef,\n} from '@angular/core';\nimport { EuiNavbarComponent } from '../eui-navbar.component';\n\n@Component({\n selector: 'eui-navbar-item',\n template: '{{ label }}',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class EuiNavbarItemComponent {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-navbar-item',\n this.isActive ? 'eui-navbar-item--active' : '',\n ].join(' ').trim();\n }\n\n @HostBinding('attr.tabindex') tabindex = 0;\n\n @Input() id: string;\n @Input() label: string;\n @Input({ transform: booleanAttribute }) isActive = false;\n\n navBarComponentParent: EuiNavbarComponent;\n\n constructor(@Host() @Optional() @Inject(forwardRef(() => EuiNavbarComponent)) navBarComponent) {\n this.navBarComponentParent = navBarComponent;\n }\n\n @HostListener('click')\n protected onClick(): void {\n this._click();\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n switch (event.code) {\n case 'Enter':\n case 'Space':\n event.preventDefault();\n event.stopPropagation();\n this._click();\n break;\n }\n }\n\n private _click(): void {\n this.navBarComponentParent.itemSelected(this.id);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ViewEncapsulation,\n Output,\n EventEmitter,\n ContentChildren,\n forwardRef,\n QueryList,\n ElementRef,\n AfterViewInit,\n AfterContentInit,\n} from '@angular/core';\nimport { EuiNavbarItemComponent } from './eui-navbar-item/eui-navbar-item.component';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { AsyncPipe, NgFor, NgForOf } from '@angular/common';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-navbar',\n templateUrl: './eui-navbar.component.html',\n styleUrl: './eui-navbar.scss',\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n EuiDropdownModule,\n EuiButtonModule,\n EuiIconModule,\n AsyncPipe,\n NgForOf,\n NgFor,\n ],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiPrimary',\n 'euiSecondary',\n ],\n },\n ],\n})\nexport class EuiNavbarComponent implements AfterContentInit, AfterViewInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-navbar'),\n ]\n .join(' ')\n .trim();\n }\n\n @Output() itemClick: EventEmitter<string> = new EventEmitter();\n\n @ContentChildren(forwardRef(() => EuiNavbarItemComponent)) items: QueryList<EuiNavbarItemComponent>;\n\n public baseItemSelected: EuiNavbarItemComponent;\n public isDropdownView = false;\n\n constructor(\n public asService: EuiAppShellService,\n private elementRef: ElementRef,\n public baseStatesDirective: BaseStatesDirective,\n ) {}\n\n ngAfterContentInit(): void {\n this.baseItemSelected = this.items.filter((i) => i.isActive)[0];\n }\n\n ngAfterViewInit(): void {\n const parentWidth = this.elementRef.nativeElement.parentWidth;\n const width = this.elementRef.nativeElement.clientWidth;\n\n if (width > parentWidth) {\n setTimeout(() => {\n this.isDropdownView = true;\n }, 1);\n }\n }\n\n public itemSelected(id: string): void {\n this.items.forEach((item) => {\n if (item.id === id) {\n item.isActive = true;\n } else {\n item.isActive = false;\n }\n });\n this.itemClick.emit(id);\n }\n}\n","@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <button *ngFor=\"let item of items\" euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-content></ng-content>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiNavbarComponent } from './eui-navbar.component';\nimport { EuiNavbarItemComponent } from './eui-navbar-item/eui-navbar-item.component';\n\n@NgModule({\n imports: [CommonModule, EuiNavbarComponent, EuiNavbarItemComponent],\n exports: [EuiNavbarComponent, EuiNavbarItemComponent],\n})\nexport class EuiNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-navbar.mjs","sources":["../../eui-navbar/eui-navbar-item/eui-navbar-item.component.ts","../../eui-navbar/eui-navbar.component.ts","../../eui-navbar/eui-navbar.component.html","../../eui-navbar/eui-navbar.module.ts","../../eui-navbar/eui-components-eui-navbar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Host,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n booleanAttribute,\n forwardRef,\n} from '@angular/core';\nimport { EuiNavbarComponent } from '../eui-navbar.component';\n\n@Component({\n selector: 'eui-navbar-item',\n template: '{{ label }}',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class EuiNavbarItemComponent {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-navbar-item',\n this.isActive ? 'eui-navbar-item--active' : '',\n ].join(' ').trim();\n }\n\n @HostBinding('attr.tabindex') tabindex = 0;\n\n @Input() id: string;\n @Input() label: string;\n @Input({ transform: booleanAttribute }) isActive = false;\n\n navBarComponentParent: EuiNavbarComponent;\n\n constructor(@Host() @Optional() @Inject(forwardRef(() => EuiNavbarComponent)) navBarComponent) {\n this.navBarComponentParent = navBarComponent;\n }\n\n @HostListener('click')\n protected onClick(): void {\n this._click();\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n switch (event.code) {\n case 'Enter':\n case 'Space':\n event.preventDefault();\n event.stopPropagation();\n this._click();\n break;\n }\n }\n\n private _click(): void {\n this.navBarComponentParent.itemSelected(this.id);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ViewEncapsulation,\n Output,\n EventEmitter,\n ContentChildren,\n forwardRef,\n QueryList,\n ElementRef,\n AfterViewInit,\n AfterContentInit,\n} from '@angular/core';\nimport { EuiNavbarItemComponent } from './eui-navbar-item/eui-navbar-item.component';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { AsyncPipe, NgFor, NgForOf } from '@angular/common';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-navbar',\n templateUrl: './eui-navbar.component.html',\n styleUrl: './eui-navbar.scss',\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n EuiDropdownModule,\n EuiButtonModule,\n EuiIconModule,\n AsyncPipe,\n NgForOf,\n NgFor,\n ],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiPrimary',\n 'euiSecondary',\n ],\n },\n ],\n})\nexport class EuiNavbarComponent implements AfterContentInit, AfterViewInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-navbar'),\n ]\n .join(' ')\n .trim();\n }\n\n @Output() itemClick: EventEmitter<string> = new EventEmitter();\n\n @ContentChildren(forwardRef(() => EuiNavbarItemComponent)) items: QueryList<EuiNavbarItemComponent>;\n\n public baseItemSelected: EuiNavbarItemComponent;\n public isDropdownView = false;\n\n constructor(\n public asService: EuiAppShellService,\n private elementRef: ElementRef,\n public baseStatesDirective: BaseStatesDirective,\n ) {}\n\n ngAfterContentInit(): void {\n this.baseItemSelected = this.items.filter((i) => i.isActive)[0];\n }\n\n ngAfterViewInit(): void {\n const parentWidth = this.elementRef.nativeElement.parentWidth;\n const width = this.elementRef.nativeElement.clientWidth;\n\n if (width > parentWidth) {\n setTimeout(() => {\n this.isDropdownView = true;\n }, 1);\n }\n }\n\n public itemSelected(id: string): void {\n this.items.forEach((item) => {\n if (item.id === id) {\n item.isActive = true;\n } else {\n item.isActive = false;\n }\n });\n this.itemClick.emit(id);\n }\n}\n","@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <button *ngFor=\"let item of items\" euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-content></ng-content>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiNavbarComponent } from './eui-navbar.component';\nimport { EuiNavbarItemComponent } from './eui-navbar-item/eui-navbar-item.component';\n\n@NgModule({\n imports: [CommonModule, EuiNavbarComponent, EuiNavbarItemComponent],\n exports: [EuiNavbarComponent, EuiNavbarItemComponent],\n})\nexport class EuiNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -520,7 +520,7 @@ class EuiTabsV2Component {
520
520
  return fullyVisible;
521
521
  }
522
522
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: EuiTabsV2Component, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AnimationBuilder }, { token: i2.EuiAppShellService }], target: i0.ɵɵFactoryTarget.Component }); }
523
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: EuiTabsV2Component, isStandalone: true, selector: "eui-tabs-v2", inputs: { e2eAttr: "e2eAttr", activeTabIndex: "activeTabIndex", ariaLabel: "ariaLabel", isMainNavigation: ["isMainNavigation", "isMainNavigation", booleanAttribute] }, outputs: { tabClose: "tabClose", tabActivate: "tabActivate", tabClick: "tabClick" }, host: { properties: { "class": "this.elementClass", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "_tabs", predicate: i0.forwardRef(() => EuiTabV2Component) }], viewQueries: [{ propertyName: "euiTabsHeadersContainer", first: true, predicate: ["euiTabsHeadersContainer"], descendants: true }, { propertyName: "euiTabsHeaders", first: true, predicate: ["euiTabsHeaders"], descendants: true }, { propertyName: "euiTabListItems", predicate: ["euiTabListItems"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #euiTabsHeadersContainer class=\"eui-tab\" [class.eui-tab--scrolling]=\"scrolling\">\n <ul #euiTabsHeaders class=\"eui-tab-headers\" [attr.data-offset]=\"currentOffset\" role=\"tablist\" [attr.aria-label]=\"ariaLabel\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible$ | async) {\n <li #euiTabListItems\n class=\"eui-tab-header\"\n id=\"tab-{{ i + 1 }}-{{ tabId }}\"\n [tabindex]=\"i === activeTabIndex ? '0' : '-1'\"\n role=\"tab\"\n attr.aria-controls=\"tabpanel-{{ i + 1 }}-{{ tabId }}\"\n [attr.aria-selected]=\"i === activeTabIndex\"\n [ngClass]=\"tab.baseStatesDirective.euiVariant ? 'eui-tab-header--' + tab.baseStatesDirective.euiVariant : ''\"\n [class.eui-tab-header--active]=\"i === activeTabIndex\"\n [class.eui-tab-header--disabled]=\"tab.isDisabled$ | async\"\n attr.aria-disabled=\"{{ tab.isDisabled$ | async }}\"\n (click)=\"tabListItemClick(i)\"\n (keydown)=\"onKeydown(i, $event)\">\n <ng-template [cdkPortalOutlet]=\"tab.templateHeader.templatePortal\"></ng-template>\n\n @if (tab.isClosable$ | async) {\n <eui-icon-button\n [tabindex]=\"-1\"\n ariaLabel=\"Closable\"\n euiRounded\n class=\"eui-tab-close-button\"\n icon=\"close:outline\"\n (buttonClick)=\"close(i, $event)\">\n </eui-icon-button>\n }\n </li>\n }\n }\n </ul>\n\n <div class=\"eui-tabs-navigation\">\n <div class=\"eui-tabs-navigation__left-item\">\n <button\n (click)=\"goToLeft()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n aria-label=\"Scroll left\">\n <eui-icon-svg icon=\"chevron-back:sharp\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-tabs-navigation__right-item\">\n <button\n (click)=\"goToRight()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n aria-label=\"Scroll right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\"></eui-icon-svg>\n </button>\n </div>\n </div>\n\n <ng-content select=\"eui-tabs-v2-right-content\"></ng-content>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && (tab.isDisabled$ | async) === false && tab.templateBody) {\n <div id=\"tabpanel-{{ i + 1 }}-{{ tabId }}\" class=\"eui-tab-body-container\" role=\"tabpanel\" attr.aria-labelledby=\"tab-{{ i + 1 }}-{{ tabId }}\">\n <ng-template [cdkPortalOutlet]=\"tab.templateBody.templatePortal\" (attached)=\"onAttached(i + 1)\"></ng-template>\n </div>\n }\n}\n", styles: [".eui-19 :host.eui-tabs .eui-tab-header{--_color: var(--eui-c-s-secondary);--_border-color: transparent;--_border-color-hover: var(--eui-c-s-secondary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--active{--_color: var(--eui-c-s-primary);--_border-color: var(--eui-c-s-primary);--_border-color-hover: var(--eui-c-s-primary)}.eui-19 :host.eui-tabs .eui-tab-header--primary{--_color: var(--eui-c-s-primary);--_border-color: var(--eui-c-s-primary);--_border-color-hover: var(--eui-c-s-primary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--secondary{--_color: var(--eui-c-s-secondary);--_border-color-hover: var(--eui-c-s-secondary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--info{--_color: var(--eui-c-s-info);--_border-color-hover: var(--eui-c-s-info-bg)}.eui-19 :host.eui-tabs .eui-tab-header--success{--_color: var(--eui-c-s-success);--_border-color-hover: var(--eui-c-s-success-bg)}.eui-19 :host.eui-tabs .eui-tab-header--warning{--_color: var(--eui-c-s-warning);--_border-color-hover: var(--eui-c-s-warning-bg)}.eui-19 :host.eui-tabs .eui-tab-header--danger{--_color: var(--eui-c-s-danger);--_border-color-hover: var(--eui-c-s-danger-bg)}.eui-19 :host.eui-tabs .eui-tab-header--disabled{--_color: var(--eui-c-disabled);--_border-color-hover: transparent}.eui-19 :host.eui-tabs .eui-tab{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;overflow:hidden;position:relative}.eui-19 :host.eui-tabs .eui-tab-headers{display:flex;flex-shrink:0;list-style:none;margin:0;padding:0}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header{align-items:center;background-color:inherit;border:var(--eui-bw-none);border-bottom:3px solid transparent;color:var(--_color);cursor:pointer;display:flex;padding:var(--eui-s-s) var(--eui-s-m) var(--eui-s-s) var(--eui-s-m);position:relative;text-align:center}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header ::ng-deep .eui-label{display:block;font-weight:700;line-height:var(--eui-s-l);color:var(--_color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header ::ng-deep .eui-label__sublabel{font-weight:400;color:var(--_color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header--active{border-color:var(--_border-color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header--disabled{cursor:not-allowed;pointer-events:none}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header:hover:not(.eui-tab-header--active){background:var(--eui-c-hover);border-color:var(--_border-color-hover)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header:focus:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-tabs--main-navigation .eui-tab-headers{width:100%;justify-content:space-between}.eui-19 :host.eui-tabs--main-navigation .eui-tab-headers .eui-tab-header{width:100%;display:flex;justify-content:center}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item,.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item{background-color:var(--eui-c-neutral-min);display:none;height:100%;position:absolute;top:0}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item ::ng-deep .eui-button.eui-button--icon-only,.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item ::ng-deep .eui-button.eui-button--icon-only{height:100%}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item{left:0}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item{right:0}.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tab-headers{padding-left:var(--eui-s-3xl)}.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tabs-navigation .eui-tabs-navigation__left-item,.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tabs-navigation .eui-tabs-navigation__right-item{display:block}.eui-19 :host.eui-tabs .eui-tab-body-container ::ng-deep .eui-tab-v2__body{padding:var(--eui-s-s)}.eui-19 :host.eui-tabs .eui-tab-body-container ::ng-deep .eui-tab-v2__body.eui-tab-v2__body--no-padding{padding:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: EuiIconModule }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiIconButtonModule }, { kind: "component", type: i5.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "iconUrl", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiTooltipDirectiveModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
523
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: EuiTabsV2Component, isStandalone: true, selector: "eui-tabs-v2", inputs: { e2eAttr: "e2eAttr", activeTabIndex: "activeTabIndex", ariaLabel: "ariaLabel", isMainNavigation: ["isMainNavigation", "isMainNavigation", booleanAttribute] }, outputs: { tabClose: "tabClose", tabActivate: "tabActivate", tabClick: "tabClick" }, host: { properties: { "class": "this.elementClass", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "_tabs", predicate: i0.forwardRef(() => EuiTabV2Component) }], viewQueries: [{ propertyName: "euiTabsHeadersContainer", first: true, predicate: ["euiTabsHeadersContainer"], descendants: true }, { propertyName: "euiTabsHeaders", first: true, predicate: ["euiTabsHeaders"], descendants: true }, { propertyName: "euiTabListItems", predicate: ["euiTabListItems"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #euiTabsHeadersContainer class=\"eui-tab\" [class.eui-tab--scrolling]=\"scrolling\">\n <ul #euiTabsHeaders class=\"eui-tab-headers\" [attr.data-offset]=\"currentOffset\" role=\"tablist\" [attr.aria-label]=\"ariaLabel\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible$ | async) {\n <li #euiTabListItems\n class=\"eui-tab-header\"\n id=\"tab-{{ i + 1 }}-{{ tabId }}\"\n [tabindex]=\"i === activeTabIndex ? '0' : '-1'\"\n role=\"tab\"\n attr.aria-controls=\"tabpanel-{{ i + 1 }}-{{ tabId }}\"\n [attr.aria-selected]=\"i === activeTabIndex\"\n [ngClass]=\"tab.baseStatesDirective.euiVariant ? 'eui-tab-header--' + tab.baseStatesDirective.euiVariant : ''\"\n [class.eui-tab-header--active]=\"i === activeTabIndex\"\n [class.eui-tab-header--disabled]=\"tab.isDisabled$ | async\"\n attr.aria-disabled=\"{{ tab.isDisabled$ | async }}\"\n (click)=\"tabListItemClick(i)\"\n (keydown)=\"onKeydown(i, $event)\">\n <ng-template [cdkPortalOutlet]=\"tab.templateHeader.templatePortal\"></ng-template>\n\n @if (tab.isClosable$ | async) {\n <eui-icon-button\n [tabindex]=\"-1\"\n ariaLabel=\"Closable\"\n euiRounded\n class=\"eui-tab-close-button\"\n icon=\"close:outline\"\n (buttonClick)=\"close(i, $event)\">\n </eui-icon-button>\n }\n </li>\n }\n }\n </ul>\n\n <div class=\"eui-tabs-navigation\">\n <div class=\"eui-tabs-navigation__left-item\">\n <button\n (click)=\"goToLeft()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n aria-label=\"Scroll left\">\n <eui-icon-svg icon=\"chevron-back:sharp\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-tabs-navigation__right-item\">\n <button\n (click)=\"goToRight()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n aria-label=\"Scroll right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\"></eui-icon-svg>\n </button>\n </div>\n </div>\n\n <ng-content select=\"eui-tabs-v2-right-content\"></ng-content>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && (tab.isDisabled$ | async) === false && tab.templateBody) {\n <div id=\"tabpanel-{{ i + 1 }}-{{ tabId }}\" class=\"eui-tab-body-container\" role=\"tabpanel\" attr.aria-labelledby=\"tab-{{ i + 1 }}-{{ tabId }}\">\n <ng-template [cdkPortalOutlet]=\"tab.templateBody.templatePortal\" (attached)=\"onAttached(i + 1)\"></ng-template>\n </div>\n }\n}\n", styles: [".eui-19 :host.eui-tabs .eui-tab-header{--_color: var(--eui-c-s-secondary);--_border-color: transparent;--_border-color-hover: var(--eui-c-s-secondary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--active{--_color: var(--eui-c-active);--_border-color: var(--eui-c-active);--_border-color-hover: var(--eui-c-active)}.eui-19 :host.eui-tabs .eui-tab-header--primary{--_color: var(--eui-c-s-primary);--_border-color: var(--eui-c-s-primary);--_border-color-hover: var(--eui-c-s-primary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--secondary{--_color: var(--eui-c-s-secondary);--_border-color-hover: var(--eui-c-s-secondary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--info{--_color: var(--eui-c-s-info);--_border-color-hover: var(--eui-c-s-info-bg)}.eui-19 :host.eui-tabs .eui-tab-header--success{--_color: var(--eui-c-s-success);--_border-color-hover: var(--eui-c-s-success-bg)}.eui-19 :host.eui-tabs .eui-tab-header--warning{--_color: var(--eui-c-s-warning);--_border-color-hover: var(--eui-c-s-warning-bg)}.eui-19 :host.eui-tabs .eui-tab-header--danger{--_color: var(--eui-c-s-danger);--_border-color-hover: var(--eui-c-s-danger-bg)}.eui-19 :host.eui-tabs .eui-tab-header--disabled{--_color: var(--eui-c-disabled);--_border-color-hover: transparent}.eui-19 :host.eui-tabs .eui-tab{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;overflow:hidden;position:relative}.eui-19 :host.eui-tabs .eui-tab-headers{display:flex;flex-shrink:0;list-style:none;margin:0;padding:0}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header{align-items:center;background-color:inherit;border:var(--eui-bw-none);border-bottom:3px solid transparent;color:var(--_color);cursor:pointer;display:flex;padding:var(--eui-s-s) var(--eui-s-m) var(--eui-s-s) var(--eui-s-m);position:relative;text-align:center}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header ::ng-deep .eui-label{display:block;font-weight:700;line-height:var(--eui-s-l);color:var(--_color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header ::ng-deep .eui-label__sublabel{font-weight:400;color:var(--_color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header--active{border-color:var(--_border-color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header--disabled{cursor:not-allowed;pointer-events:none}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header:hover:not(.eui-tab-header--active){background:var(--eui-c-hover);border-color:var(--_border-color-hover)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header:focus:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-tabs--main-navigation .eui-tab-headers{width:100%;justify-content:space-between}.eui-19 :host.eui-tabs--main-navigation .eui-tab-headers .eui-tab-header{width:100%;display:flex;justify-content:center}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item,.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item{background-color:var(--eui-c-neutral-min);display:none;height:100%;position:absolute;top:0}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item ::ng-deep .eui-button.eui-button--icon-only,.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item ::ng-deep .eui-button.eui-button--icon-only{height:100%}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item{left:0}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item{right:0}.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tab-headers{padding-left:var(--eui-s-3xl)}.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tabs-navigation .eui-tabs-navigation__left-item,.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tabs-navigation .eui-tabs-navigation__right-item{display:block}.eui-19 :host.eui-tabs .eui-tab-body-container ::ng-deep .eui-tab-v2__body{padding:var(--eui-s-s)}.eui-19 :host.eui-tabs .eui-tab-body-container ::ng-deep .eui-tab-v2__body.eui-tab-v2__body--no-padding{padding:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: EuiIconModule }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiIconButtonModule }, { kind: "component", type: i5.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "iconUrl", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiTooltipDirectiveModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
524
524
  }
525
525
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: EuiTabsV2Component, decorators: [{
526
526
  type: Component,
@@ -532,7 +532,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
532
532
  EuiButtonComponent,
533
533
  EuiIconButtonModule,
534
534
  EuiTooltipDirectiveModule,
535
- ], template: "<div #euiTabsHeadersContainer class=\"eui-tab\" [class.eui-tab--scrolling]=\"scrolling\">\n <ul #euiTabsHeaders class=\"eui-tab-headers\" [attr.data-offset]=\"currentOffset\" role=\"tablist\" [attr.aria-label]=\"ariaLabel\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible$ | async) {\n <li #euiTabListItems\n class=\"eui-tab-header\"\n id=\"tab-{{ i + 1 }}-{{ tabId }}\"\n [tabindex]=\"i === activeTabIndex ? '0' : '-1'\"\n role=\"tab\"\n attr.aria-controls=\"tabpanel-{{ i + 1 }}-{{ tabId }}\"\n [attr.aria-selected]=\"i === activeTabIndex\"\n [ngClass]=\"tab.baseStatesDirective.euiVariant ? 'eui-tab-header--' + tab.baseStatesDirective.euiVariant : ''\"\n [class.eui-tab-header--active]=\"i === activeTabIndex\"\n [class.eui-tab-header--disabled]=\"tab.isDisabled$ | async\"\n attr.aria-disabled=\"{{ tab.isDisabled$ | async }}\"\n (click)=\"tabListItemClick(i)\"\n (keydown)=\"onKeydown(i, $event)\">\n <ng-template [cdkPortalOutlet]=\"tab.templateHeader.templatePortal\"></ng-template>\n\n @if (tab.isClosable$ | async) {\n <eui-icon-button\n [tabindex]=\"-1\"\n ariaLabel=\"Closable\"\n euiRounded\n class=\"eui-tab-close-button\"\n icon=\"close:outline\"\n (buttonClick)=\"close(i, $event)\">\n </eui-icon-button>\n }\n </li>\n }\n }\n </ul>\n\n <div class=\"eui-tabs-navigation\">\n <div class=\"eui-tabs-navigation__left-item\">\n <button\n (click)=\"goToLeft()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n aria-label=\"Scroll left\">\n <eui-icon-svg icon=\"chevron-back:sharp\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-tabs-navigation__right-item\">\n <button\n (click)=\"goToRight()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n aria-label=\"Scroll right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\"></eui-icon-svg>\n </button>\n </div>\n </div>\n\n <ng-content select=\"eui-tabs-v2-right-content\"></ng-content>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && (tab.isDisabled$ | async) === false && tab.templateBody) {\n <div id=\"tabpanel-{{ i + 1 }}-{{ tabId }}\" class=\"eui-tab-body-container\" role=\"tabpanel\" attr.aria-labelledby=\"tab-{{ i + 1 }}-{{ tabId }}\">\n <ng-template [cdkPortalOutlet]=\"tab.templateBody.templatePortal\" (attached)=\"onAttached(i + 1)\"></ng-template>\n </div>\n }\n}\n", styles: [".eui-19 :host.eui-tabs .eui-tab-header{--_color: var(--eui-c-s-secondary);--_border-color: transparent;--_border-color-hover: var(--eui-c-s-secondary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--active{--_color: var(--eui-c-s-primary);--_border-color: var(--eui-c-s-primary);--_border-color-hover: var(--eui-c-s-primary)}.eui-19 :host.eui-tabs .eui-tab-header--primary{--_color: var(--eui-c-s-primary);--_border-color: var(--eui-c-s-primary);--_border-color-hover: var(--eui-c-s-primary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--secondary{--_color: var(--eui-c-s-secondary);--_border-color-hover: var(--eui-c-s-secondary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--info{--_color: var(--eui-c-s-info);--_border-color-hover: var(--eui-c-s-info-bg)}.eui-19 :host.eui-tabs .eui-tab-header--success{--_color: var(--eui-c-s-success);--_border-color-hover: var(--eui-c-s-success-bg)}.eui-19 :host.eui-tabs .eui-tab-header--warning{--_color: var(--eui-c-s-warning);--_border-color-hover: var(--eui-c-s-warning-bg)}.eui-19 :host.eui-tabs .eui-tab-header--danger{--_color: var(--eui-c-s-danger);--_border-color-hover: var(--eui-c-s-danger-bg)}.eui-19 :host.eui-tabs .eui-tab-header--disabled{--_color: var(--eui-c-disabled);--_border-color-hover: transparent}.eui-19 :host.eui-tabs .eui-tab{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;overflow:hidden;position:relative}.eui-19 :host.eui-tabs .eui-tab-headers{display:flex;flex-shrink:0;list-style:none;margin:0;padding:0}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header{align-items:center;background-color:inherit;border:var(--eui-bw-none);border-bottom:3px solid transparent;color:var(--_color);cursor:pointer;display:flex;padding:var(--eui-s-s) var(--eui-s-m) var(--eui-s-s) var(--eui-s-m);position:relative;text-align:center}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header ::ng-deep .eui-label{display:block;font-weight:700;line-height:var(--eui-s-l);color:var(--_color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header ::ng-deep .eui-label__sublabel{font-weight:400;color:var(--_color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header--active{border-color:var(--_border-color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header--disabled{cursor:not-allowed;pointer-events:none}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header:hover:not(.eui-tab-header--active){background:var(--eui-c-hover);border-color:var(--_border-color-hover)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header:focus:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-tabs--main-navigation .eui-tab-headers{width:100%;justify-content:space-between}.eui-19 :host.eui-tabs--main-navigation .eui-tab-headers .eui-tab-header{width:100%;display:flex;justify-content:center}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item,.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item{background-color:var(--eui-c-neutral-min);display:none;height:100%;position:absolute;top:0}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item ::ng-deep .eui-button.eui-button--icon-only,.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item ::ng-deep .eui-button.eui-button--icon-only{height:100%}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item{left:0}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item{right:0}.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tab-headers{padding-left:var(--eui-s-3xl)}.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tabs-navigation .eui-tabs-navigation__left-item,.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tabs-navigation .eui-tabs-navigation__right-item{display:block}.eui-19 :host.eui-tabs .eui-tab-body-container ::ng-deep .eui-tab-v2__body{padding:var(--eui-s-s)}.eui-19 :host.eui-tabs .eui-tab-body-container ::ng-deep .eui-tab-v2__body.eui-tab-v2__body--no-padding{padding:0}\n"] }]
535
+ ], template: "<div #euiTabsHeadersContainer class=\"eui-tab\" [class.eui-tab--scrolling]=\"scrolling\">\n <ul #euiTabsHeaders class=\"eui-tab-headers\" [attr.data-offset]=\"currentOffset\" role=\"tablist\" [attr.aria-label]=\"ariaLabel\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible$ | async) {\n <li #euiTabListItems\n class=\"eui-tab-header\"\n id=\"tab-{{ i + 1 }}-{{ tabId }}\"\n [tabindex]=\"i === activeTabIndex ? '0' : '-1'\"\n role=\"tab\"\n attr.aria-controls=\"tabpanel-{{ i + 1 }}-{{ tabId }}\"\n [attr.aria-selected]=\"i === activeTabIndex\"\n [ngClass]=\"tab.baseStatesDirective.euiVariant ? 'eui-tab-header--' + tab.baseStatesDirective.euiVariant : ''\"\n [class.eui-tab-header--active]=\"i === activeTabIndex\"\n [class.eui-tab-header--disabled]=\"tab.isDisabled$ | async\"\n attr.aria-disabled=\"{{ tab.isDisabled$ | async }}\"\n (click)=\"tabListItemClick(i)\"\n (keydown)=\"onKeydown(i, $event)\">\n <ng-template [cdkPortalOutlet]=\"tab.templateHeader.templatePortal\"></ng-template>\n\n @if (tab.isClosable$ | async) {\n <eui-icon-button\n [tabindex]=\"-1\"\n ariaLabel=\"Closable\"\n euiRounded\n class=\"eui-tab-close-button\"\n icon=\"close:outline\"\n (buttonClick)=\"close(i, $event)\">\n </eui-icon-button>\n }\n </li>\n }\n }\n </ul>\n\n <div class=\"eui-tabs-navigation\">\n <div class=\"eui-tabs-navigation__left-item\">\n <button\n (click)=\"goToLeft()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n aria-label=\"Scroll left\">\n <eui-icon-svg icon=\"chevron-back:sharp\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-tabs-navigation__right-item\">\n <button\n (click)=\"goToRight()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n aria-label=\"Scroll right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\"></eui-icon-svg>\n </button>\n </div>\n </div>\n\n <ng-content select=\"eui-tabs-v2-right-content\"></ng-content>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && (tab.isDisabled$ | async) === false && tab.templateBody) {\n <div id=\"tabpanel-{{ i + 1 }}-{{ tabId }}\" class=\"eui-tab-body-container\" role=\"tabpanel\" attr.aria-labelledby=\"tab-{{ i + 1 }}-{{ tabId }}\">\n <ng-template [cdkPortalOutlet]=\"tab.templateBody.templatePortal\" (attached)=\"onAttached(i + 1)\"></ng-template>\n </div>\n }\n}\n", styles: [".eui-19 :host.eui-tabs .eui-tab-header{--_color: var(--eui-c-s-secondary);--_border-color: transparent;--_border-color-hover: var(--eui-c-s-secondary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--active{--_color: var(--eui-c-active);--_border-color: var(--eui-c-active);--_border-color-hover: var(--eui-c-active)}.eui-19 :host.eui-tabs .eui-tab-header--primary{--_color: var(--eui-c-s-primary);--_border-color: var(--eui-c-s-primary);--_border-color-hover: var(--eui-c-s-primary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--secondary{--_color: var(--eui-c-s-secondary);--_border-color-hover: var(--eui-c-s-secondary-bg)}.eui-19 :host.eui-tabs .eui-tab-header--info{--_color: var(--eui-c-s-info);--_border-color-hover: var(--eui-c-s-info-bg)}.eui-19 :host.eui-tabs .eui-tab-header--success{--_color: var(--eui-c-s-success);--_border-color-hover: var(--eui-c-s-success-bg)}.eui-19 :host.eui-tabs .eui-tab-header--warning{--_color: var(--eui-c-s-warning);--_border-color-hover: var(--eui-c-s-warning-bg)}.eui-19 :host.eui-tabs .eui-tab-header--danger{--_color: var(--eui-c-s-danger);--_border-color-hover: var(--eui-c-s-danger-bg)}.eui-19 :host.eui-tabs .eui-tab-header--disabled{--_color: var(--eui-c-disabled);--_border-color-hover: transparent}.eui-19 :host.eui-tabs .eui-tab{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;overflow:hidden;position:relative}.eui-19 :host.eui-tabs .eui-tab-headers{display:flex;flex-shrink:0;list-style:none;margin:0;padding:0}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header{align-items:center;background-color:inherit;border:var(--eui-bw-none);border-bottom:3px solid transparent;color:var(--_color);cursor:pointer;display:flex;padding:var(--eui-s-s) var(--eui-s-m) var(--eui-s-s) var(--eui-s-m);position:relative;text-align:center}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header ::ng-deep .eui-label{display:block;font-weight:700;line-height:var(--eui-s-l);color:var(--_color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header ::ng-deep .eui-label__sublabel{font-weight:400;color:var(--_color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header--active{border-color:var(--_border-color)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header--disabled{cursor:not-allowed;pointer-events:none}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header:hover:not(.eui-tab-header--active){background:var(--eui-c-hover);border-color:var(--_border-color-hover)}.eui-19 :host.eui-tabs .eui-tab-headers .eui-tab-header:focus:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-tabs--main-navigation .eui-tab-headers{width:100%;justify-content:space-between}.eui-19 :host.eui-tabs--main-navigation .eui-tab-headers .eui-tab-header{width:100%;display:flex;justify-content:center}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item,.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item{background-color:var(--eui-c-neutral-min);display:none;height:100%;position:absolute;top:0}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item ::ng-deep .eui-button.eui-button--icon-only,.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item ::ng-deep .eui-button.eui-button--icon-only{height:100%}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__left-item{left:0}.eui-19 :host.eui-tabs .eui-tabs-navigation .eui-tabs-navigation__right-item{right:0}.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tab-headers{padding-left:var(--eui-s-3xl)}.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tabs-navigation .eui-tabs-navigation__left-item,.eui-19 :host.eui-tabs .eui-tab--scrolling .eui-tabs-navigation .eui-tabs-navigation__right-item{display:block}.eui-19 :host.eui-tabs .eui-tab-body-container ::ng-deep .eui-tab-v2__body{padding:var(--eui-s-s)}.eui-19 :host.eui-tabs .eui-tab-body-container ::ng-deep .eui-tab-v2__body.eui-tab-v2__body--no-padding{padding:0}\n"] }]
536
536
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$1.AnimationBuilder }, { type: i2.EuiAppShellService }], propDecorators: { elementClass: [{
537
537
  type: HostBinding,
538
538
  args: ['class']
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-tabs-v2.mjs","sources":["../../eui-tabs-v2/eui-tab-v2-header/eui-tab-v2-header.component.ts","../../eui-tabs-v2/eui-tab-v2-header/eui-tab-v2-header.component.html","../../eui-tabs-v2/eui-tab-v2-body/eui-tab-v2-body.component.ts","../../eui-tabs-v2/eui-tab-v2-body/eui-tab-v2-body.component.html","../../eui-tabs-v2/eui-tab-v2/eui-tab-v2.component.ts","../../eui-tabs-v2/eui-tabs-v2.component.ts","../../eui-tabs-v2/eui-tabs-v2.component.html","../../eui-tabs-v2/eui-tabs-v2-right-content/eui-tabs-v2-right-content.component.ts","../../eui-tabs-v2/index.ts","../../eui-tabs-v2/eui-components-eui-tabs-v2.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'eui-tab-v2-header',\n templateUrl: './eui-tab-v2-header.component.html',\n standalone: true,\n})\nexport class EuiTabV2HeaderComponent implements AfterViewInit {\n @ViewChild('templateRef') templateRef: TemplateRef<HTMLElement>;\n\n public templatePortal: TemplatePortal;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div>\n <ng-content/>\n </div>\n</ng-template>\n","import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject } from 'rxjs';\nimport { AsyncPipe, CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-tab-v2-body',\n templateUrl: './eui-tab-v2-body.component.html',\n standalone: true,\n imports: [\n AsyncPipe,\n ],\n})\nexport class EuiTabV2BodyComponent implements AfterViewInit {\n @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n @ViewChild('templateRef') templateRef: TemplateRef<HTMLElement>;\n\n public templatePortal: TemplatePortal;\n tabIndex$ = new BehaviorSubject(0);\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div class=\"eui-tab-v2__body\" [tabindex]=\"tabIndex$ | async\" [class.eui-tab-v2__body--no-padding]=\"hasNoContentPadding\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n OnChanges,\n SimpleChanges,\n booleanAttribute,\n forwardRef,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTabV2HeaderComponent } from '../eui-tab-v2-header/eui-tab-v2-header.component';\nimport { EuiTabV2BodyComponent } from '../eui-tab-v2-body/eui-tab-v2-body.component';\n\n@Component({\n selector: 'eui-tab-v2',\n template: '<ng-content/>',\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class EuiTabV2Component implements OnChanges {\n @Input() id: string;\n @Input() url: string;\n @Input() e2eAttr = 'eui-tab';\n @Input() tooltip: string;\n @Input({ transform: booleanAttribute }) isClosable = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isVisible = true;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n @Input({ transform: booleanAttribute }) isHandleActivateTab = false;\n\n @ContentChild(forwardRef(() => EuiTabV2HeaderComponent)) templateHeader: EuiTabV2HeaderComponent;\n @ContentChild(forwardRef(() => EuiTabV2BodyComponent)) templateBody: EuiTabV2BodyComponent;\n\n public isActive = false;\n\n public isVisible$ = new BehaviorSubject(this.isVisible);\n public isClosable$ = new BehaviorSubject(this.isClosable);\n public isDisabled$ = new BehaviorSubject(this.isDisabled);\n\n constructor(public baseStatesDirective: BaseStatesDirective) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c?.isVisible) {\n this.isVisible$.next(c.isVisible.currentValue);\n }\n if (c?.isClosable) {\n this.isClosable$.next(c.isClosable.currentValue);\n }\n if (c?.isDisabled) {\n this.isDisabled$.next(c.isDisabled.currentValue);\n }\n }\n\n public activateTab(): void {\n this.isActive = true;\n }\n\n public deactivateTab(): void {\n this.isActive = false;\n }\n}\n","import {\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n forwardRef,\n AfterViewInit,\n ElementRef,\n ChangeDetectorRef,\n HostBinding,\n booleanAttribute,\n ContentChild,\n ChangeDetectionStrategy,\n ViewChild,\n SimpleChanges,\n ViewChildren,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { AsyncPipe, CommonModule, NgClass } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { animate, AnimationBuilder, AnimationFactory, AnimationPlayer, style } from '@angular/animations';\nimport { Subject, startWith, takeUntil } from 'rxjs';\n\nimport { EuiAppShellService, uniqueId } from '@eui/core';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonComponent } from '@eui/components/eui-button';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\n\nimport { EuiTabV2Component } from './eui-tab-v2/eui-tab-v2.component';\n\n/**\n * @description\n * eUI Tabs component helps to organize content into separate views where only one view can be visible at a time.\n * Each tab's label is shown in the tab header and the active tab is designated with a primary ink bar visual.\n * The active tab may be set using the `activeTabIndex` input option or when the user selects one of the tab labels in the header.\n * When the list of tab labels exceeds the width of the header or its container, pagination controls appear to let the user scroll left and right across the tabs.\n */\n@Component({\n selector: 'eui-tabs-v2',\n templateUrl: './eui-tabs-v2.component.html',\n styleUrls: ['./styles/tabs.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgClass,\n AsyncPipe,\n PortalModule,\n EuiIconModule,\n EuiButtonComponent,\n EuiIconButtonModule,\n EuiTooltipDirectiveModule,\n ],\n})\nexport class EuiTabsV2Component implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @HostBinding('class')\n get elementClass(): string {\n return ['eui-tabs', this.isMainNavigation ? 'eui-tabs--main-navigation' : ''].join(' ').trim();\n }\n @HostBinding('attr.data-e2e')\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eui-tabs-v2'\n */\n @Input()\n e2eAttr = 'eui-tabs-v2';\n /**\n * Index of the active tab\n *\n * @default 0\n */\n @Input() activeTabIndex = 0;\n /**\n * Sets the `aria-label` attribute for the host element.\n *\n * @default 'eUI Tabs'\n */\n @Input() ariaLabel = 'eUI Tabs';\n @Input({ transform: booleanAttribute }) isMainNavigation = false;\n\n /**\n * Event emitted when a tab is closed\n */\n @Output() tabClose = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n /**\n * Event emitted when a tab is activated\n */\n @Output() tabActivate = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n /**\n * Event emitted when a tab is clicked\n */\n @Output() tabClick = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n\n @ContentChildren(forwardRef(() => EuiTabV2Component), { descendants: false }) _tabs: QueryList<EuiTabV2Component>;\n\n @ViewChild('euiTabsHeadersContainer') euiTabsHeadersContainer: ElementRef;\n @ViewChild('euiTabsHeaders') euiTabsHeaders: ElementRef;\n @ViewChildren('euiTabListItems') euiTabListItems: QueryList<ElementRef>;\n\n public tabs: EuiTabV2Component[] = [];\n public scrolling = false;\n public navigationLeftButtonDisabled = true;\n public navigationRightButtonDisabled = false;\n public currentOffset = 0;\n\n protected tabId = uniqueId();\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private player: AnimationPlayer;\n private stepMove = 400;\n private scrollOffset = 40;\n private scrollingCount = 0;\n private resizeObserver: ResizeObserver;\n\n constructor(private cd: ChangeDetectorRef, private builder: AnimationBuilder, private euiAppShellService: EuiAppShellService) {}\n\n /**\n * Width of the tabs headers container\n */\n get euiTabsHeadersContainerWidth(): number {\n return this.euiTabsHeadersContainer?.nativeElement.clientWidth;\n }\n\n /**\n * Width of the tabs headers\n */\n get euiTabsHeadersWidth(): number {\n return this.euiTabsHeaders?.nativeElement.clientWidth;\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c?.activeTabIndex && !c.activeTabIndex.isFirstChange()) {\n this.activate(this.activeTabIndex);\n }\n }\n\n ngOnInit(): void {\n this.euiAppShellService.state$.pipe(takeUntil(this.destroy$)).subscribe((state) => {\n this.tabsScrollingHandler();\n });\n }\n\n ngAfterViewInit(): void {\n this._tabs.changes.pipe(startWith(this._tabs), takeUntil(this.destroy$)).subscribe((tabs: QueryList<EuiTabV2Component>) => {\n this.tabs = tabs.toArray();\n setTimeout(() => {\n this.tabsScrollingHandler();\n });\n\n this.cd.detectChanges();\n });\n\n setTimeout(() => {\n if (this.tabs[this.activeTabIndex]) {\n this.cd.markForCheck();\n this.activate(this.activeTabIndex, false, { emitEvent: false });\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Activate a tab having index passed in parameter if exists.\n *\n * @param index Index of the tab to close\n * @param isAnimated Whether the tab activation should be animated\n * @param options Object with emitEvent property to emit the event or not\n */\n public activateTab(index: number, isAnimated = true, options = { emitEvent: true }): void {\n const tab = this.tabs[index];\n if (tab) {\n this.tabs.forEach((t) => {\n t.deactivateTab();\n });\n\n this.setScrollToTabIndex(index, isAnimated);\n\n tab.activateTab();\n this.activeTabIndex = index;\n\n if (options.emitEvent) {\n this.tabActivate.emit({ tab, index });\n }\n\n this.cd.detectChanges();\n }\n }\n\n /**\n * Close a tab having index passed in parameter if exists.\n * @param index Index of the tab to close\n */\n public closeTab(index: number): void {\n const tab = this.tabs[index];\n if (this.tabs[index]) {\n this.tabs[index].deactivateTab();\n this.tabs = this.tabs.filter((_, i) => i !== index);\n\n if (index === this.activeTabIndex) {\n const previousVisibleIndex = this.tabs.indexOf(this.tabs[index - 1]);\n this.cd.markForCheck();\n\n if (previousVisibleIndex < 0) {\n this.activate(0);\n } else {\n this.activate(previousVisibleIndex);\n }\n } else {\n if (index < this.activeTabIndex) {\n this.activeTabIndex = this.activeTabIndex - 1;\n }\n }\n\n this.cd.detectChanges();\n this.tabsScrollingHandler();\n }\n }\n\n /**\n * Scroll to the left handler\n */\n public goToLeft(): void {\n let scrollTo = this.currentOffset + this.stepMove;\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n /**\n * Scroll to the rihgt handler\n */\n public goToRight(): void {\n let scrollTo = this.currentOffset - this.stepMove;\n\n if (Math.abs(scrollTo) > this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) {\n scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) - this.scrollOffset;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n /**\n * Actions applied upon a keydown event\n *\n * @param i Index of the tab for each pressed key\n * @param event The keyboard event\n */\n protected onKeydown(i: number, event: KeyboardEvent): void {\n switch (event.key) {\n case 'Enter': {\n if (!this.tabs[i].isDisabled) {\n this.activate(i);\n }\n break;\n }\n case 'ArrowRight': {\n const isLastItem = i === this.euiTabListItems.toArray().length - 1;\n const index = isLastItem ? 0 : i + 1;\n\n this.setScrollToTabIndex(index, false);\n this.euiTabListItems.toArray()[index]?.nativeElement.focus();\n\n break;\n }\n case 'ArrowLeft': {\n const lastIndex = this.euiTabListItems.toArray().length - 1;\n const index = i === 0 ? lastIndex : i - 1;\n\n this.setScrollToTabIndex(index, false);\n this.euiTabListItems.toArray()[index]?.nativeElement.focus();\n\n break;\n }\n case 'Home': {\n this.setScrollToTabIndex(0, false);\n this.euiTabListItems.toArray()[0]?.nativeElement.focus();\n event.preventDefault();\n break;\n }\n case 'End': {\n this.setScrollToTabIndex(this.euiTabListItems.toArray().length - 1, false);\n this.euiTabListItems.toArray()[this.euiTabListItems.toArray().length - 1]?.nativeElement.focus();\n event.preventDefault();\n break;\n }\n case 'Delete': {\n if (this.tabs[i].isClosable) {\n if (i === this.euiTabListItems.toArray().length - 1) {\n this.euiTabListItems.toArray()[i - 1]?.nativeElement.focus();\n this.close(i, event);\n } else {\n this.close(i, event);\n this.euiTabListItems.toArray()[i]?.nativeElement.focus();\n }\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n\n /**\n * Click handler for tab list item\n *\n * @param index Index of the tab clicked\n */\n protected tabListItemClick(index: number): void {\n const tab = this.tabs[index];\n\n this.tabClick.emit({ tab, index });\n\n this.activate(index);\n }\n\n /**\n * Activates a tab\n *\n * @param index Index of the tab to activate\n * @param isAnimated Whether the activation should be animated\n * @param options Object with emitEvent property to emit the event or not\n */\n protected activate(index: number, isAnimated = true, options = { emitEvent: true }): void {\n const tab = this.tabs[index];\n\n if (tab && !tab.isHandleActivateTab) {\n this.activateTab(index, isAnimated, options);\n }\n }\n\n /**\n * Closes a tab\n *\n * @param index Index of the tab to close\n * @param e\n */\n protected close(index: number, e: Event): void {\n const tab = this.tabs[index];\n\n if (tab && !tab.isHandleCloseOnClose) {\n this.closeTab(index);\n }\n\n this.tabClose.emit({ tab, index });\n e.stopPropagation();\n }\n\n /**\n * Checks if there are html elements within the tab panel, in order to focus or not the tab panel\n * @param index The tab index\n */\n protected onAttached(index: number): void {\n const tabbody = document.querySelector('#tabpanel-' + index + '-' + this.tabId)?.children[0];\n if (tabbody?.children.length > 0) {\n for (const child of Array.from(tabbody.children)) {\n if (this.isFocusableElement(child)) {\n this.tabs[index - 1].templateBody.tabIndex$.next(-1);\n } else {\n this.tabs[index - 1].templateBody.tabIndex$.next(0);\n }\n }\n } else {\n this.tabs[index - 1].templateBody.tabIndex$.next(0);\n }\n }\n\n /**\n * Checks the existence of focusable elements\n * @param origin The element to check\n */\n private isFocusableElement(origin: Element): boolean {\n return (\n origin.matches('button') ||\n origin.matches('a') ||\n origin.matches('input') ||\n origin.matches('select') ||\n origin.matches('textarea') ||\n origin.matches('[tabindex]:not([tabindex=\"-1\"])')\n );\n }\n\n /**\n * Checks if the tabs headers are scrolling and calculates the scrolling position\n */\n private tabsScrollingHandler(): void {\n if (this.euiTabsHeadersContainerWidth && this.euiTabsHeadersWidth) {\n this.scrolling = this.euiTabsHeadersContainerWidth < this.euiTabsHeadersWidth;\n\n if (!this.scrolling) {\n this.scrollingCount = 0;\n this.setScrollTo(0, false);\n } else {\n if (\n this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth <= Math.abs(this.currentOffset) + this.scrollOffset &&\n this.scrollingCount !== 0\n ) {\n const scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) - this.scrollOffset;\n this.setScrollTo(scrollTo);\n } else {\n if (Math.abs(this.currentOffset) < this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n }\n\n this.scrollingCount++;\n }\n\n this.cd.detectChanges();\n }\n }\n\n /**\n * Sets the scroll position oon the tab header specified by index\n *\n * @param index Index of the tab header to scroll to\n * @param isAnimated Whether the tab activation should be animated\n */\n private setScrollToTabIndex(index: number, isAnimated = true): void {\n const activeTab = this.euiTabsHeaders.nativeElement.children.item(index);\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isMainNavigation) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= index; i++) {\n subsetWidth += this.euiTabsHeaders.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = this.euiTabsHeadersContainerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0 || (scrollTo < 0 && index === 0)) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo, isAnimated);\n }\n }\n\n /**\n * Sets the scroll position of the tabs headers\n *\n * @param scrollTo Number to set on the margin-left style property\n * @param isAnimated Whether the tab activation should be animated\n */\n private setScrollTo(scrollTo: number, isAnimated = true): void {\n const timings = isAnimated ? '500ms cubic-bezier(0.35, 0, 0.25, 1)' : 0;\n const animation: AnimationFactory = this.builder.build([animate(timings, style({ 'margin-left': +scrollTo + 'px' }))]);\n\n this.player = animation.create(this.euiTabsHeaders.nativeElement);\n this.player.play();\n\n this.currentOffset = scrollTo;\n\n if (scrollTo === 0) {\n this.navigationLeftButtonDisabled = true;\n }\n if (Math.abs(this.currentOffset) < this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n if (Math.abs(scrollTo) === this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = true;\n }\n\n this.cd.detectChanges();\n }\n\n /**\n * Checks if the active tab is fully visible\n *\n * @param activeTab Index of the tab to check\n * @returns true if fully visible, false otherwise\n */\n private isActiveTabFullyVisible(activeTab: HTMLDivElement): boolean {\n const fullyVisible =\n activeTab.offsetLeft - this.scrollOffset >= 0 &&\n activeTab.offsetLeft + activeTab.clientWidth < this.euiTabsHeadersContainerWidth - this.scrollOffset;\n\n return fullyVisible;\n }\n}\n","<div #euiTabsHeadersContainer class=\"eui-tab\" [class.eui-tab--scrolling]=\"scrolling\">\n <ul #euiTabsHeaders class=\"eui-tab-headers\" [attr.data-offset]=\"currentOffset\" role=\"tablist\" [attr.aria-label]=\"ariaLabel\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible$ | async) {\n <li #euiTabListItems\n class=\"eui-tab-header\"\n id=\"tab-{{ i + 1 }}-{{ tabId }}\"\n [tabindex]=\"i === activeTabIndex ? '0' : '-1'\"\n role=\"tab\"\n attr.aria-controls=\"tabpanel-{{ i + 1 }}-{{ tabId }}\"\n [attr.aria-selected]=\"i === activeTabIndex\"\n [ngClass]=\"tab.baseStatesDirective.euiVariant ? 'eui-tab-header--' + tab.baseStatesDirective.euiVariant : ''\"\n [class.eui-tab-header--active]=\"i === activeTabIndex\"\n [class.eui-tab-header--disabled]=\"tab.isDisabled$ | async\"\n attr.aria-disabled=\"{{ tab.isDisabled$ | async }}\"\n (click)=\"tabListItemClick(i)\"\n (keydown)=\"onKeydown(i, $event)\">\n <ng-template [cdkPortalOutlet]=\"tab.templateHeader.templatePortal\"></ng-template>\n\n @if (tab.isClosable$ | async) {\n <eui-icon-button\n [tabindex]=\"-1\"\n ariaLabel=\"Closable\"\n euiRounded\n class=\"eui-tab-close-button\"\n icon=\"close:outline\"\n (buttonClick)=\"close(i, $event)\">\n </eui-icon-button>\n }\n </li>\n }\n }\n </ul>\n\n <div class=\"eui-tabs-navigation\">\n <div class=\"eui-tabs-navigation__left-item\">\n <button\n (click)=\"goToLeft()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n aria-label=\"Scroll left\">\n <eui-icon-svg icon=\"chevron-back:sharp\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-tabs-navigation__right-item\">\n <button\n (click)=\"goToRight()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n aria-label=\"Scroll right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\"></eui-icon-svg>\n </button>\n </div>\n </div>\n\n <ng-content select=\"eui-tabs-v2-right-content\"></ng-content>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && (tab.isDisabled$ | async) === false && tab.templateBody) {\n <div id=\"tabpanel-{{ i + 1 }}-{{ tabId }}\" class=\"eui-tab-body-container\" role=\"tabpanel\" attr.aria-labelledby=\"tab-{{ i + 1 }}-{{ tabId }}\">\n <ng-template [cdkPortalOutlet]=\"tab.templateBody.templatePortal\" (attached)=\"onAttached(i + 1)\"></ng-template>\n </div>\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eui-tabs-v2-right-content',\n template: '<ng-content/>',\n standalone: true,\n styles: `\n :host {\n display: flex;\n margin-left: auto;\n }\n `,\n})\nexport class EuiTabsV2RightContentComponent {\n}\n","export * from './eui-tabs-v2.component';\nexport * from './eui-tabs-v2-right-content/eui-tabs-v2-right-content.component';\nexport * from './eui-tab-v2/eui-tab-v2.component';\nexport * from './eui-tab-v2-header/eui-tab-v2-header.component';\nexport * from './eui-tab-v2-body/eui-tab-v2-body.component';\n\nimport { EuiTabsV2Component } from './eui-tabs-v2.component';\nimport { EuiTabsV2RightContentComponent } from './eui-tabs-v2-right-content/eui-tabs-v2-right-content.component';\nimport { EuiTabV2BodyComponent } from './eui-tab-v2-body/eui-tab-v2-body.component';\nimport { EuiTabV2HeaderComponent } from './eui-tab-v2-header/eui-tab-v2-header.component';\nimport { EuiTabV2Component } from './eui-tab-v2/eui-tab-v2.component';\n\nexport const EUI_TABS_COMPONENTS = [\n EuiTabsV2Component,\n EuiTabsV2RightContentComponent,\n EuiTabV2BodyComponent,\n EuiTabV2HeaderComponent,\n EuiTabV2Component,\n] as const;\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-eui-tabs-v2.mjs","sources":["../../eui-tabs-v2/eui-tab-v2-header/eui-tab-v2-header.component.ts","../../eui-tabs-v2/eui-tab-v2-header/eui-tab-v2-header.component.html","../../eui-tabs-v2/eui-tab-v2-body/eui-tab-v2-body.component.ts","../../eui-tabs-v2/eui-tab-v2-body/eui-tab-v2-body.component.html","../../eui-tabs-v2/eui-tab-v2/eui-tab-v2.component.ts","../../eui-tabs-v2/eui-tabs-v2.component.ts","../../eui-tabs-v2/eui-tabs-v2.component.html","../../eui-tabs-v2/eui-tabs-v2-right-content/eui-tabs-v2-right-content.component.ts","../../eui-tabs-v2/index.ts","../../eui-tabs-v2/eui-components-eui-tabs-v2.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'eui-tab-v2-header',\n templateUrl: './eui-tab-v2-header.component.html',\n standalone: true,\n})\nexport class EuiTabV2HeaderComponent implements AfterViewInit {\n @ViewChild('templateRef') templateRef: TemplateRef<HTMLElement>;\n\n public templatePortal: TemplatePortal;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div>\n <ng-content/>\n </div>\n</ng-template>\n","import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject } from 'rxjs';\nimport { AsyncPipe, CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-tab-v2-body',\n templateUrl: './eui-tab-v2-body.component.html',\n standalone: true,\n imports: [\n AsyncPipe,\n ],\n})\nexport class EuiTabV2BodyComponent implements AfterViewInit {\n @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n @ViewChild('templateRef') templateRef: TemplateRef<HTMLElement>;\n\n public templatePortal: TemplatePortal;\n tabIndex$ = new BehaviorSubject(0);\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div class=\"eui-tab-v2__body\" [tabindex]=\"tabIndex$ | async\" [class.eui-tab-v2__body--no-padding]=\"hasNoContentPadding\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n OnChanges,\n SimpleChanges,\n booleanAttribute,\n forwardRef,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTabV2HeaderComponent } from '../eui-tab-v2-header/eui-tab-v2-header.component';\nimport { EuiTabV2BodyComponent } from '../eui-tab-v2-body/eui-tab-v2-body.component';\n\n@Component({\n selector: 'eui-tab-v2',\n template: '<ng-content/>',\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class EuiTabV2Component implements OnChanges {\n @Input() id: string;\n @Input() url: string;\n @Input() e2eAttr = 'eui-tab';\n @Input() tooltip: string;\n @Input({ transform: booleanAttribute }) isClosable = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isVisible = true;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n @Input({ transform: booleanAttribute }) isHandleActivateTab = false;\n\n @ContentChild(forwardRef(() => EuiTabV2HeaderComponent)) templateHeader: EuiTabV2HeaderComponent;\n @ContentChild(forwardRef(() => EuiTabV2BodyComponent)) templateBody: EuiTabV2BodyComponent;\n\n public isActive = false;\n\n public isVisible$ = new BehaviorSubject(this.isVisible);\n public isClosable$ = new BehaviorSubject(this.isClosable);\n public isDisabled$ = new BehaviorSubject(this.isDisabled);\n\n constructor(public baseStatesDirective: BaseStatesDirective) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c?.isVisible) {\n this.isVisible$.next(c.isVisible.currentValue);\n }\n if (c?.isClosable) {\n this.isClosable$.next(c.isClosable.currentValue);\n }\n if (c?.isDisabled) {\n this.isDisabled$.next(c.isDisabled.currentValue);\n }\n }\n\n public activateTab(): void {\n this.isActive = true;\n }\n\n public deactivateTab(): void {\n this.isActive = false;\n }\n}\n","import {\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n forwardRef,\n AfterViewInit,\n ElementRef,\n ChangeDetectorRef,\n HostBinding,\n booleanAttribute,\n ContentChild,\n ChangeDetectionStrategy,\n ViewChild,\n SimpleChanges,\n ViewChildren,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { AsyncPipe, CommonModule, NgClass } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { animate, AnimationBuilder, AnimationFactory, AnimationPlayer, style } from '@angular/animations';\nimport { Subject, startWith, takeUntil } from 'rxjs';\n\nimport { EuiAppShellService, uniqueId } from '@eui/core';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonComponent } from '@eui/components/eui-button';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\n\nimport { EuiTabV2Component } from './eui-tab-v2/eui-tab-v2.component';\n\n/**\n * @description\n * eUI Tabs component helps to organize content into separate views where only one view can be visible at a time.\n * Each tab's label is shown in the tab header and the active tab is designated with a primary ink bar visual.\n * The active tab may be set using the `activeTabIndex` input option or when the user selects one of the tab labels in the header.\n * When the list of tab labels exceeds the width of the header or its container, pagination controls appear to let the user scroll left and right across the tabs.\n */\n@Component({\n selector: 'eui-tabs-v2',\n templateUrl: './eui-tabs-v2.component.html',\n styleUrls: ['./styles/tabs.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgClass,\n AsyncPipe,\n PortalModule,\n EuiIconModule,\n EuiButtonComponent,\n EuiIconButtonModule,\n EuiTooltipDirectiveModule,\n ],\n})\nexport class EuiTabsV2Component implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @HostBinding('class')\n get elementClass(): string {\n return ['eui-tabs', this.isMainNavigation ? 'eui-tabs--main-navigation' : ''].join(' ').trim();\n }\n @HostBinding('attr.data-e2e')\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eui-tabs-v2'\n */\n @Input()\n e2eAttr = 'eui-tabs-v2';\n /**\n * Index of the active tab\n *\n * @default 0\n */\n @Input() activeTabIndex = 0;\n /**\n * Sets the `aria-label` attribute for the host element.\n *\n * @default 'eUI Tabs'\n */\n @Input() ariaLabel = 'eUI Tabs';\n @Input({ transform: booleanAttribute }) isMainNavigation = false;\n\n /**\n * Event emitted when a tab is closed\n */\n @Output() tabClose = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n /**\n * Event emitted when a tab is activated\n */\n @Output() tabActivate = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n /**\n * Event emitted when a tab is clicked\n */\n @Output() tabClick = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n\n @ContentChildren(forwardRef(() => EuiTabV2Component), { descendants: false }) _tabs: QueryList<EuiTabV2Component>;\n\n @ViewChild('euiTabsHeadersContainer') euiTabsHeadersContainer: ElementRef;\n @ViewChild('euiTabsHeaders') euiTabsHeaders: ElementRef;\n @ViewChildren('euiTabListItems') euiTabListItems: QueryList<ElementRef>;\n\n public tabs: EuiTabV2Component[] = [];\n public scrolling = false;\n public navigationLeftButtonDisabled = true;\n public navigationRightButtonDisabled = false;\n public currentOffset = 0;\n\n protected tabId = uniqueId();\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private player: AnimationPlayer;\n private stepMove = 400;\n private scrollOffset = 40;\n private scrollingCount = 0;\n private resizeObserver: ResizeObserver;\n\n constructor(private cd: ChangeDetectorRef, private builder: AnimationBuilder, private euiAppShellService: EuiAppShellService) {}\n\n /**\n * Width of the tabs headers container\n */\n get euiTabsHeadersContainerWidth(): number {\n return this.euiTabsHeadersContainer?.nativeElement.clientWidth;\n }\n\n /**\n * Width of the tabs headers\n */\n get euiTabsHeadersWidth(): number {\n return this.euiTabsHeaders?.nativeElement.clientWidth;\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c?.activeTabIndex && !c.activeTabIndex.isFirstChange()) {\n this.activate(this.activeTabIndex);\n }\n }\n\n ngOnInit(): void {\n this.euiAppShellService.state$.pipe(takeUntil(this.destroy$)).subscribe((state) => {\n this.tabsScrollingHandler();\n });\n }\n\n ngAfterViewInit(): void {\n this._tabs.changes.pipe(startWith(this._tabs), takeUntil(this.destroy$)).subscribe((tabs: QueryList<EuiTabV2Component>) => {\n this.tabs = tabs.toArray();\n setTimeout(() => {\n this.tabsScrollingHandler();\n });\n\n this.cd.detectChanges();\n });\n\n setTimeout(() => {\n if (this.tabs[this.activeTabIndex]) {\n this.cd.markForCheck();\n this.activate(this.activeTabIndex, false, { emitEvent: false });\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Activate a tab having index passed in parameter if exists.\n *\n * @param index Index of the tab to close\n * @param isAnimated Whether the tab activation should be animated\n * @param options Object with emitEvent property to emit the event or not\n */\n public activateTab(index: number, isAnimated = true, options = { emitEvent: true }): void {\n const tab = this.tabs[index];\n if (tab) {\n this.tabs.forEach((t) => {\n t.deactivateTab();\n });\n\n this.setScrollToTabIndex(index, isAnimated);\n\n tab.activateTab();\n this.activeTabIndex = index;\n\n if (options.emitEvent) {\n this.tabActivate.emit({ tab, index });\n }\n\n this.cd.detectChanges();\n }\n }\n\n /**\n * Close a tab having index passed in parameter if exists.\n * @param index Index of the tab to close\n */\n public closeTab(index: number): void {\n const tab = this.tabs[index];\n if (this.tabs[index]) {\n this.tabs[index].deactivateTab();\n this.tabs = this.tabs.filter((_, i) => i !== index);\n\n if (index === this.activeTabIndex) {\n const previousVisibleIndex = this.tabs.indexOf(this.tabs[index - 1]);\n this.cd.markForCheck();\n\n if (previousVisibleIndex < 0) {\n this.activate(0);\n } else {\n this.activate(previousVisibleIndex);\n }\n } else {\n if (index < this.activeTabIndex) {\n this.activeTabIndex = this.activeTabIndex - 1;\n }\n }\n\n this.cd.detectChanges();\n this.tabsScrollingHandler();\n }\n }\n\n /**\n * Scroll to the left handler\n */\n public goToLeft(): void {\n let scrollTo = this.currentOffset + this.stepMove;\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n /**\n * Scroll to the rihgt handler\n */\n public goToRight(): void {\n let scrollTo = this.currentOffset - this.stepMove;\n\n if (Math.abs(scrollTo) > this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) {\n scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) - this.scrollOffset;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n /**\n * Actions applied upon a keydown event\n *\n * @param i Index of the tab for each pressed key\n * @param event The keyboard event\n */\n protected onKeydown(i: number, event: KeyboardEvent): void {\n switch (event.key) {\n case 'Enter': {\n if (!this.tabs[i].isDisabled) {\n this.activate(i);\n }\n break;\n }\n case 'ArrowRight': {\n const isLastItem = i === this.euiTabListItems.toArray().length - 1;\n const index = isLastItem ? 0 : i + 1;\n\n this.setScrollToTabIndex(index, false);\n this.euiTabListItems.toArray()[index]?.nativeElement.focus();\n\n break;\n }\n case 'ArrowLeft': {\n const lastIndex = this.euiTabListItems.toArray().length - 1;\n const index = i === 0 ? lastIndex : i - 1;\n\n this.setScrollToTabIndex(index, false);\n this.euiTabListItems.toArray()[index]?.nativeElement.focus();\n\n break;\n }\n case 'Home': {\n this.setScrollToTabIndex(0, false);\n this.euiTabListItems.toArray()[0]?.nativeElement.focus();\n event.preventDefault();\n break;\n }\n case 'End': {\n this.setScrollToTabIndex(this.euiTabListItems.toArray().length - 1, false);\n this.euiTabListItems.toArray()[this.euiTabListItems.toArray().length - 1]?.nativeElement.focus();\n event.preventDefault();\n break;\n }\n case 'Delete': {\n if (this.tabs[i].isClosable) {\n if (i === this.euiTabListItems.toArray().length - 1) {\n this.euiTabListItems.toArray()[i - 1]?.nativeElement.focus();\n this.close(i, event);\n } else {\n this.close(i, event);\n this.euiTabListItems.toArray()[i]?.nativeElement.focus();\n }\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n\n /**\n * Click handler for tab list item\n *\n * @param index Index of the tab clicked\n */\n protected tabListItemClick(index: number): void {\n const tab = this.tabs[index];\n\n this.tabClick.emit({ tab, index });\n\n this.activate(index);\n }\n\n /**\n * Activates a tab\n *\n * @param index Index of the tab to activate\n * @param isAnimated Whether the activation should be animated\n * @param options Object with emitEvent property to emit the event or not\n */\n protected activate(index: number, isAnimated = true, options = { emitEvent: true }): void {\n const tab = this.tabs[index];\n\n if (tab && !tab.isHandleActivateTab) {\n this.activateTab(index, isAnimated, options);\n }\n }\n\n /**\n * Closes a tab\n *\n * @param index Index of the tab to close\n * @param e\n */\n protected close(index: number, e: Event): void {\n const tab = this.tabs[index];\n\n if (tab && !tab.isHandleCloseOnClose) {\n this.closeTab(index);\n }\n\n this.tabClose.emit({ tab, index });\n e.stopPropagation();\n }\n\n /**\n * Checks if there are html elements within the tab panel, in order to focus or not the tab panel\n * @param index The tab index\n */\n protected onAttached(index: number): void {\n const tabbody = document.querySelector('#tabpanel-' + index + '-' + this.tabId)?.children[0];\n if (tabbody?.children.length > 0) {\n for (const child of Array.from(tabbody.children)) {\n if (this.isFocusableElement(child)) {\n this.tabs[index - 1].templateBody.tabIndex$.next(-1);\n } else {\n this.tabs[index - 1].templateBody.tabIndex$.next(0);\n }\n }\n } else {\n this.tabs[index - 1].templateBody.tabIndex$.next(0);\n }\n }\n\n /**\n * Checks the existence of focusable elements\n * @param origin The element to check\n */\n private isFocusableElement(origin: Element): boolean {\n return (\n origin.matches('button') ||\n origin.matches('a') ||\n origin.matches('input') ||\n origin.matches('select') ||\n origin.matches('textarea') ||\n origin.matches('[tabindex]:not([tabindex=\"-1\"])')\n );\n }\n\n /**\n * Checks if the tabs headers are scrolling and calculates the scrolling position\n */\n private tabsScrollingHandler(): void {\n if (this.euiTabsHeadersContainerWidth && this.euiTabsHeadersWidth) {\n this.scrolling = this.euiTabsHeadersContainerWidth < this.euiTabsHeadersWidth;\n\n if (!this.scrolling) {\n this.scrollingCount = 0;\n this.setScrollTo(0, false);\n } else {\n if (\n this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth <= Math.abs(this.currentOffset) + this.scrollOffset &&\n this.scrollingCount !== 0\n ) {\n const scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) - this.scrollOffset;\n this.setScrollTo(scrollTo);\n } else {\n if (Math.abs(this.currentOffset) < this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n }\n\n this.scrollingCount++;\n }\n\n this.cd.detectChanges();\n }\n }\n\n /**\n * Sets the scroll position oon the tab header specified by index\n *\n * @param index Index of the tab header to scroll to\n * @param isAnimated Whether the tab activation should be animated\n */\n private setScrollToTabIndex(index: number, isAnimated = true): void {\n const activeTab = this.euiTabsHeaders.nativeElement.children.item(index);\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isMainNavigation) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= index; i++) {\n subsetWidth += this.euiTabsHeaders.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = this.euiTabsHeadersContainerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0 || (scrollTo < 0 && index === 0)) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo, isAnimated);\n }\n }\n\n /**\n * Sets the scroll position of the tabs headers\n *\n * @param scrollTo Number to set on the margin-left style property\n * @param isAnimated Whether the tab activation should be animated\n */\n private setScrollTo(scrollTo: number, isAnimated = true): void {\n const timings = isAnimated ? '500ms cubic-bezier(0.35, 0, 0.25, 1)' : 0;\n const animation: AnimationFactory = this.builder.build([animate(timings, style({ 'margin-left': +scrollTo + 'px' }))]);\n\n this.player = animation.create(this.euiTabsHeaders.nativeElement);\n this.player.play();\n\n this.currentOffset = scrollTo;\n\n if (scrollTo === 0) {\n this.navigationLeftButtonDisabled = true;\n }\n if (Math.abs(this.currentOffset) < this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n if (Math.abs(scrollTo) === this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = true;\n }\n\n this.cd.detectChanges();\n }\n\n /**\n * Checks if the active tab is fully visible\n *\n * @param activeTab Index of the tab to check\n * @returns true if fully visible, false otherwise\n */\n private isActiveTabFullyVisible(activeTab: HTMLDivElement): boolean {\n const fullyVisible =\n activeTab.offsetLeft - this.scrollOffset >= 0 &&\n activeTab.offsetLeft + activeTab.clientWidth < this.euiTabsHeadersContainerWidth - this.scrollOffset;\n\n return fullyVisible;\n }\n}\n","<div #euiTabsHeadersContainer class=\"eui-tab\" [class.eui-tab--scrolling]=\"scrolling\">\n <ul #euiTabsHeaders class=\"eui-tab-headers\" [attr.data-offset]=\"currentOffset\" role=\"tablist\" [attr.aria-label]=\"ariaLabel\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible$ | async) {\n <li #euiTabListItems\n class=\"eui-tab-header\"\n id=\"tab-{{ i + 1 }}-{{ tabId }}\"\n [tabindex]=\"i === activeTabIndex ? '0' : '-1'\"\n role=\"tab\"\n attr.aria-controls=\"tabpanel-{{ i + 1 }}-{{ tabId }}\"\n [attr.aria-selected]=\"i === activeTabIndex\"\n [ngClass]=\"tab.baseStatesDirective.euiVariant ? 'eui-tab-header--' + tab.baseStatesDirective.euiVariant : ''\"\n [class.eui-tab-header--active]=\"i === activeTabIndex\"\n [class.eui-tab-header--disabled]=\"tab.isDisabled$ | async\"\n attr.aria-disabled=\"{{ tab.isDisabled$ | async }}\"\n (click)=\"tabListItemClick(i)\"\n (keydown)=\"onKeydown(i, $event)\">\n <ng-template [cdkPortalOutlet]=\"tab.templateHeader.templatePortal\"></ng-template>\n\n @if (tab.isClosable$ | async) {\n <eui-icon-button\n [tabindex]=\"-1\"\n ariaLabel=\"Closable\"\n euiRounded\n class=\"eui-tab-close-button\"\n icon=\"close:outline\"\n (buttonClick)=\"close(i, $event)\">\n </eui-icon-button>\n }\n </li>\n }\n }\n </ul>\n\n <div class=\"eui-tabs-navigation\">\n <div class=\"eui-tabs-navigation__left-item\">\n <button\n (click)=\"goToLeft()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n aria-label=\"Scroll left\">\n <eui-icon-svg icon=\"chevron-back:sharp\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-tabs-navigation__right-item\">\n <button\n (click)=\"goToRight()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n aria-label=\"Scroll right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\"></eui-icon-svg>\n </button>\n </div>\n </div>\n\n <ng-content select=\"eui-tabs-v2-right-content\"></ng-content>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && (tab.isDisabled$ | async) === false && tab.templateBody) {\n <div id=\"tabpanel-{{ i + 1 }}-{{ tabId }}\" class=\"eui-tab-body-container\" role=\"tabpanel\" attr.aria-labelledby=\"tab-{{ i + 1 }}-{{ tabId }}\">\n <ng-template [cdkPortalOutlet]=\"tab.templateBody.templatePortal\" (attached)=\"onAttached(i + 1)\"></ng-template>\n </div>\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eui-tabs-v2-right-content',\n template: '<ng-content/>',\n standalone: true,\n styles: `\n :host {\n display: flex;\n margin-left: auto;\n }\n `,\n})\nexport class EuiTabsV2RightContentComponent {\n}\n","export * from './eui-tabs-v2.component';\nexport * from './eui-tabs-v2-right-content/eui-tabs-v2-right-content.component';\nexport * from './eui-tab-v2/eui-tab-v2.component';\nexport * from './eui-tab-v2-header/eui-tab-v2-header.component';\nexport * from './eui-tab-v2-body/eui-tab-v2-body.component';\n\nimport { EuiTabsV2Component } from './eui-tabs-v2.component';\nimport { EuiTabsV2RightContentComponent } from './eui-tabs-v2-right-content/eui-tabs-v2-right-content.component';\nimport { EuiTabV2BodyComponent } from './eui-tab-v2-body/eui-tab-v2-body.component';\nimport { EuiTabV2HeaderComponent } from './eui-tab-v2-header/eui-tab-v2-header.component';\nimport { EuiTabV2Component } from './eui-tab-v2/eui-tab-v2.component';\n\nexport const EUI_TABS_COMPONENTS = [\n EuiTabsV2Component,\n EuiTabsV2RightContentComponent,\n EuiTabV2BodyComponent,\n EuiTabV2HeaderComponent,\n EuiTabV2Component,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}