@eui/eds 23.0.0-alpha.6 → 23.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/changelog.html +41 -0
- package/docs/classes/EdsChipModel.html +6 -6
- package/docs/classes/{EuiChipTooltip.html → EdsChipTooltip.html} +2 -2
- package/docs/components/EdsAlert.html +27 -226
- package/docs/components/EdsAlertTitle.html +2 -2
- package/docs/components/EdsAvatar.html +35 -108
- package/docs/components/EdsAvatarBadge.html +2 -2
- package/docs/components/EdsAvatarContent.html +2 -2
- package/docs/components/EdsAvatarContentLabel.html +2 -2
- package/docs/components/EdsAvatarContentSublabel.html +2 -2
- package/docs/components/EdsAvatarIcon.html +2 -2
- package/docs/components/EdsAvatarImage.html +2 -2
- package/docs/components/EdsAvatarList.html +2 -2
- package/docs/components/EdsAvatarText.html +2 -2
- package/docs/components/EdsBadge.html +41 -175
- package/docs/components/EdsButton.html +123 -123
- package/docs/components/EdsChip.html +135 -254
- package/docs/components/EdsIcon.html +93 -145
- package/docs/components/EdsIconButton.html +72 -86
- package/docs/components/EdsIconImage.html +5 -5
- package/docs/components/EdsIconState.html +47 -61
- package/docs/components/EdsLanguageSelector.html +870 -0
- package/docs/components/EdsMenu.html +631 -0
- package/docs/components/EdsMenuItemComponent.html +728 -0
- package/docs/components/EdsOverlay.html +804 -0
- package/docs/components/EdsOverlayContent.html +315 -0
- package/docs/components/EdsOverlayFooter.html +315 -0
- package/docs/components/EdsOverlayHeader.html +458 -0
- package/docs/components/EdsOverlayHeaderActionItems.html +315 -0
- package/docs/components/EdsOverlayHeaderLabel.html +315 -0
- package/docs/components/EdsOverlayHeaderSublabel.html +315 -0
- package/docs/components/EdsPage.html +315 -0
- package/docs/components/EdsPageContent.html +319 -0
- package/docs/components/EdsPageFooter.html +387 -0
- package/docs/components/EdsPageHeader.html +673 -0
- package/docs/components/EdsPageHeaderActionItems.html +315 -0
- package/docs/components/EdsPageHeaderBody.html +315 -0
- package/docs/components/EdsPageHeaderLabel.html +315 -0
- package/docs/components/EdsPageHeaderSublabel.html +315 -0
- package/docs/components/EdsShell.html +1078 -0
- package/docs/components/EdsShellContent.html +315 -0
- package/docs/components/EdsShellFooter.html +383 -0
- package/docs/components/EdsShellHeader.html +383 -0
- package/docs/components/EdsShellHeaderApp.html +443 -0
- package/docs/components/EdsShellHeaderEnd.html +311 -0
- package/docs/components/EdsShellHeaderEnvironment.html +315 -0
- package/docs/components/EdsShellHeaderLogo.html +561 -0
- package/docs/components/EdsShellHeaderStart.html +311 -0
- package/docs/components/EdsShellMenuToggle.html +458 -0
- package/docs/components/EdsShellSidebar.html +413 -0
- package/docs/components/EdsShellSidebarBottomNav.html +624 -0
- package/docs/components/EdsShellSidebarFooter.html +315 -0
- package/docs/components/EdsShellSidebarHeader.html +508 -0
- package/docs/components/EdsShellSidebarNav.html +624 -0
- package/docs/components/EdsShellToolbar.html +315 -0
- package/docs/components/EdsShellToolbarApp.html +443 -0
- package/docs/components/EdsShellToolbarEnd.html +315 -0
- package/docs/components/EdsShellToolbarEnvironment.html +315 -0
- package/docs/components/EdsShellToolbarLogo.html +315 -0
- package/docs/components/EdsShellToolbarStart.html +315 -0
- package/docs/components/EdsShellTopMessage.html +574 -0
- package/docs/components/EdsTab.html +6 -10
- package/docs/components/EdsTabBody.html +6 -10
- package/docs/components/EdsTabHeader.html +6 -10
- package/docs/components/EdsTabHeaderLabel.html +2 -2
- package/docs/components/EdsTabHeaderLeftContent.html +2 -2
- package/docs/components/EdsTabHeaderRightContent.html +2 -2
- package/docs/components/EdsTabHeaderSublabel.html +2 -2
- package/docs/components/EdsTabs.html +61 -126
- package/docs/components/EdsTabsRightContent.html +2 -2
- package/docs/components/EdsTag.html +82 -182
- package/docs/components/EdsTooltipContainer.html +2 -2
- package/docs/components/EdsUserProfile.html +1336 -0
- package/docs/components/EdsUserProfileMenu.html +315 -0
- package/docs/components/EdsUserProfileMenuItem.html +511 -0
- package/docs/directives/{EuiBaseColorVariantsDirective.html → EdsBaseColorVariantsDirective.html} +174 -91
- package/docs/directives/{EuiBaseSizeVariantsDirective.html → EdsBaseSizeVariantsDirective.html} +107 -107
- package/docs/directives/EdsResizable.html +586 -0
- package/docs/directives/EdsTooltip.html +21 -21
- package/docs/interfaces/EdsLanguage.html +368 -0
- package/docs/interfaces/EdsMenuItem.html +731 -0
- package/docs/js/menu-wc.js +146 -5
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EdsAlert.md +7 -7
- package/docs/json/EdsAvatar.md +8 -7
- package/docs/json/EdsBadge.md +14 -14
- package/docs/json/EdsBaseColorVariantsDirective.md +22 -0
- package/docs/json/EdsBaseSizeVariantsDirective.md +23 -0
- package/docs/json/EdsButton.md +21 -21
- package/docs/json/EdsChip.md +15 -14
- package/docs/json/EdsIcon.md +23 -23
- package/docs/json/EdsIconButton.md +18 -17
- package/docs/json/EdsIconImage.md +10 -10
- package/docs/json/EdsIconState.md +12 -12
- package/docs/json/EdsLanguageSelector.md +16 -0
- package/docs/json/EdsMenu.md +17 -0
- package/docs/json/EdsMenuItemComponent.md +18 -0
- package/docs/json/EdsOverlay.md +19 -0
- package/docs/json/EdsOverlayContent.md +8 -0
- package/docs/json/EdsOverlayFooter.md +8 -0
- package/docs/json/EdsOverlayHeader.md +11 -0
- package/docs/json/EdsOverlayHeaderActionItems.md +8 -0
- package/docs/json/EdsOverlayHeaderLabel.md +8 -0
- package/docs/json/EdsOverlayHeaderSublabel.md +8 -0
- package/docs/json/EdsPage.md +8 -0
- package/docs/json/EdsPageContent.md +8 -0
- package/docs/json/EdsPageFooter.md +11 -0
- package/docs/json/EdsPageHeader.md +18 -0
- package/docs/json/EdsPageHeaderActionItems.md +8 -0
- package/docs/json/EdsPageHeaderBody.md +8 -0
- package/docs/json/EdsPageHeaderLabel.md +8 -0
- package/docs/json/EdsPageHeaderSublabel.md +8 -0
- package/docs/json/EdsResizable.md +24 -0
- package/docs/json/EdsShell.md +14 -0
- package/docs/json/EdsShellContent.md +8 -0
- package/docs/json/EdsShellFooter.md +11 -0
- package/docs/json/EdsShellHeader.md +11 -0
- package/docs/json/EdsShellHeaderApp.md +13 -0
- package/docs/json/EdsShellHeaderEnd.md +8 -0
- package/docs/json/EdsShellHeaderEnvironment.md +8 -0
- package/docs/json/EdsShellHeaderLogo.md +15 -0
- package/docs/json/EdsShellHeaderStart.md +8 -0
- package/docs/json/EdsShellMenuToggle.md +11 -0
- package/docs/json/EdsShellSidebar.md +12 -0
- package/docs/json/EdsShellSidebarBottomNav.md +17 -0
- package/docs/json/EdsShellSidebarFooter.md +8 -0
- package/docs/json/EdsShellSidebarHeader.md +15 -0
- package/docs/json/EdsShellSidebarNav.md +17 -0
- package/docs/json/EdsShellToolbar.md +8 -0
- package/docs/json/EdsShellToolbarApp.md +13 -0
- package/docs/json/EdsShellToolbarEnd.md +8 -0
- package/docs/json/EdsShellToolbarEnvironment.md +8 -0
- package/docs/json/EdsShellToolbarLogo.md +8 -0
- package/docs/json/EdsShellToolbarStart.md +8 -0
- package/docs/json/EdsShellTopMessage.md +19 -0
- package/docs/json/EdsTabs.md +4 -4
- package/docs/json/EdsTag.md +14 -13
- package/docs/json/EdsTooltip.md +7 -7
- package/docs/json/EdsUserProfile.md +21 -0
- package/docs/json/EdsUserProfileMenu.md +8 -0
- package/docs/json/EdsUserProfileMenuItem.md +8 -0
- package/docs/json/documentation.json +9649 -5338
- package/docs/llms.txt +641 -123
- package/docs/miscellaneous/typealiases.html +309 -0
- package/docs/miscellaneous/variables.html +342 -0
- package/docs/overview.html +3 -3
- package/docs/properties.html +1 -1
- package/eds-language-selector/package.json +4 -0
- package/eds-menu/package.json +4 -0
- package/eds-overlay/package.json +4 -0
- package/eds-page/package.json +4 -0
- package/eds-resizable/package.json +4 -0
- package/eds-shell/package.json +4 -0
- package/eds-user-profile/package.json +4 -0
- package/fesm2022/eui-eds-eds-alert.mjs +33 -61
- package/fesm2022/eui-eds-eds-alert.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-avatar.mjs +29 -43
- package/fesm2022/eui-eds-eds-avatar.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-badge.mjs +65 -89
- package/fesm2022/eui-eds-eds-badge.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-button.mjs +70 -99
- package/fesm2022/eui-eds-eds-button.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-chip.mjs +118 -111
- package/fesm2022/eui-eds-eds-chip.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-icon-button.mjs +49 -55
- package/fesm2022/eui-eds-eds-icon-button.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-icon-state.mjs +38 -34
- package/fesm2022/eui-eds-eds-icon-state.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-icon.mjs +92 -107
- package/fesm2022/eui-eds-eds-icon.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-language-selector.mjs +67 -0
- package/fesm2022/eui-eds-eds-language-selector.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-menu.mjs +90 -0
- package/fesm2022/eui-eds-eds-menu.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-overlay.mjs +141 -0
- package/fesm2022/eui-eds-eds-overlay.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-page.mjs +129 -0
- package/fesm2022/eui-eds-eds-page.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-resizable.mjs +193 -0
- package/fesm2022/eui-eds-eds-resizable.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-shell.mjs +481 -0
- package/fesm2022/eui-eds-eds-shell.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-tabs.mjs +71 -101
- package/fesm2022/eui-eds-eds-tabs.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tag.mjs +74 -77
- package/fesm2022/eui-eds-eds-tag.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tooltip.mjs +23 -23
- package/fesm2022/eui-eds-eds-tooltip.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-user-profile.mjs +231 -0
- package/fesm2022/eui-eds-eds-user-profile.mjs.map +1 -0
- package/fesm2022/eui-eds-shared.mjs +255 -243
- package/fesm2022/eui-eds-shared.mjs.map +1 -1
- package/package.json +29 -1
- package/types/eui-eds-eds-alert.d.ts +7 -29
- package/types/eui-eds-eds-alert.d.ts.map +1 -1
- package/types/eui-eds-eds-avatar.d.ts +11 -12
- package/types/eui-eds-eds-avatar.d.ts.map +1 -1
- package/types/eui-eds-eds-badge.d.ts +15 -20
- package/types/eui-eds-eds-badge.d.ts.map +1 -1
- package/types/eui-eds-eds-button.d.ts +22 -30
- package/types/eui-eds-eds-button.d.ts.map +1 -1
- package/types/eui-eds-eds-chip.d.ts +36 -36
- package/types/eui-eds-eds-chip.d.ts.map +1 -1
- package/types/eui-eds-eds-icon-button.d.ts +13 -16
- package/types/eui-eds-eds-icon-button.d.ts.map +1 -1
- package/types/eui-eds-eds-icon-state.d.ts +8 -8
- package/types/eui-eds-eds-icon-state.d.ts.map +1 -1
- package/types/eui-eds-eds-icon.d.ts +22 -29
- package/types/eui-eds-eds-icon.d.ts.map +1 -1
- package/types/eui-eds-eds-language-selector.d.ts +34 -0
- package/types/eui-eds-eds-language-selector.d.ts.map +1 -0
- package/types/eui-eds-eds-menu.d.ts +65 -0
- package/types/eui-eds-eds-menu.d.ts.map +1 -0
- package/types/eui-eds-eds-overlay.d.ts +64 -0
- package/types/eui-eds-eds-overlay.d.ts.map +1 -0
- package/types/eui-eds-eds-page.d.ts +63 -0
- package/types/eui-eds-eds-page.d.ts.map +1 -0
- package/types/eui-eds-eds-resizable.d.ts +49 -0
- package/types/eui-eds-eds-resizable.d.ts.map +1 -0
- package/types/eui-eds-eds-shell.d.ts +229 -0
- package/types/eui-eds-eds-shell.d.ts.map +1 -0
- package/types/eui-eds-eds-tabs.d.ts +32 -30
- package/types/eui-eds-eds-tabs.d.ts.map +1 -1
- package/types/eui-eds-eds-tag.d.ts +22 -25
- package/types/eui-eds-eds-tag.d.ts.map +1 -1
- package/types/eui-eds-eds-tooltip.d.ts +16 -16
- package/types/eui-eds-eds-user-profile.d.ts +78 -0
- package/types/eui-eds-eds-user-profile.d.ts.map +1 -0
- package/types/eui-eds-shared.d.ts +82 -79
- package/types/eui-eds-shared.d.ts.map +1 -1
- package/docs/json/EuiBaseColorVariantsDirective.md +0 -21
- package/docs/json/EuiBaseSizeVariantsDirective.md +0 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-eds-eds-tabs.mjs","sources":["../../eds-tabs/eds-tab-header.ts","../../eds-tabs/eds-tab-header.html","../../eds-tabs/eds-tab-body.ts","../../eds-tabs/eds-tab-body.html","../../eds-tabs/eds-tab.ts","../../eds-tabs/eds-tabs.ts","../../eds-tabs/eds-tabs.html","../../eds-tabs/eds-tabs-right-content.ts","../../eds-tabs/eds-tab-header-label.ts","../../eds-tabs/eds-tab-header-sub-label.ts","../../eds-tabs/eds-tab-header-left-content.ts","../../eds-tabs/eds-tab-header-right-content.ts","../../eds-tabs/index.ts","../../eds-tabs/eui-eds-eds-tabs.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, inject } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'eds-tab-header',\n templateUrl: './eds-tab-header.html',\n})\nexport class EdsTabHeader implements AfterViewInit {\n @ViewChild('templateRef') templateRef!: TemplateRef<HTMLElement>;\n\n public templatePortal!: TemplatePortal;\n private viewContainerRef = inject(ViewContainerRef);\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div class=\"eds-tab-header-wrapper\">\n <ng-content select=\"eds-tab-header-left-content\"/>\n <div class=\"eds-tab-header-label-wrapper\">\n <ng-content select=\"eds-tab-header-label\"/>\n <ng-content select=\"eds-tab-header-sub-label\"/>\n </div>\n <ng-content/>\n <ng-content select=\"eds-tab-header-right-content\"/>\n </div>\n</ng-template>\n","import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, booleanAttribute, inject } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject } from 'rxjs';\nimport { AsyncPipe } from '@angular/common';\n\n@Component({\n selector: 'eds-tab-body',\n templateUrl: './eds-tab-body.html',\n imports: [\n AsyncPipe,\n ],\n})\nexport class EdsTabBody implements AfterViewInit {\n /**\n * Removes default padding from the tab content area.\n * Useful for full-width content, custom layouts, or when content provides its own spacing.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n @ViewChild('templateRef') templateRef!: TemplateRef<HTMLElement>;\n\n public templatePortal!: TemplatePortal;\n tabIndex$ = new BehaviorSubject(0);\n private viewContainerRef = inject(ViewContainerRef);\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div class=\"eds-tab__body\" [tabindex]=\"tabIndex$ | async\" [class.eds-tab__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 { EdsTabHeader } from './eds-tab-header';\nimport { EdsTabBody } from './eds-tab-body';\n\n@Component({\n selector: 'eds-tab',\n template: '<ng-content/>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsTab implements OnChanges {\n /**\n * Unique identifier for the tab.\n * Used for programmatic tab selection and tracking.\n * Required for proper tab management and routing.\n */\n @Input() id!: string;\n /**\n * URL or route path associated with the tab.\n * Enables deep linking and browser history integration for tab navigation.\n */\n @Input() url!: string;\n /**\n * Data attribute used for end-to-end testing identification.\n * @default 'eui-tab'\n */\n @Input() e2eAttr = 'eds-tab';\n /**\n * Tooltip text displayed when hovering over the tab header.\n * Provides additional context or information about the tab content.\n */\n @Input() tooltip!: string;\n /**\n * Enables a close button on the tab header for dismissible tabs.\n * Allows users to remove or hide the tab from the tab bar.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isClosable = false;\n /**\n * Disables the tab, preventing user interaction and selection.\n * Applies disabled styling and blocks tab activation.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Controls the visibility of the tab in the tab bar.\n * When false, hides the tab from display without removing it from the DOM.\n * @default true\n */\n @Input({ transform: booleanAttribute }) isVisible = true;\n /**\n * Enables automatic tab closure when the close button is clicked.\n * When false, close button click must be handled externally.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n /**\n * Enables automatic tab activation when the tab is clicked.\n * When false, tab activation must be handled externally.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isHandleActivateTab = false;\n\n @ContentChild(forwardRef(() => EdsTabHeader)) templateHeader!: EdsTabHeader;\n @ContentChild(forwardRef(() => EdsTabBody)) templateBody!: EdsTabBody;\n\n @Input() euiVariant = 'euiPrimary';\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 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 EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n forwardRef,\n AfterViewInit,\n ElementRef,\n ChangeDetectorRef,\n HostBinding,\n booleanAttribute,\n ChangeDetectionStrategy,\n ViewChild,\n SimpleChanges,\n ViewChildren,\n OnChanges,\n OnInit,\n inject,\n PLATFORM_ID,\n DOCUMENT,\n} from '@angular/core';\nimport { AsyncPipe, isPlatformBrowser } 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';\n\nimport { EdsTab } from './eds-tab';\nimport { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';\n\n@Component({\n selector: 'eds-tabs',\n templateUrl: './eds-tabs.html',\n styleUrl: './eds-tabs.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AsyncPipe,\n PortalModule,\n ...EDS_ICON_BUTTON,\n ],\n})\nexport class EdsTabs implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @HostBinding('class')\n get elementClass(): string {\n return [\n 'eds-tabs',\n ].join(' ').trim();\n }\n @HostBinding('attr.data-e2e')\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eds-tabs'\n */\n @Input()\n e2eAttr = 'eds-tabs';\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 = 'EDS Tabs';\n\n @Input({ transform: booleanAttribute }) isMainNavigation = false;\n @Input({ transform: booleanAttribute }) isFlat = false;\n\n /**\n * Event emitted when a tab is closed\n */\n @Output() tabClose = new EventEmitter<{ tab: EdsTab; index: number }>();\n /**\n * Event emitted when a tab is activated\n */\n @Output() tabActivate = new EventEmitter<{ tab: EdsTab; index: number }>();\n /**\n * Event emitted when a tab is clicked\n */\n @Output() tabClick = new EventEmitter<{ tab: EdsTab; index: number }>();\n\n @ContentChildren(forwardRef(() => EdsTab), { descendants: false }) _tabs!: QueryList<EdsTab>;\n\n @ViewChild('euiTabsHeadersContainer') euiTabsHeadersContainer!: ElementRef;\n @ViewChild('euiTabsHeaders') euiTabsHeaders!: ElementRef;\n @ViewChild('euiTabsRightContent') euiTabsRightContent!: ElementRef;\n @ViewChildren('euiTabListItems') euiTabListItems!: QueryList<ElementRef>;\n\n public tabs: EdsTab[] = [];\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 platformId = inject(PLATFORM_ID);\n private player!: AnimationPlayer;\n private stepMove = 400;\n private scrollOffset = 40;\n private scrollingCount = 0;\n private cd = inject(ChangeDetectorRef);\n private builder = inject(AnimationBuilder);\n private euiAppShellService = inject(EuiAppShellService);\n private document = inject(DOCUMENT);\n\n /**\n * Width of the tabs headers container\n */\n get euiTabsHeadersContainerWidth(): number {\n return (this.euiTabsHeadersContainer?.nativeElement.clientWidth - this.euiTabsRightContentWidth);\n }\n\n /**\n * Width of the tabs headers\n */\n get euiTabsHeadersWidth(): number {\n return this.euiTabsHeaders?.nativeElement.clientWidth;\n }\n\n /**\n * Width of the tabs right content\n */\n get euiTabsRightContentWidth(): number {\n return this.euiTabsRightContent?.nativeElement?.offsetWidth || 0;\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<EdsTab>) => {\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 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 if (isPlatformBrowser(this.platformId)) {\n const tabbody = this.document.querySelector('#tabpanel-' + index + '-' + this.tabId)?.children[0];\n if (tabbody?.children?.length && 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 /**\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\n this.scrolling = this.euiTabsHeadersWidth > this.euiTabsHeadersContainerWidth;\n\n if (!this.scrolling) {\n this.scrollingCount = 0;\n this.setScrollTo(0, false);\n this.navigationLeftButtonDisabled = true;\n this.navigationRightButtonDisabled = true;\n } else {\n const maxScrollableWidth = this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth;\n\n if (maxScrollableWidth <= Math.abs(this.currentOffset) + this.scrollOffset && this.scrollingCount !== 0) {\n const scrollTo = -maxScrollableWidth - this.scrollOffset;\n this.setScrollTo(scrollTo);\n } else {\n this.navigationRightButtonDisabled = Math.abs(this.currentOffset) >= maxScrollableWidth;\n this.navigationLeftButtonDisabled = this.currentOffset >= 0;\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=\"eds-tabs-wrapper\" [class.eds-tabs-wrapper--scrolling]=\"scrolling\">\n <div class=\"eds-tabs-navigation\">\n <div class=\"eds-tabs-navigation__left-item\">\n <button edsIconButton\n (click)=\"goToLeft()\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n icon=\"chevron-left\"\n ariaLabel=\"Scroll left\">\n </button>\n </div>\n\n <ul #euiTabsHeaders class=\"eds-tab-items\" [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=\"eds-tab-item\"\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 [class.eds-tab-item--active]=\"i === activeTabIndex\"\n [class.eds-tab-item--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 <button edsIconButton\n [tabindex]=\"-1\"\n ariaLabel=\"Closable\"\n euiRounded\n class=\"eds-tab-close-button\"\n icon=\"x\"\n euiSizeS\n [euiDisabled]=\"tab.isDisabled$ | async\"\n (buttonClick)=\"close(i, $event)\">\n </button>\n }\n </li>\n }\n }\n </ul>\n\n <div class=\"eds-tabs-navigation__right-item\">\n <button edsIconButton\n (click)=\"goToRight()\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n icon=\"chevron-right\"\n ariaLabel=\"Scroll right\">\n </button>\n </div>\n </div>\n <div #euiTabsRightContent class=\"eds-tabs-right-content-wrapper\">\n <ng-content select=\"eds-tabs-right-content\"></ng-content>\n </div>\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=\"eds-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: 'eds-tabs-right-content',\n template: '<ng-content/>',\n styles: `\n :host {\n display: flex;\n margin-left: auto;\n }\n `,\n})\nexport class EdsTabsRightContent {\n}\n","import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'eds-tab-header-label',\n template: '<ng-content />',\n})\nexport class EdsTabHeaderLabel {\n @HostBinding('class') string = 'eds-tab-header-label';\n}\n","import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'eds-tab-header-sub-label',\n template: '<ng-content />',\n})\nexport class EdsTabHeaderSublabel {\n @HostBinding('class') string = 'eds-tab-header-sub-label';\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eds-tab-header-left-content',\n template: '<ng-content />',\n})\nexport class EdsTabHeaderLeftContent {\n @HostBinding('class') string = 'eds-tab-header-left-content';\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eds-tab-header-right-content',\n template: '<ng-content />',\n})\nexport class EdsTabHeaderRightContent {\n @HostBinding('class') string = 'eds-tab-header-right-content';\n}\n","export * from './eds-tabs';\nexport * from './eds-tabs-right-content';\nexport * from './eds-tab';\nexport * from './eds-tab-header';\nexport * from './eds-tab-header-label';\nexport * from './eds-tab-header-sub-label';\nexport * from './eds-tab-header-left-content';\nexport * from './eds-tab-header-right-content';\nexport * from './eds-tab-body';\n\nimport { EdsTabs } from './eds-tabs';\nimport { EdsTabsRightContent } from './eds-tabs-right-content';\nimport { EdsTabBody } from './eds-tab-body';\nimport { EdsTabHeader } from './eds-tab-header';\nimport { EdsTab } from './eds-tab';\nimport { EdsTabHeaderLabel } from './eds-tab-header-label';\nimport { EdsTabHeaderSublabel } from './eds-tab-header-sub-label';\nimport { EdsTabHeaderRightContent } from './eds-tab-header-right-content';\nimport { EdsTabHeaderLeftContent } from './eds-tab-header-left-content';\n\nexport const EDS_TABS = [\n EdsTabs,\n EdsTabsRightContent,\n EdsTabBody,\n EdsTabHeader,\n EdsTabHeaderLabel,\n EdsTabHeaderSublabel,\n EdsTabHeaderRightContent,\n EdsTabHeaderLeftContent,\n EdsTab,\n] as const;\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-eds-eds-tabs.mjs","sources":["../../eds-tabs/eds-tab-header.ts","../../eds-tabs/eds-tab-header.html","../../eds-tabs/eds-tab-body.ts","../../eds-tabs/eds-tab-body.html","../../eds-tabs/eds-tab.ts","../../eds-tabs/eds-tabs.ts","../../eds-tabs/eds-tabs.html","../../eds-tabs/eds-tabs-right-content.ts","../../eds-tabs/eds-tab-header-label.ts","../../eds-tabs/eds-tab-header-sub-label.ts","../../eds-tabs/eds-tab-header-left-content.ts","../../eds-tabs/eds-tab-header-right-content.ts","../../eds-tabs/index.ts","../../eds-tabs/eui-eds-eds-tabs.ts"],"sourcesContent":["import { Component, TemplateRef, ViewContainerRef, AfterViewInit, inject, viewChild } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'eds-tab-header',\n templateUrl: './eds-tab-header.html',\n})\nexport class EdsTabHeader implements AfterViewInit {\n readonly templateRef = viewChild.required<TemplateRef<HTMLElement>>('templateRef');\n\n public templatePortal!: TemplatePortal;\n private viewContainerRef = inject(ViewContainerRef);\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef(), this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div class=\"eds-tab-header-wrapper\">\n <ng-content select=\"eds-tab-header-left-content\"/>\n <div class=\"eds-tab-header-label-wrapper\">\n <ng-content select=\"eds-tab-header-label\"/>\n <ng-content select=\"eds-tab-header-sub-label\"/>\n </div>\n <ng-content/>\n <ng-content select=\"eds-tab-header-right-content\"/>\n </div>\n</ng-template>\n","import { Component, Input, TemplateRef, ViewContainerRef, AfterViewInit, booleanAttribute, inject, viewChild } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject } from 'rxjs';\nimport { AsyncPipe } from '@angular/common';\n\n@Component({\n selector: 'eds-tab-body',\n templateUrl: './eds-tab-body.html',\n imports: [\n AsyncPipe,\n ],\n})\nexport class EdsTabBody implements AfterViewInit {\n /**\n * Removes default padding from the tab content area.\n * Useful for full-width content, custom layouts, or when content provides its own spacing.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n readonly templateRef = viewChild.required<TemplateRef<HTMLElement>>('templateRef');\n\n public templatePortal!: TemplatePortal;\n tabIndex$ = new BehaviorSubject(0);\n private viewContainerRef = inject(ViewContainerRef);\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef(), this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div class=\"eds-tab__body\" [tabindex]=\"tabIndex$ | async\" [class.eds-tab__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 contentChild,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { EdsTabHeader } from './eds-tab-header';\nimport { EdsTabBody } from './eds-tab-body';\n\n@Component({\n selector: 'eds-tab',\n template: '<ng-content/>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsTab implements OnChanges {\n /**\n * Unique identifier for the tab.\n * Used for programmatic tab selection and tracking.\n * Required for proper tab management and routing.\n */\n @Input() id!: string;\n /**\n * URL or route path associated with the tab.\n * Enables deep linking and browser history integration for tab navigation.\n */\n @Input() url!: string;\n /**\n * Data attribute used for end-to-end testing identification.\n * @default 'eui-tab'\n */\n @Input() e2eAttr = 'eds-tab';\n /**\n * Tooltip text displayed when hovering over the tab header.\n * Provides additional context or information about the tab content.\n */\n @Input() tooltip!: string;\n /**\n * Enables a close button on the tab header for dismissible tabs.\n * Allows users to remove or hide the tab from the tab bar.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isClosable = false;\n /**\n * Disables the tab, preventing user interaction and selection.\n * Applies disabled styling and blocks tab activation.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Controls the visibility of the tab in the tab bar.\n * When false, hides the tab from display without removing it from the DOM.\n * @default true\n */\n @Input({ transform: booleanAttribute }) isVisible = true;\n /**\n * Enables automatic tab closure when the close button is clicked.\n * When false, close button click must be handled externally.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n /**\n * Enables automatic tab activation when the tab is clicked.\n * When false, tab activation must be handled externally.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isHandleActivateTab = false;\n\n readonly templateHeader = contentChild.required(forwardRef(() => EdsTabHeader));\n @ContentChild(forwardRef(() => EdsTabBody)) templateBody!: EdsTabBody;\n\n @Input() euiVariant = 'euiPrimary';\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 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 Input,\n OnDestroy,\n QueryList,\n forwardRef,\n AfterViewInit,\n ElementRef,\n ChangeDetectorRef,\n booleanAttribute,\n ChangeDetectionStrategy,\n SimpleChanges,\n OnChanges,\n OnInit,\n inject,input,\n PLATFORM_ID,\n DOCUMENT,\n output,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { AsyncPipe, isPlatformBrowser } 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';\n\nimport { EdsTab } from './eds-tab';\nimport { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';\n\n@Component({\n selector: 'eds-tabs',\n templateUrl: './eds-tabs.html',\n styleUrl: './eds-tabs.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'eds-tabs',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n imports: [\n AsyncPipe,\n PortalModule,\n ...EDS_ICON_BUTTON,\n ],\n})\nexport class EdsTabs implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eds-tabs'\n */\n e2eAttr = input('eds-tabs');\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 ariaLabel = input('EDS Tabs');\n\n isMainNavigation = input(false, { transform: booleanAttribute });\n isFlat = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted when a tab is closed\n */\n readonly tabClose = output<{\n tab: EdsTab;\n index: number;\n }>();\n /**\n * Event emitted when a tab is activated\n */\n readonly tabActivate = output<{\n tab: EdsTab;\n index: number;\n }>();\n /**\n * Event emitted when a tab is clicked\n */\n readonly tabClick = output<{\n tab: EdsTab;\n index: number;\n }>();\n\n @ContentChildren(forwardRef(() => EdsTab), { descendants: false }) _tabs!: QueryList<EdsTab>;\n\n readonly edsTabsHeadersContainer = viewChild.required<ElementRef>('euiTabsHeadersContainer');\n readonly edsTabsHeaders = viewChild.required<ElementRef>('euiTabsHeaders');\n readonly edsTabsRightContent = viewChild.required<ElementRef>('euiTabsRightContent');\n readonly edsTabListItems = viewChildren<ElementRef>('euiTabListItems');\n\n public tabs: EdsTab[] = [];\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 platformId = inject(PLATFORM_ID);\n private player!: AnimationPlayer;\n private stepMove = 400;\n private scrollOffset = 40;\n private scrollingCount = 0;\n private cd = inject(ChangeDetectorRef);\n private builder = inject(AnimationBuilder);\n private euiAppShellService = inject(EuiAppShellService);\n private document = inject(DOCUMENT);\n\n /**\n * Width of the tabs headers container\n */\n get edsTabsHeadersContainerWidth(): number {\n return (this.edsTabsHeadersContainer()?.nativeElement.clientWidth - this.edsTabsRightContentWidth);\n }\n\n /**\n * Width of the tabs headers\n */\n get edsTabsHeadersWidth(): number {\n return this.edsTabsHeaders()?.nativeElement.clientWidth;\n }\n\n /**\n * Width of the tabs right content\n */\n get edsTabsRightContentWidth(): number {\n return this.edsTabsRightContent()?.nativeElement?.offsetWidth || 0;\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<EdsTab>) => {\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 if (Math.abs(scrollTo) > this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth) {\n scrollTo = -(this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth) - 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.edsTabListItems().length - 1;\n const index = isLastItem ? 0 : i + 1;\n\n this.setScrollToTabIndex(index, false);\n this.edsTabListItems()[index]?.nativeElement.focus();\n\n break;\n }\n case 'ArrowLeft': {\n const lastIndex = this.edsTabListItems().length - 1;\n const index = i === 0 ? lastIndex : i - 1;\n\n this.setScrollToTabIndex(index, false);\n this.edsTabListItems()[index]?.nativeElement.focus();\n\n break;\n }\n case 'Home': {\n this.setScrollToTabIndex(0, false);\n this.edsTabListItems()[0]?.nativeElement.focus();\n event.preventDefault();\n break;\n }\n case 'End': {\n this.setScrollToTabIndex(this.edsTabListItems().length - 1, false);\n this.edsTabListItems()[this.edsTabListItems().length - 1]?.nativeElement.focus();\n event.preventDefault();\n break;\n }\n case 'Delete': {\n if (this.tabs[i].isClosable) {\n if (i === this.edsTabListItems().length - 1) {\n this.edsTabListItems()[i - 1]?.nativeElement.focus();\n this.close(i, event);\n } else {\n this.close(i, event);\n this.edsTabListItems()[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 if (isPlatformBrowser(this.platformId)) {\n const tabbody = this.document.querySelector('#tabpanel-' + index + '-' + this.tabId)?.children[0];\n if (tabbody?.children?.length && 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 /**\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.edsTabsHeadersContainerWidth && this.edsTabsHeadersWidth) {\n\n this.scrolling = this.edsTabsHeadersWidth > this.edsTabsHeadersContainerWidth;\n\n if (!this.scrolling) {\n this.scrollingCount = 0;\n this.setScrollTo(0, false);\n this.navigationLeftButtonDisabled = true;\n this.navigationRightButtonDisabled = true;\n } else {\n const maxScrollableWidth = this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth;\n\n if (maxScrollableWidth <= Math.abs(this.currentOffset) + this.scrollOffset && this.scrollingCount !== 0) {\n const scrollTo = -maxScrollableWidth - this.scrollOffset;\n this.setScrollTo(scrollTo);\n } else {\n this.navigationRightButtonDisabled = Math.abs(this.currentOffset) >= maxScrollableWidth;\n this.navigationLeftButtonDisabled = this.currentOffset >= 0;\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.edsTabsHeaders().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.edsTabsHeaders().nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = this.edsTabsHeadersContainerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth + this.scrollOffset) {\n scrollTo = -(this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth + 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.edsTabsHeaders().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.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n if (Math.abs(scrollTo) === this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth + 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.edsTabsHeadersContainerWidth - this.scrollOffset;\n\n return fullyVisible;\n }\n}\n","<div #edsTabsHeadersContainer class=\"eds-tabs-wrapper\" [class.eds-tabs-wrapper--scrolling]=\"scrolling\">\n <div class=\"eds-tabs-navigation\">\n <div class=\"eds-tabs-navigation__left-item\">\n <button edsIconButton\n (click)=\"goToLeft()\"\n [edsDisabled]=\"navigationLeftButtonDisabled\"\n icon=\"chevron-left\"\n ariaLabel=\"Scroll left\">\n </button>\n </div>\n\n <ul #edsTabsHeaders class=\"eds-tab-items\" [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=\"eds-tab-item\"\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 [class.eds-tab-item--active]=\"i === activeTabIndex\"\n [class.eds-tab-item--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 <button edsIconButton\n [tabindex]=\"-1\"\n ariaLabel=\"Closable\"\n edsRounded\n class=\"eds-tab-close-button\"\n icon=\"x\"\n edsSizeS\n [edsDisabled]=\"tab.isDisabled$ | async\"\n (buttonClick)=\"close(i, $event)\">\n </button>\n }\n </li>\n }\n }\n </ul>\n\n <div class=\"eds-tabs-navigation__right-item\">\n <button edsIconButton\n (click)=\"goToRight()\"\n [edsDisabled]=\"navigationRightButtonDisabled\"\n icon=\"chevron-right\"\n ariaLabel=\"Scroll right\">\n </button>\n </div>\n </div>\n <div #edsTabsRightContent class=\"eds-tabs-right-content-wrapper\">\n <ng-content select=\"eds-tabs-right-content\"></ng-content>\n </div>\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=\"eds-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: 'eds-tabs-right-content',\n template: '<ng-content/>',\n styles: `\n :host {\n display: flex;\n margin-left: auto;\n }\n `,\n})\nexport class EdsTabsRightContent {\n}\n","import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'eds-tab-header-label',\n template: '<ng-content />',\n})\nexport class EdsTabHeaderLabel {\n @HostBinding('class') string = 'eds-tab-header-label';\n}\n","import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'eds-tab-header-sub-label',\n template: '<ng-content />',\n})\nexport class EdsTabHeaderSublabel {\n @HostBinding('class') string = 'eds-tab-header-sub-label';\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eds-tab-header-left-content',\n template: '<ng-content />',\n})\nexport class EdsTabHeaderLeftContent {\n @HostBinding('class') string = 'eds-tab-header-left-content';\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eds-tab-header-right-content',\n template: '<ng-content />',\n})\nexport class EdsTabHeaderRightContent {\n @HostBinding('class') string = 'eds-tab-header-right-content';\n}\n","export * from './eds-tabs';\nexport * from './eds-tabs-right-content';\nexport * from './eds-tab';\nexport * from './eds-tab-header';\nexport * from './eds-tab-header-label';\nexport * from './eds-tab-header-sub-label';\nexport * from './eds-tab-header-left-content';\nexport * from './eds-tab-header-right-content';\nexport * from './eds-tab-body';\n\nimport { EdsTabs } from './eds-tabs';\nimport { EdsTabsRightContent } from './eds-tabs-right-content';\nimport { EdsTabBody } from './eds-tab-body';\nimport { EdsTabHeader } from './eds-tab-header';\nimport { EdsTab } from './eds-tab';\nimport { EdsTabHeaderLabel } from './eds-tab-header-label';\nimport { EdsTabHeaderSublabel } from './eds-tab-header-sub-label';\nimport { EdsTabHeaderRightContent } from './eds-tab-header-right-content';\nimport { EdsTabHeaderLeftContent } from './eds-tab-header-left-content';\n\nexport const EDS_TABS = [\n EdsTabs,\n EdsTabsRightContent,\n EdsTabBody,\n EdsTabHeader,\n EdsTabHeaderLabel,\n EdsTabHeaderSublabel,\n EdsTabHeaderRightContent,\n EdsTabHeaderLeftContent,\n EdsTab,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,129 +1,126 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { computed, input, booleanAttribute, output, inject, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
3
|
import * as i1 from '@eui/eds/shared';
|
|
4
|
-
import {
|
|
4
|
+
import { EdsBaseSizeVariantsDirective, EdsBaseColorVariantsDirective } from '@eui/eds/shared';
|
|
5
5
|
|
|
6
6
|
class EdsTag {
|
|
7
7
|
constructor() {
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* @description
|
|
10
|
+
* Computes and returns the CSS classes for the component based on its current state.
|
|
10
11
|
*
|
|
11
|
-
* @
|
|
12
|
+
* @returns {string} Space-separated string of CSS class names
|
|
12
13
|
*/
|
|
13
|
-
this.
|
|
14
|
+
this.hostClasses = computed(() => {
|
|
15
|
+
return [
|
|
16
|
+
'eds-tag',
|
|
17
|
+
this.sizeVariantsBase.getCssClasses('eds-tag'),
|
|
18
|
+
this.colorVariantsBase.getCssClasses('eds-tag'),
|
|
19
|
+
this.edsOutline() ? 'eds-tag--outline' : '',
|
|
20
|
+
this.colorPalette() ? `eds-tag--${this.colorPalette()}` : '',
|
|
21
|
+
].join(' ').trim();
|
|
22
|
+
}, /* @ts-ignore */
|
|
23
|
+
...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
|
|
14
24
|
/**
|
|
15
25
|
* Sets the `aria-label` attribute for the host element.
|
|
16
26
|
*
|
|
17
27
|
* @default 'Chip content'
|
|
18
28
|
*/
|
|
19
|
-
this.ariaLabel = 'Tag content'
|
|
29
|
+
this.ariaLabel = input('Tag content', /* @ts-ignore */
|
|
30
|
+
...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
20
31
|
/**
|
|
21
32
|
* Sets the `data-e2e` attribute for the host element.
|
|
22
33
|
*
|
|
23
|
-
* @default '
|
|
34
|
+
* @default 'eds-tag'
|
|
24
35
|
*/
|
|
25
|
-
this.e2eAttr = '
|
|
36
|
+
this.e2eAttr = input('eds-tag', /* @ts-ignore */
|
|
37
|
+
...(ngDevMode ? [{ debugName: "e2eAttr" }] : /* istanbul ignore next */ []));
|
|
38
|
+
/**
|
|
39
|
+
* Sets the edsInternalId of the tag.
|
|
40
|
+
*
|
|
41
|
+
* @default null
|
|
42
|
+
*/
|
|
43
|
+
this.edsInternalId = input('', /* @ts-ignore */
|
|
44
|
+
...(ngDevMode ? [{ debugName: "edsInternalId" }] : /* istanbul ignore next */ []));
|
|
45
|
+
/**
|
|
46
|
+
* Sets the label of the tooltip to diaply on hover.
|
|
47
|
+
*/
|
|
48
|
+
this.tooltipMessage = input('', /* @ts-ignore */
|
|
49
|
+
...(ngDevMode ? [{ debugName: "tooltipMessage" }] : /* istanbul ignore next */ []));
|
|
50
|
+
/**
|
|
51
|
+
* Sets the id of the tag.
|
|
52
|
+
*/
|
|
53
|
+
this.id = input('', /* @ts-ignore */
|
|
54
|
+
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
26
55
|
/**
|
|
27
56
|
* Sets the data of the chip like tooltip configuration.
|
|
28
57
|
*/
|
|
29
58
|
// TODO: type should be specific
|
|
30
59
|
// TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
|
|
31
60
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
32
|
-
this.data = {
|
|
61
|
+
this.data = input({
|
|
33
62
|
id: crypto.randomUUID(),
|
|
34
63
|
tooltip: {
|
|
35
|
-
color: '
|
|
64
|
+
color: 'edsTooltipPrimary',
|
|
36
65
|
contentAlignment: null,
|
|
37
66
|
position: 'above',
|
|
38
67
|
},
|
|
39
|
-
}
|
|
40
|
-
|
|
68
|
+
}, /* @ts-ignore */
|
|
69
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
70
|
+
this.edsOutline = input(false, { ...(ngDevMode ? { debugName: "edsOutline" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
71
|
+
/**
|
|
72
|
+
* Extra color palette to be used on the status-badge.
|
|
73
|
+
*/
|
|
74
|
+
this.colorPalette = input('', /* @ts-ignore */
|
|
75
|
+
...(ngDevMode ? [{ debugName: "colorPalette" }] : /* istanbul ignore next */ []));
|
|
41
76
|
/**
|
|
42
77
|
* Event emitted when the chip is removed.
|
|
43
78
|
*/
|
|
44
79
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
|
-
this.remove =
|
|
46
|
-
this.sizeVariantsBase = inject(
|
|
47
|
-
this.colorVariantsBase = inject(
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* @description
|
|
51
|
-
* Computes and returns the CSS classes for the component based on its current state.
|
|
52
|
-
*
|
|
53
|
-
* @returns {string} Space-separated string of CSS class names
|
|
54
|
-
*/
|
|
55
|
-
get cssClasses() {
|
|
56
|
-
return [
|
|
57
|
-
'eds-tag',
|
|
58
|
-
this.sizeVariantsBase.getCssClasses('eds-tag'),
|
|
59
|
-
this.colorVariantsBase.getCssClasses('eds-tag'),
|
|
60
|
-
this.euiTagOutline ? 'eds-tag--outline' : '',
|
|
61
|
-
].join(' ').trim();
|
|
80
|
+
this.remove = output();
|
|
81
|
+
this.sizeVariantsBase = inject(EdsBaseSizeVariantsDirective);
|
|
82
|
+
this.colorVariantsBase = inject(EdsBaseColorVariantsDirective);
|
|
62
83
|
}
|
|
63
84
|
ngOnInit() {
|
|
64
|
-
if (!this.sizeVariantsBase.
|
|
65
|
-
this.sizeVariantsBase.
|
|
85
|
+
if (!this.sizeVariantsBase.edsSizeVariant) {
|
|
86
|
+
this.sizeVariantsBase.edsSizeM = true;
|
|
66
87
|
}
|
|
67
|
-
if (!this.colorVariantsBase.
|
|
68
|
-
this.colorVariantsBase.
|
|
88
|
+
if (!this.colorVariantsBase.edsColorVariant && !this.colorPalette()) {
|
|
89
|
+
this.colorVariantsBase.edsNeutral = true;
|
|
69
90
|
}
|
|
70
91
|
}
|
|
71
92
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTag, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: EdsTag, isStandalone: true, selector: "eds-tag, span[edsTag]", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, edsInternalId: { classPropertyName: "edsInternalId", publicName: "edsInternalId", isSignal: true, isRequired: false, transformFunction: null }, tooltipMessage: { classPropertyName: "tooltipMessage", publicName: "tooltipMessage", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, edsOutline: { classPropertyName: "edsOutline", publicName: "edsOutline", isSignal: true, isRequired: false, transformFunction: null }, colorPalette: { classPropertyName: "colorPalette", publicName: "colorPalette", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { remove: "remove" }, host: { attributes: { "role": "status" }, properties: { "class": "hostClasses()", "attr.aria-label": "ariaLabel()", "attr.data-e2e": "e2eAttr()" } }, hostDirectives: [{ directive: i1.EdsBaseSizeVariantsDirective, inputs: ["edsSizeM", "edsSizeM", "edsSizeL", "edsSizeL", "edsSizeVariant", "edsSizeVariant"] }, { directive: i1.EdsBaseColorVariantsDirective, inputs: ["edsNeutral", "edsNeutral", "edsSuccess", "edsSuccess", "edsInfo", "edsInfo", "edsWarning", "edsWarning", "edsCritical", "edsCritical", "edsColorVariant", "edsColorVariant"] }], ngImport: i0, template: "<ng-content/>\n", styles: [".eui-21 :host.eds-tag.eds-tag--size-m{--_font: var(--eds-f-paragraph-s);--_tag-padding: var(--eds-sp-4xs) var(--eds-sp-3xs);--_icon-size: var(--eds-is-s);--_height: var(--eds-sp-xl)}.eui-21 :host.eds-tag.eds-tag--size-l{--_font: var(--eds-f-paragraph-s);--_tag-padding: var(--eds-sp-3xs) var(--eds-sp-2xs);--_icon-size: var(--eds-is-m);--_height: var(--eds-sp-2xl)}.eui-21 :host.eds-tag.eds-tag--neutral{--_surface: var(--eds-c-surface-elevation-sunken);--_on-surface: var(--eds-c-foreground-subtle);--_border-color: var(--eds-c-border-neutral-subtle)}.eui-21 :host.eds-tag.eds-tag--info{--_surface: var(--eds-c-surface-info-subtler);--_on-surface: var(--eds-c-on-surface-info-subtler);--_border-color: var(--eds-c-border-info-subtle)}.eui-21 :host.eds-tag.eds-tag--success{--_surface: var(--eds-c-surface-success-subtler);--_on-surface: var(--eds-c-on-surface-success-subtler);--_border-color: var(--eds-c-border-success-subtle)}.eui-21 :host.eds-tag.eds-tag--warning{--_surface: var(--eds-c-surface-warning-subtler);--_on-surface: var(--eds-c-on-surface-warning-subtler);--_border-color: var(--eds-c-border-warning-subtle)}.eui-21 :host.eds-tag.eds-tag--critical{--_surface: var(--eds-c-surface-critical-subtler);--_on-surface: var(--eds-c-on-surface-critical-subtler);--_border-color: var(--eds-c-border-critical-subtle)}.eui-21 :host.eds-tag.eds-tag--outline{--_surface: transparent}.eui-21 :host.eds-tag.eds-tag--outline.eds-tag--neutral{--_border-color: var(--eds-c-border-neutral)}.eui-21 :host.eds-tag.eds-tag--outline.eds-tag--info{--_border-color: var(--eds-c-border-info)}.eui-21 :host.eds-tag.eds-tag--outline.eds-tag--success{--_border-color: var(--eds-c-border-success)}.eui-21 :host.eds-tag.eds-tag--outline.eds-tag--warning{--_border-color: var(--eds-c-border-warning)}.eui-21 :host.eds-tag.eds-tag--outline.eds-tag--critical{--_border-color: var(--eds-c-border-critical)}.eui-21 :host.eds-tag--cm-blue-navy{--_surface: var(--eds-c-surface-cm-blue-navy-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-navy-subtler);--_border-color: var(--eds-c-border-cm-blue-navy-subtle)}.eui-21 :host.eds-tag--cm-blue-electric{--_surface: var(--eds-c-surface-cm-blue-electric-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-electric-subtler);--_border-color: var(--eds-c-border-cm-blue-electric-subtle)}.eui-21 :host.eds-tag--cm-blue-ocean{--_surface: var(--eds-c-surface-cm-blue-ocean-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-ocean-subtler);--_border-color: var(--eds-c-border-cm-blue-ocean-subtle)}.eui-21 :host.eds-tag--cm-green{--_surface: var(--eds-c-surface-cm-green-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-subtler);--_border-color: var(--eds-c-border-cm-green-subtle)}.eui-21 :host.eds-tag--cm-green-dark{--_surface: var(--eds-c-surface-cm-green-dark-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-dark-subtler);--_border-color: var(--eds-c-border-cm-green-dark-subtle)}.eui-21 :host.eds-tag--cm-orange{--_surface: var(--eds-c-surface-cm-orange-subtler);--_on-surface: var(--eds-c-on-surface-cm-orange-subtler);--_border-color: var(--eds-c-border-cm-orange-subtle)}.eui-21 :host.eds-tag--cm-purple{--_surface: var(--eds-c-surface-cm-purple-subtler);--_on-surface: var(--eds-c-on-surface-cm-purple-subtler);--_border-color: var(--eds-c-border-cm-purple-subtle)}.eui-21 :host.eds-tag--cm-green-lemon{--_surface: var(--eds-c-surface-cm-green-lemon-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-lemon-subtler);--_border-color: var(--eds-c-border-cm-green-lemon-subtle)}.eui-21 :host.eds-tag--cm-green-pine{--_surface: var(--eds-c-surface-cm-green-pine-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-pine-subtler);--_border-color: var(--eds-c-border-cm-green-pine-subtle)}.eui-21 :host.eds-tag--cm-red-crayola{--_surface: var(--eds-c-surface-cm-red-crayola-subtler);--_on-surface: var(--eds-c-on-surface-cm-red-crayola-subtler);--_border-color: var(--eds-c-border-cm-red-crayola-subtle)}.eui-21 :host.eds-tag--cm-yellow-gold{--_surface: var(--eds-c-surface-cm-yellow-gold-subtler);--_on-surface: var(--eds-c-on-surface-cm-yellow-gold-subtler);--_border-color: var(--eds-c-border-cm-yellow-gold-subtle)}.eui-21 :host.eds-tag--cm-orange-abricot{--_surface: var(--eds-c-surface-cm-orange-abricot-subtler);--_on-surface: var(--eds-c-on-surface-cm-orange-abricot-subtler);--_border-color: var(--eds-c-border-cm-orange-abricot-subtle)}.eui-21 :host.eds-tag--cm-purple-violet{--_surface: var(--eds-c-surface-cm-purple-violet-subtler);--_on-surface: var(--eds-c-on-surface-cm-purple-violet-subtler);--_border-color: var(--eds-c-border-cm-purple-violet-subtle)}.eui-21 :host.eds-tag--cm-red-tomato{--_surface: var(--eds-c-surface-cm-red-tomato-subtler);--_on-surface: var(--eds-c-on-surface-cm-red-tomato-subtler);--_border-color: var(--eds-c-border-cm-red-tomato-subtle)}.eui-21 :host.eds-tag--cm-warm-grey{--_surface: var(--eds-c-surface-cm-warm-grey-subtler);--_on-surface: var(--eds-c-on-surface-cm-warm-grey-subtler);--_border-color: var(--eds-c-border-cm-warm-grey-subtle)}.eui-21 :host.eds-tag{align-items:center;border-radius:var(--eds-br-m);display:inline-flex;border:var(--eds-bw-xs) solid var(--_border-color);padding:var(--_tag-padding);font:var(--_font);background-color:var(--_surface);color:var(--_on-surface);gap:var(--eds-sp-3xs);height:var(--_height)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
73
94
|
}
|
|
74
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTag, decorators: [{
|
|
75
96
|
type: Component,
|
|
76
|
-
args: [{ selector: 'eds-tag, span[edsTag]', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
97
|
+
args: [{ selector: 'eds-tag, span[edsTag]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
98
|
+
'[class]': 'hostClasses()',
|
|
99
|
+
role: 'status',
|
|
100
|
+
'[attr.aria-label]': 'ariaLabel()',
|
|
101
|
+
'[attr.data-e2e]': 'e2eAttr()',
|
|
102
|
+
}, hostDirectives: [
|
|
77
103
|
{
|
|
78
|
-
directive:
|
|
104
|
+
directive: EdsBaseSizeVariantsDirective,
|
|
79
105
|
inputs: [
|
|
80
|
-
'
|
|
81
|
-
'
|
|
82
|
-
'
|
|
106
|
+
'edsSizeM',
|
|
107
|
+
'edsSizeL',
|
|
108
|
+
'edsSizeVariant',
|
|
83
109
|
],
|
|
84
110
|
},
|
|
85
111
|
{
|
|
86
|
-
directive:
|
|
112
|
+
directive: EdsBaseColorVariantsDirective,
|
|
87
113
|
inputs: [
|
|
88
|
-
'
|
|
89
|
-
'
|
|
90
|
-
'
|
|
91
|
-
'
|
|
92
|
-
'
|
|
93
|
-
'
|
|
114
|
+
'edsNeutral',
|
|
115
|
+
'edsSuccess',
|
|
116
|
+
'edsInfo',
|
|
117
|
+
'edsWarning',
|
|
118
|
+
'edsCritical',
|
|
119
|
+
'edsColorVariant',
|
|
94
120
|
],
|
|
95
121
|
},
|
|
96
|
-
], template: "<ng-content
|
|
97
|
-
}], propDecorators: {
|
|
98
|
-
type: HostBinding,
|
|
99
|
-
args: ['class']
|
|
100
|
-
}], role: [{
|
|
101
|
-
type: HostBinding,
|
|
102
|
-
args: ['attr.role']
|
|
103
|
-
}], ariaLabel: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}, {
|
|
106
|
-
type: HostBinding,
|
|
107
|
-
args: ['attr.aria-label']
|
|
108
|
-
}], e2eAttr: [{
|
|
109
|
-
type: HostBinding,
|
|
110
|
-
args: ['attr.data-e2e']
|
|
111
|
-
}, {
|
|
112
|
-
type: Input
|
|
113
|
-
}], euiInternalId: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}], tooltipMessage: [{
|
|
116
|
-
type: Input
|
|
117
|
-
}], id: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], data: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], euiTagOutline: [{
|
|
122
|
-
type: Input,
|
|
123
|
-
args: [{ transform: booleanAttribute }]
|
|
124
|
-
}], remove: [{
|
|
125
|
-
type: Output
|
|
126
|
-
}] } });
|
|
122
|
+
], template: "<ng-content/>\n", styles: [".eui-21 :host.eds-tag.eds-tag--size-m{--_font: var(--eds-f-paragraph-s);--_tag-padding: var(--eds-sp-4xs) var(--eds-sp-3xs);--_icon-size: var(--eds-is-s);--_height: var(--eds-sp-xl)}.eui-21 :host.eds-tag.eds-tag--size-l{--_font: var(--eds-f-paragraph-s);--_tag-padding: var(--eds-sp-3xs) var(--eds-sp-2xs);--_icon-size: var(--eds-is-m);--_height: var(--eds-sp-2xl)}.eui-21 :host.eds-tag.eds-tag--neutral{--_surface: var(--eds-c-surface-elevation-sunken);--_on-surface: var(--eds-c-foreground-subtle);--_border-color: var(--eds-c-border-neutral-subtle)}.eui-21 :host.eds-tag.eds-tag--info{--_surface: var(--eds-c-surface-info-subtler);--_on-surface: var(--eds-c-on-surface-info-subtler);--_border-color: var(--eds-c-border-info-subtle)}.eui-21 :host.eds-tag.eds-tag--success{--_surface: var(--eds-c-surface-success-subtler);--_on-surface: var(--eds-c-on-surface-success-subtler);--_border-color: var(--eds-c-border-success-subtle)}.eui-21 :host.eds-tag.eds-tag--warning{--_surface: var(--eds-c-surface-warning-subtler);--_on-surface: var(--eds-c-on-surface-warning-subtler);--_border-color: var(--eds-c-border-warning-subtle)}.eui-21 :host.eds-tag.eds-tag--critical{--_surface: var(--eds-c-surface-critical-subtler);--_on-surface: var(--eds-c-on-surface-critical-subtler);--_border-color: var(--eds-c-border-critical-subtle)}.eui-21 :host.eds-tag.eds-tag--outline{--_surface: transparent}.eui-21 :host.eds-tag.eds-tag--outline.eds-tag--neutral{--_border-color: var(--eds-c-border-neutral)}.eui-21 :host.eds-tag.eds-tag--outline.eds-tag--info{--_border-color: var(--eds-c-border-info)}.eui-21 :host.eds-tag.eds-tag--outline.eds-tag--success{--_border-color: var(--eds-c-border-success)}.eui-21 :host.eds-tag.eds-tag--outline.eds-tag--warning{--_border-color: var(--eds-c-border-warning)}.eui-21 :host.eds-tag.eds-tag--outline.eds-tag--critical{--_border-color: var(--eds-c-border-critical)}.eui-21 :host.eds-tag--cm-blue-navy{--_surface: var(--eds-c-surface-cm-blue-navy-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-navy-subtler);--_border-color: var(--eds-c-border-cm-blue-navy-subtle)}.eui-21 :host.eds-tag--cm-blue-electric{--_surface: var(--eds-c-surface-cm-blue-electric-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-electric-subtler);--_border-color: var(--eds-c-border-cm-blue-electric-subtle)}.eui-21 :host.eds-tag--cm-blue-ocean{--_surface: var(--eds-c-surface-cm-blue-ocean-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-ocean-subtler);--_border-color: var(--eds-c-border-cm-blue-ocean-subtle)}.eui-21 :host.eds-tag--cm-green{--_surface: var(--eds-c-surface-cm-green-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-subtler);--_border-color: var(--eds-c-border-cm-green-subtle)}.eui-21 :host.eds-tag--cm-green-dark{--_surface: var(--eds-c-surface-cm-green-dark-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-dark-subtler);--_border-color: var(--eds-c-border-cm-green-dark-subtle)}.eui-21 :host.eds-tag--cm-orange{--_surface: var(--eds-c-surface-cm-orange-subtler);--_on-surface: var(--eds-c-on-surface-cm-orange-subtler);--_border-color: var(--eds-c-border-cm-orange-subtle)}.eui-21 :host.eds-tag--cm-purple{--_surface: var(--eds-c-surface-cm-purple-subtler);--_on-surface: var(--eds-c-on-surface-cm-purple-subtler);--_border-color: var(--eds-c-border-cm-purple-subtle)}.eui-21 :host.eds-tag--cm-green-lemon{--_surface: var(--eds-c-surface-cm-green-lemon-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-lemon-subtler);--_border-color: var(--eds-c-border-cm-green-lemon-subtle)}.eui-21 :host.eds-tag--cm-green-pine{--_surface: var(--eds-c-surface-cm-green-pine-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-pine-subtler);--_border-color: var(--eds-c-border-cm-green-pine-subtle)}.eui-21 :host.eds-tag--cm-red-crayola{--_surface: var(--eds-c-surface-cm-red-crayola-subtler);--_on-surface: var(--eds-c-on-surface-cm-red-crayola-subtler);--_border-color: var(--eds-c-border-cm-red-crayola-subtle)}.eui-21 :host.eds-tag--cm-yellow-gold{--_surface: var(--eds-c-surface-cm-yellow-gold-subtler);--_on-surface: var(--eds-c-on-surface-cm-yellow-gold-subtler);--_border-color: var(--eds-c-border-cm-yellow-gold-subtle)}.eui-21 :host.eds-tag--cm-orange-abricot{--_surface: var(--eds-c-surface-cm-orange-abricot-subtler);--_on-surface: var(--eds-c-on-surface-cm-orange-abricot-subtler);--_border-color: var(--eds-c-border-cm-orange-abricot-subtle)}.eui-21 :host.eds-tag--cm-purple-violet{--_surface: var(--eds-c-surface-cm-purple-violet-subtler);--_on-surface: var(--eds-c-on-surface-cm-purple-violet-subtler);--_border-color: var(--eds-c-border-cm-purple-violet-subtle)}.eui-21 :host.eds-tag--cm-red-tomato{--_surface: var(--eds-c-surface-cm-red-tomato-subtler);--_on-surface: var(--eds-c-on-surface-cm-red-tomato-subtler);--_border-color: var(--eds-c-border-cm-red-tomato-subtle)}.eui-21 :host.eds-tag--cm-warm-grey{--_surface: var(--eds-c-surface-cm-warm-grey-subtler);--_on-surface: var(--eds-c-on-surface-cm-warm-grey-subtler);--_border-color: var(--eds-c-border-cm-warm-grey-subtle)}.eui-21 :host.eds-tag{align-items:center;border-radius:var(--eds-br-m);display:inline-flex;border:var(--eds-bw-xs) solid var(--_border-color);padding:var(--_tag-padding);font:var(--_font);background-color:var(--_surface);color:var(--_on-surface);gap:var(--eds-sp-3xs);height:var(--_height)}\n"] }]
|
|
123
|
+
}], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }], edsInternalId: [{ type: i0.Input, args: [{ isSignal: true, alias: "edsInternalId", required: false }] }], tooltipMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipMessage", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], edsOutline: [{ type: i0.Input, args: [{ isSignal: true, alias: "edsOutline", required: false }] }], colorPalette: [{ type: i0.Input, args: [{ isSignal: true, alias: "colorPalette", required: false }] }], remove: [{ type: i0.Output, args: ["remove"] }] } });
|
|
127
124
|
|
|
128
125
|
const EDS_TAG = [
|
|
129
126
|
EdsTag,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-eds-eds-tag.mjs","sources":["../../eds-tag/eds-tag.ts","../../eds-tag/eds-tag.html","../../eds-tag/index.ts","../../eds-tag/eui-eds-eds-tag.ts"],"sourcesContent":["import {\n Component,\n
|
|
1
|
+
{"version":3,"file":"eui-eds-eds-tag.mjs","sources":["../../eds-tag/eds-tag.ts","../../eds-tag/eds-tag.html","../../eds-tag/index.ts","../../eds-tag/eui-eds-eds-tag.ts"],"sourcesContent":["import {\n Component,\n input,\n ChangeDetectionStrategy,\n booleanAttribute,\n inject,\n computed,\n OnInit,\n output,\n} from '@angular/core';\n\nimport { EdsBaseColorVariantsDirective, EdsBaseSizeVariantsDirective } from '@eui/eds/shared';\n\n@Component({\n templateUrl: './eds-tag.html',\n selector: 'eds-tag, span[edsTag]',\n styleUrl: './eds-tag.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'hostClasses()',\n role: 'status',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n hostDirectives: [\n {\n directive: EdsBaseSizeVariantsDirective,\n inputs: [\n 'edsSizeM',\n 'edsSizeL',\n 'edsSizeVariant',\n ],\n },\n {\n directive: EdsBaseColorVariantsDirective,\n inputs: [\n 'edsNeutral',\n 'edsSuccess',\n 'edsInfo',\n 'edsWarning',\n 'edsCritical',\n 'edsColorVariant',\n ],\n },\n ],\n})\nexport class EdsTag implements OnInit {\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n hostClasses = computed(() => {\n return [\n 'eds-tag',\n this.sizeVariantsBase.getCssClasses('eds-tag'),\n this.colorVariantsBase.getCssClasses('eds-tag'),\n this.edsOutline() ? 'eds-tag--outline': '',\n this.colorPalette() ? `eds-tag--${this.colorPalette()}` : '',\n ].join(' ').trim();\n });\n\n /**\n * Sets the `aria-label` attribute for the host element.\n *\n * @default 'Chip content'\n */\n ariaLabel = input('Tag content');\n\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eds-tag'\n */\n e2eAttr = input('eds-tag');\n\n /**\n * Sets the edsInternalId of the tag.\n *\n * @default null\n */\n edsInternalId = input<string>('');\n /**\n * Sets the label of the tooltip to diaply on hover.\n */\n tooltipMessage = input<string>('');\n /**\n * Sets the id of the tag.\n */\n id = input<string | number>('');\n /**\n * Sets the data of the chip like tooltip configuration.\n */\n // TODO: type should be specific\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data = input<any>({\n id: crypto.randomUUID(),\n tooltip: {\n color: 'edsTooltipPrimary',\n contentAlignment: null,\n position: 'above',\n },\n });\n\n edsOutline = input(false, { transform: booleanAttribute });\n\n /**\n * Extra color palette to be used on the status-badge.\n */\n colorPalette = input<string>('');\n\n /**\n * Event emitted when the chip is removed.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly remove = output<any>();\n\n protected sizeVariantsBase: EdsBaseSizeVariantsDirective = inject(EdsBaseSizeVariantsDirective);\n protected colorVariantsBase: EdsBaseColorVariantsDirective = inject(EdsBaseColorVariantsDirective);\n\n ngOnInit(): void {\n if (!this.sizeVariantsBase.edsSizeVariant) {\n this.sizeVariantsBase.edsSizeM = true;\n }\n if (!this.colorVariantsBase.edsColorVariant && !this.colorPalette()) {\n this.colorVariantsBase.edsNeutral = true;\n }\n }\n}\n","<ng-content/>\n","import { EdsTag } from './eds-tag';\n\nexport * from './eds-tag';\n\nexport const EDS_TAG = [\n EdsTag,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|