@eui/eds 23.0.0-alpha.6 → 23.0.0-alpha.8
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 +86 -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eui-eds-eds-shell.mjs","sources":["../../eds-shell/eds-shell-sidebar.ts","../../eds-shell/eds-shell-sidebar.html","../../eds-shell/eds-shell.ts","../../eds-shell/eds-shell.html","../../eds-shell/eds-shell-header.ts","../../eds-shell/eds-shell-header.html","../../eds-shell/eds-shell-header-logo.ts","../../eds-shell/eds-shell-header-logo.html","../../eds-shell/eds-shell-header-environment.ts","../../eds-shell/eds-shell-header-app.ts","../../eds-shell/eds-shell-header-app.html","../../eds-shell/eds-shell-header-start.ts","../../eds-shell/eds-shell-header-end.ts","../../eds-shell/eds-shell-toolbar.ts","../../eds-shell/eds-shell-toolbar.html","../../eds-shell/eds-shell-toolbar-start.ts","../../eds-shell/eds-shell-toolbar-end.ts","../../eds-shell/eds-shell-toolbar-logo.ts","../../eds-shell/eds-shell-toolbar-logo.html","../../eds-shell/eds-shell-toolbar-environment.ts","../../eds-shell/eds-shell-toolbar-app.ts","../../eds-shell/eds-shell-toolbar-app.html","../../eds-shell/eds-shell-sidebar-header.ts","../../eds-shell/eds-shell-sidebar-header.html","../../eds-shell/eds-shell-sidebar-nav.ts","../../eds-shell/eds-shell-sidebar-nav.html","../../eds-shell/eds-shell-sidebar-footer.ts","../../eds-shell/eds-shell-sidebar-bottom-nav.ts","../../eds-shell/eds-shell-sidebar-bottom-nav.html","../../eds-shell/eds-shell-content.ts","../../eds-shell/eds-shell-footer.ts","../../eds-shell/eds-shell-footer.html","../../eds-shell/eds-shell-menu-toggle.ts","../../eds-shell/eds-shell-menu-toggle.html","../../eds-shell/eds-shell-top-message.ts","../../eds-shell/eds-shell-top-message.html","../../eds-shell/index.ts","../../eds-shell/eui-eds-eds-shell.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\nimport { EdsSidebarCollapseMode } from './eds-shell';\n\n@Component({\n selector: 'eds-shell-sidebar',\n templateUrl: './eds-shell-sidebar.html',\n styleUrl: './eds-shell-sidebar.scss',\n})\nexport class EdsShellSidebar {\n /** Width of the sidebar (CSS value). */\n width = input<string>('260px');\n\n /** Collapse mode: 'hidden' fully hides, 'icons' shows icon rail, 'icons-labels' shows icons + labels. */\n collapseMode = input<EdsSidebarCollapseMode>('hidden');\n}\n","<ng-content select=\"eds-shell-sidebar-header\"></ng-content>\n<ng-content select=\"eds-shell-sidebar-nav\"></ng-content>\n<ng-content select=\"eds-shell-sidebar-bottom-nav\"></ng-content>\n<ng-content select=\"eds-shell-sidebar-footer\"></ng-content>\n","import { Component, input, output, signal, computed, contentChild, HostListener, inject, OnInit, OnDestroy, DOCUMENT } from '@angular/core';\nimport { EdsShellSidebar } from './eds-shell-sidebar';\n\nconst BREAKPOINT = 1024;\n\nexport type EdsSidebarCollapseMode = 'hidden' | 'icons' | 'icons-labels';\n\n@Component({\n selector: 'eds-shell',\n templateUrl: './eds-shell.html',\n styleUrl: './eds-shell.scss',\n})\nexport class EdsShell implements OnInit, OnDestroy {\n private document = inject(DOCUMENT);\n\n ngOnInit(): void {\n this.document.documentElement.classList.add('eui-21');\n }\n\n ngOnDestroy(): void {\n this.document.documentElement.classList.remove('eui-21');\n }\n /** Whether the sidebar starts open on desktop. */\n sidebarOpen = input<boolean>(true);\n\n /** Emits when sidebar open state changes. */\n sidebarOpenChange = output<boolean>();\n\n /** Internal open state signal. */\n isOpen = signal(window.innerWidth > BREAKPOINT);\n\n /** Whether we're in overlay mode (tablet/mobile). */\n isOverlay = signal(window.innerWidth <= BREAKPOINT);\n\n /** Whether the header is hidden due to scroll. */\n isHeaderHidden = signal(false);\n\n /** Reference to the projected sidebar to read its collapseMode. */\n private sidebarChild = contentChild(EdsShellSidebar);\n\n /** Whether a sidebar is projected. */\n hasSidebar = computed(() => !!this.sidebarChild());\n\n private lastScrollTop = 0;\n\n private collapseMode = computed(() => this.sidebarChild()?.collapseMode() ?? 'hidden');\n\n sidebarClasses = computed(() => {\n const overlay = this.isOverlay();\n const open = this.isOpen();\n const mode = this.collapseMode();\n\n if (overlay) {\n return { open, collapsed: false, collapsedIcons: false, collapsedIconsLabels: false };\n }\n return {\n open: false,\n collapsed: !open && mode === 'hidden',\n collapsedIcons: !open && mode === 'icons',\n collapsedIconsLabels: !open && mode === 'icons-labels',\n };\n });\n\n /** Whether the sidebar nav should render in collapsed/icon-only mode. */\n isSidebarCollapsed = computed(() => !this.isOpen() && !this.isOverlay());\n\n /** Whether collapsed mode should show labels under icons. */\n isSidebarCollapsedWithLabels = computed(() =>\n !this.isOpen() && !this.isOverlay() && this.collapseMode() === 'icons-labels',\n );\n\n onScroll(event: Event): void {\n if (this.isOverlay()) return;\n\n const el = event.target as HTMLElement;\n const scrollTop = el.scrollTop;\n\n if (scrollTop > 100) {\n this.isHeaderHidden.set(true);\n } else {\n this.isHeaderHidden.set(false);\n }\n\n this.lastScrollTop = scrollTop;\n }\n\n @HostListener('window:resize')\n onResize(): void {\n const isDesktop = window.innerWidth > BREAKPOINT;\n this.isOverlay.set(!isDesktop);\n\n if (isDesktop) {\n this.isOpen.set(true);\n } else {\n this.isOpen.set(false);\n this.isHeaderHidden.set(false);\n }\n }\n\n @HostListener('window:keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n if (event.key === 'Escape' && this.isOpen() && this.isOverlay()) {\n this.toggleSidebar();\n }\n }\n\n toggleSidebar(): void {\n this.isOpen.update(v => !v);\n this.sidebarOpenChange.emit(this.isOpen());\n }\n\n closeSidebar(): void {\n if (this.isOverlay()) {\n this.isOpen.set(false);\n this.sidebarOpenChange.emit(false);\n }\n }\n}\n","<!-- Top message slot (above header/toolbar) -->\n<ng-content select=\"eds-shell-top-message\"></ng-content>\n\n<!-- Header slot (branding bar — collapses on scroll) -->\n<div class=\"header-wrapper\" [class.header-hidden]=\"isHeaderHidden()\">\n <ng-content select=\"eds-shell-header\"></ng-content>\n</div>\n\n<!-- Toolbar slot (navigation bar) -->\n<ng-content select=\"eds-shell-toolbar\"></ng-content>\n\n<!-- Content area: sidebar + main + footer -->\n<div class=\"content-area\">\n <!-- Sidebar slot (only rendered if eds-shell-sidebar is projected) -->\n @if (hasSidebar()) {\n <!-- Overlay backdrop for tablet/mobile -->\n @if (isOverlay()) {\n <div\n class=\"sidebar-overlay\"\n [class.visible]=\"isOpen()\"\n (click)=\"closeSidebar()\">\n </div>\n }\n\n <aside\n class=\"sidebar\"\n [class.collapsed]=\"sidebarClasses().collapsed\"\n [class.collapsed-icons]=\"sidebarClasses().collapsedIcons\"\n [class.collapsed-icons-labels]=\"sidebarClasses().collapsedIconsLabels\"\n [class.open]=\"sidebarClasses().open\"\n [class.overlay-mode]=\"isOverlay()\">\n <ng-content select=\"eds-shell-sidebar\"></ng-content>\n </aside>\n }\n\n <!-- Main content + footer wrapper (scrollable) -->\n <div class=\"main-area\" (scroll)=\"onScroll($event)\">\n <ng-content select=\"eds-shell-content\"></ng-content>\n <ng-content select=\"eds-shell-footer\"></ng-content>\n </div>\n</div>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-header',\n templateUrl: './eds-shell-header.html',\n styleUrl: './eds-shell-header.scss',\n})\nexport class EdsShellHeader {\n /** Whether the header shrinks on scroll. */\n isShrinkOnScroll = input<boolean>(false);\n}\n","<div class=\"logo-wrapper\">\n <ng-content select=\"eds-shell-header-logo\"></ng-content>\n <ng-content select=\"eds-shell-header-environment\"></ng-content>\n</div>\n<ng-content select=\"eds-shell-header-app\"></ng-content>\n<ng-content select=\"eds-shell-header-start\"></ng-content>\n<div class=\"spacer\"></div>\n<ng-content select=\"eds-shell-header-end\"></ng-content>\n<ng-content></ng-content>\n","import { Component, input, computed } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-header-logo',\n templateUrl: './eds-shell-header-logo.html',\n styleUrl: './eds-shell-header-logo.scss',\n})\nexport class EdsShellHeaderLogo {\n /** Custom logo URL. If not provided, uses the EC logo for the given language. */\n logoUrl = input<string>('');\n\n /** Current language code (used to resolve the EC logo variant). Default: 'en'. */\n language = input<string>('en');\n\n /** Route to navigate on logo click. */\n homeUrl = input<string>('/');\n\n /** Logo height CSS value. */\n logoHeight = input<string>('56px');\n\n /** Logo width CSS value. */\n logoWidth = input<string>('auto');\n\n /** Resolved logo URL — custom or language-based EC logo. */\n resolvedLogoUrl = computed(() => {\n if (this.logoUrl()) return this.logoUrl();\n return `assets/logos/ec/positive/logo-ec--${this.language()}.svg`;\n });\n}\n","<a [attr.href]=\"homeUrl()\" class=\"logo-link\">\n <img\n [src]=\"resolvedLogoUrl()\"\n [style.height]=\"logoHeight()\"\n [style.width]=\"logoWidth()\"\n alt=\"European Commission - Home\" />\n</a>\n<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-header-environment',\n template: '<ng-content/>',\n styleUrl: './eds-shell-header-environment.scss',\n})\nexport class EdsShellHeaderEnvironment {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-header-app',\n templateUrl: './eds-shell-header-app.html',\n styleUrl: './eds-shell-header-app.scss',\n})\nexport class EdsShellHeaderApp {\n /** Full application name. */\n appName = input<string>('');\n\n /** Short name for responsive/compact layouts. */\n appShortName = input<string>('');\n\n /** Subtitle/description below the app name. */\n appSubTitle = input<string>('');\n}\n","@if (appName()) {\n <span class=\"app-name\">{{ appName() }}</span>\n}\n@if (appSubTitle()) {\n <span class=\"app-subtitle\">{{ appSubTitle() }}</span>\n}\n<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-header-start',\n template: '<ng-content></ng-content>',\n styles: [':host { display: flex; align-items: center; gap: var(--eds-sp-m); }'],\n})\nexport class EdsShellHeaderStart {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-header-end',\n template: '<ng-content></ng-content>',\n styles: [':host { display: flex; align-items: center; gap: var(--eds-sp-xs); }'],\n})\nexport class EdsShellHeaderEnd {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-toolbar',\n templateUrl: './eds-shell-toolbar.html',\n styleUrl: './eds-shell-toolbar.scss',\n})\nexport class EdsShellToolbar {}\n","<ng-content select=\"eds-shell-menu-toggle\"></ng-content>\n<div class=\"logo-wrapper\">\n <ng-content select=\"eds-shell-toolbar-logo\"></ng-content>\n <ng-content select=\"eds-shell-toolbar-environment\"></ng-content>\n</div>\n<ng-content select=\"eds-shell-toolbar-app\"></ng-content>\n<ng-content select=\"eds-shell-toolbar-start\"></ng-content>\n<ng-content select=\"eds-shell-toolbar-end\"></ng-content>\n<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-toolbar-start',\n template: '<ng-content/>',\n styleUrl: './eds-shell-toolbar-start.scss',\n})\nexport class EdsShellToolbarStart {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-toolbar-end',\n template: '<ng-content/>',\n styleUrl: './eds-shell-toolbar-end.scss',\n})\nexport class EdsShellToolbarEnd {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-toolbar-logo',\n templateUrl: './eds-shell-toolbar-logo.html',\n styleUrl: './eds-shell-toolbar-logo.scss',\n})\nexport class EdsShellToolbarLogo {}\n","<img src=\"assets/logos/ec/logo-ec--mute-negative.svg\" alt=\"European Commission\" />\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-toolbar-environment',\n template: '<ng-content/>',\n styleUrl: './eds-shell-toolbar-environment.scss',\n})\nexport class EdsShellToolbarEnvironment {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-toolbar-app',\n templateUrl: './eds-shell-toolbar-app.html',\n styleUrl: './eds-shell-toolbar-app.scss',\n})\nexport class EdsShellToolbarApp {\n /** Full application name. */\n appName = input<string>('');\n\n /** Short name for responsive/compact layouts. */\n appShortName = input<string>('');\n\n /** Subtitle/description below the app name. */\n appSubTitle = input<string>('');\n}\n","@if (appName()) {\n <span class=\"app-name\">{{ appName() }}</span>\n}\n@if (appSubTitle()) {\n <span class=\"app-subtitle\">{{ appSubTitle() }}</span>\n}\n<ng-content></ng-content>\n","import { Component, input, output } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-sidebar-header',\n templateUrl: './eds-shell-sidebar-header.html',\n styleUrl: './eds-shell-sidebar-header.scss',\n})\nexport class EdsShellSidebarHeader {\n /** Brand/title text displayed in the sidebar header. */\n brand = input<string>('');\n\n /** Whether to show the close button (shown on overlay mode). */\n showClose = input<boolean>(false);\n\n /** Emits when the close button is clicked. */\n closeClick = output<void>();\n\n onClose(): void {\n this.closeClick.emit();\n }\n}\n","@if (brand()) {\n <span class=\"sidebar-brand\">{{ brand() }}</span>\n}\n<ng-content></ng-content>\n@if (showClose()) {\n <button\n class=\"sidebar-close-btn\"\n (click)=\"onClose()\"\n aria-label=\"Close sidebar\">\n ×\n </button>\n}\n","import { Component, input, output } from '@angular/core';\nimport { EdsMenu, EdsMenuItem } from '@eui/eds/eds-menu';\n\n@Component({\n selector: 'eds-shell-sidebar-nav',\n imports: [EdsMenu],\n templateUrl: './eds-shell-sidebar-nav.html',\n styleUrl: './eds-shell-sidebar-nav.scss',\n})\nexport class EdsShellSidebarNav {\n /** Array of menu items to render. */\n items = input<EdsMenuItem[]>([]);\n\n /** Whether to show icons alongside labels. */\n hasIcons = input<boolean>(false);\n\n /** Whether the menu is in collapsed/icon-only mode. */\n isCollapsed = input<boolean>(false);\n\n /** Whether to show labels underneath icons in collapsed mode. */\n hasCollapsedLabels = input<boolean>(false);\n\n /** Emits when a menu item is clicked. */\n itemClick = output<EdsMenuItem>();\n\n onItemClick(item: EdsMenuItem): void {\n this.itemClick.emit(item);\n }\n}\n","<eds-menu\n [items]=\"items()\"\n [hasIcons]=\"hasIcons()\"\n [isCollapsed]=\"isCollapsed()\"\n [hasCollapsedLabels]=\"hasCollapsedLabels()\"\n (itemClick)=\"onItemClick($event)\">\n</eds-menu>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-sidebar-footer',\n template: '<ng-content/>',\n styleUrl: './eds-shell-sidebar-footer.scss',\n})\nexport class EdsShellSidebarFooter {}\n","import { Component, input, output } from '@angular/core';\nimport { EdsMenu, EdsMenuItem } from '@eui/eds/eds-menu';\n\n@Component({\n selector: 'eds-shell-sidebar-bottom-nav',\n imports: [EdsMenu],\n templateUrl: './eds-shell-sidebar-bottom-nav.html',\n styleUrl: './eds-shell-sidebar-bottom-nav.scss',\n})\nexport class EdsShellSidebarBottomNav {\n /** Array of menu items to render. */\n items = input<EdsMenuItem[]>([]);\n\n /** Whether to show icons alongside labels. */\n hasIcons = input<boolean>(false);\n\n /** Whether the menu is in collapsed/icon-only mode. */\n isCollapsed = input<boolean>(false);\n\n /** Whether to show labels underneath icons in collapsed mode. */\n hasCollapsedLabels = input<boolean>(false);\n\n /** Emits when a menu item is clicked. */\n itemClick = output<EdsMenuItem>();\n\n onItemClick(item: EdsMenuItem): void {\n this.itemClick.emit(item);\n }\n}\n","<eds-menu\n [items]=\"items()\"\n [hasIcons]=\"hasIcons()\"\n [isCollapsed]=\"isCollapsed()\"\n [hasCollapsedLabels]=\"hasCollapsedLabels()\"\n (itemClick)=\"onItemClick($event)\">\n</eds-menu>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-content',\n template: '<ng-content/>',\n styleUrl: './eds-shell-content.scss',\n})\nexport class EdsShellContent {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'eds-shell-footer',\n templateUrl: './eds-shell-footer.html',\n styleUrl: './eds-shell-footer.scss',\n})\nexport class EdsShellFooter {\n /** Copyright text displayed on the left. */\n copyright = input<string>('');\n}\n","@if (copyright()) {\n <span class=\"copyright\">{{ copyright() }}</span>\n}\n<ng-content></ng-content>\n","import { Component, output } from '@angular/core';\nimport { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';\n\n@Component({\n selector: 'eds-shell-menu-toggle',\n imports: [...EDS_ICON_BUTTON],\n templateUrl: './eds-shell-menu-toggle.html',\n styleUrl: './eds-shell-menu-toggle.scss',\n})\nexport class EdsShellMenuToggle {\n /** Emits when the toggle button is clicked. */\n menuToggle = output<void>();\n\n onClick(): void {\n this.menuToggle.emit();\n }\n}\n","<button\n edsIconButton\n edsBrand\n icon=\"list\"\n ariaLabel=\"Toggle sidebar\"\n (click)=\"onClick()\">\n</button>\n","import { Component, input, output, signal } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';\nimport { EdsBaseColorVariantsDirective } from '@eui/eds/shared';\n\n@Component({\n selector: 'eds-shell-top-message',\n imports: [...EDS_ICON_BUTTON],\n templateUrl: './eds-shell-top-message.html',\n styleUrl: './eds-shell-top-message.scss',\n hostDirectives: [\n {\n directive: EdsBaseColorVariantsDirective,\n inputs: ['edsWarning', 'edsCritical', 'edsInfo', 'edsSuccess', 'edsColorVariant'],\n },\n ],\n host: {\n '[class.eds-top-message]': 'true',\n '[class.eds-top-message--hidden]': '!isVisible()',\n },\n})\nexport class EdsShellTopMessage {\n /** Whether the close button is shown. */\n isDismissible = input<boolean, BooleanInput>(true, { transform: coerceBooleanProperty });\n\n /** Emits when the message is dismissed. */\n dismissed = output<void>();\n\n /** Internal visibility state. */\n isVisible = signal(true);\n\n dismiss(): void {\n this.isVisible.set(false);\n setTimeout(() => this.dismissed.emit(), 300);\n }\n}\n","<div class=\"top-message-content\">\n <ng-content></ng-content>\n</div>\n@if (isDismissible()) {\n <button edsIconButton icon=\"x\" ariaLabel=\"Dismiss\" edsSizeS (click)=\"dismiss()\"></button>\n}\n","import { EdsShell, EdsSidebarCollapseMode } from './eds-shell';\nimport { EdsShellHeader } from './eds-shell-header';\nimport { EdsShellHeaderLogo } from './eds-shell-header-logo';\nimport { EdsShellHeaderEnvironment } from './eds-shell-header-environment';\nimport { EdsShellHeaderApp } from './eds-shell-header-app';\nimport { EdsShellHeaderStart } from './eds-shell-header-start';\nimport { EdsShellHeaderEnd } from './eds-shell-header-end';\nimport { EdsShellToolbar } from './eds-shell-toolbar';\nimport { EdsShellToolbarStart } from './eds-shell-toolbar-start';\nimport { EdsShellToolbarEnd } from './eds-shell-toolbar-end';\nimport { EdsShellToolbarLogo } from './eds-shell-toolbar-logo';\nimport { EdsShellToolbarEnvironment } from './eds-shell-toolbar-environment';\nimport { EdsShellToolbarApp } from './eds-shell-toolbar-app';\nimport { EdsShellSidebar } from './eds-shell-sidebar';\nimport { EdsShellSidebarHeader } from './eds-shell-sidebar-header';\nimport { EdsShellSidebarNav } from './eds-shell-sidebar-nav';\nexport { EdsMenuItem } from '@eui/eds/eds-menu';\nimport { EdsShellSidebarFooter } from './eds-shell-sidebar-footer';\nimport { EdsShellSidebarBottomNav } from './eds-shell-sidebar-bottom-nav';\nimport { EdsShellContent } from './eds-shell-content';\nimport { EdsShellFooter } from './eds-shell-footer';\nimport { EdsShellMenuToggle } from './eds-shell-menu-toggle';\nimport { EdsShellTopMessage } from './eds-shell-top-message';\n\nexport {\n EdsShell,\n EdsSidebarCollapseMode,\n EdsShellHeader,\n EdsShellHeaderLogo,\n EdsShellHeaderEnvironment,\n EdsShellHeaderApp,\n EdsShellHeaderStart,\n EdsShellHeaderEnd,\n EdsShellToolbar,\n EdsShellToolbarStart,\n EdsShellToolbarEnd,\n EdsShellToolbarLogo,\n EdsShellToolbarEnvironment,\n EdsShellToolbarApp,\n EdsShellSidebar,\n EdsShellSidebarHeader,\n EdsShellSidebarNav,\n EdsShellSidebarBottomNav,\n EdsShellSidebarFooter,\n EdsShellContent,\n EdsShellFooter,\n EdsShellMenuToggle,\n EdsShellTopMessage,\n};\n\n/** Convenience array for importing all eds-shell components. */\nexport const EDS_SHELL = [\n EdsShell,\n EdsShellHeader,\n EdsShellHeaderLogo,\n EdsShellHeaderEnvironment,\n EdsShellHeaderApp,\n EdsShellHeaderStart,\n EdsShellHeaderEnd,\n EdsShellToolbar,\n EdsShellToolbarStart,\n EdsShellToolbarEnd,\n EdsShellToolbarLogo,\n EdsShellToolbarEnvironment,\n EdsShellToolbarApp,\n EdsShellSidebar,\n EdsShellSidebarHeader,\n EdsShellSidebarNav,\n EdsShellSidebarBottomNav,\n EdsShellSidebarFooter,\n EdsShellContent,\n EdsShellFooter,\n EdsShellMenuToggle,\n EdsShellTopMessage,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ViewContainerRef,
|
|
2
|
+
import { viewChild, inject, ViewContainerRef, Component, booleanAttribute, Input, contentChild, forwardRef, ContentChild, ChangeDetectionStrategy, input, output, viewChildren, PLATFORM_ID, ChangeDetectorRef, DOCUMENT, ContentChildren, HostBinding } from '@angular/core';
|
|
3
3
|
import { AsyncPipe, isPlatformBrowser } from '@angular/common';
|
|
4
4
|
import * as i1 from '@angular/cdk/portal';
|
|
5
5
|
import { TemplatePortal, PortalModule } from '@angular/cdk/portal';
|
|
@@ -11,21 +11,19 @@ import { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';
|
|
|
11
11
|
|
|
12
12
|
class EdsTabHeader {
|
|
13
13
|
constructor() {
|
|
14
|
+
this.templateRef = viewChild.required('templateRef');
|
|
14
15
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
15
16
|
}
|
|
16
17
|
ngAfterViewInit() {
|
|
17
|
-
this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
|
|
18
|
+
this.templatePortal = new TemplatePortal(this.templateRef(), this.viewContainerRef);
|
|
18
19
|
}
|
|
19
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTabHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.5", type: EdsTabHeader, isStandalone: true, selector: "eds-tab-header", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<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" }); }
|
|
21
22
|
}
|
|
22
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTabHeader, decorators: [{
|
|
23
24
|
type: Component,
|
|
24
25
|
args: [{ selector: 'eds-tab-header', template: "<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" }]
|
|
25
|
-
}], propDecorators: { templateRef: [{
|
|
26
|
-
type: ViewChild,
|
|
27
|
-
args: ['templateRef']
|
|
28
|
-
}] } });
|
|
26
|
+
}], propDecorators: { templateRef: [{ type: i0.ViewChild, args: ['templateRef', { isSignal: true }] }] } });
|
|
29
27
|
|
|
30
28
|
class EdsTabBody {
|
|
31
29
|
constructor() {
|
|
@@ -35,14 +33,15 @@ class EdsTabBody {
|
|
|
35
33
|
* @default false
|
|
36
34
|
*/
|
|
37
35
|
this.hasNoContentPadding = false;
|
|
36
|
+
this.templateRef = viewChild.required('templateRef');
|
|
38
37
|
this.tabIndex$ = new BehaviorSubject(0);
|
|
39
38
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
40
39
|
}
|
|
41
40
|
ngAfterViewInit() {
|
|
42
|
-
this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
|
|
41
|
+
this.templatePortal = new TemplatePortal(this.templateRef(), this.viewContainerRef);
|
|
43
42
|
}
|
|
44
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTabBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.5", type: EdsTabBody, isStandalone: true, selector: "eds-tab-body", inputs: { hasNoContentPadding: ["hasNoContentPadding", "hasNoContentPadding", booleanAttribute] }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<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", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
46
45
|
}
|
|
47
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTabBody, decorators: [{
|
|
48
47
|
type: Component,
|
|
@@ -52,10 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
52
51
|
}], propDecorators: { hasNoContentPadding: [{
|
|
53
52
|
type: Input,
|
|
54
53
|
args: [{ transform: booleanAttribute }]
|
|
55
|
-
}], templateRef: [{
|
|
56
|
-
type: ViewChild,
|
|
57
|
-
args: ['templateRef']
|
|
58
|
-
}] } });
|
|
54
|
+
}], templateRef: [{ type: i0.ViewChild, args: ['templateRef', { isSignal: true }] }] } });
|
|
59
55
|
|
|
60
56
|
class EdsTab {
|
|
61
57
|
constructor() {
|
|
@@ -94,6 +90,7 @@ class EdsTab {
|
|
|
94
90
|
* @default false
|
|
95
91
|
*/
|
|
96
92
|
this.isHandleActivateTab = false;
|
|
93
|
+
this.templateHeader = contentChild.required(forwardRef(() => EdsTabHeader));
|
|
97
94
|
this.euiVariant = 'euiPrimary';
|
|
98
95
|
this.isActive = false;
|
|
99
96
|
this.isVisible$ = new BehaviorSubject(this.isVisible);
|
|
@@ -118,7 +115,7 @@ class EdsTab {
|
|
|
118
115
|
this.isActive = false;
|
|
119
116
|
}
|
|
120
117
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTab, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
121
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.5", type: EdsTab, isStandalone: true, selector: "eds-tab", inputs: { id: "id", url: "url", e2eAttr: "e2eAttr", tooltip: "tooltip", isClosable: ["isClosable", "isClosable", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isVisible: ["isVisible", "isVisible", booleanAttribute], isHandleCloseOnClose: ["isHandleCloseOnClose", "isHandleCloseOnClose", booleanAttribute], isHandleActivateTab: ["isHandleActivateTab", "isHandleActivateTab", booleanAttribute], euiVariant: "euiVariant" }, queries: [{ propertyName: "templateHeader", first: true, predicate: i0.forwardRef(() => EdsTabHeader), descendants: true, isSignal: true }, { propertyName: "templateBody", first: true, predicate: i0.forwardRef(() => EdsTabBody), descendants: true }], usesOnChanges: true, ngImport: i0, template: '<ng-content/>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
122
119
|
}
|
|
123
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTab, decorators: [{
|
|
124
121
|
type: Component,
|
|
@@ -150,10 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
150
147
|
}], isHandleActivateTab: [{
|
|
151
148
|
type: Input,
|
|
152
149
|
args: [{ transform: booleanAttribute }]
|
|
153
|
-
}], templateHeader: [{
|
|
154
|
-
type: ContentChild,
|
|
155
|
-
args: [forwardRef(() => EdsTabHeader)]
|
|
156
|
-
}], templateBody: [{
|
|
150
|
+
}], templateHeader: [{ type: i0.ContentChild, args: [forwardRef(() => EdsTabHeader), { isSignal: true }] }], templateBody: [{
|
|
157
151
|
type: ContentChild,
|
|
158
152
|
args: [forwardRef(() => EdsTabBody)]
|
|
159
153
|
}], euiVariant: [{
|
|
@@ -162,7 +156,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
162
156
|
|
|
163
157
|
class EdsTabs {
|
|
164
158
|
constructor() {
|
|
165
|
-
|
|
159
|
+
/**
|
|
160
|
+
* Sets the `data-e2e` attribute for the host element.
|
|
161
|
+
*
|
|
162
|
+
* @default 'eds-tabs'
|
|
163
|
+
*/
|
|
164
|
+
this.e2eAttr = input('eds-tabs', /* @ts-ignore */
|
|
165
|
+
...(ngDevMode ? [{ debugName: "e2eAttr" }] : /* istanbul ignore next */ []));
|
|
166
166
|
/**
|
|
167
167
|
* Index of the active tab
|
|
168
168
|
*
|
|
@@ -174,21 +174,27 @@ class EdsTabs {
|
|
|
174
174
|
*
|
|
175
175
|
* @default 'eUI Tabs'
|
|
176
176
|
*/
|
|
177
|
-
this.ariaLabel = 'EDS Tabs'
|
|
178
|
-
|
|
179
|
-
this.
|
|
177
|
+
this.ariaLabel = input('EDS Tabs', /* @ts-ignore */
|
|
178
|
+
...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
179
|
+
this.isMainNavigation = input(false, { ...(ngDevMode ? { debugName: "isMainNavigation" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
180
|
+
this.isFlat = input(false, { ...(ngDevMode ? { debugName: "isFlat" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
180
181
|
/**
|
|
181
182
|
* Event emitted when a tab is closed
|
|
182
183
|
*/
|
|
183
|
-
this.tabClose =
|
|
184
|
+
this.tabClose = output();
|
|
184
185
|
/**
|
|
185
186
|
* Event emitted when a tab is activated
|
|
186
187
|
*/
|
|
187
|
-
this.tabActivate =
|
|
188
|
+
this.tabActivate = output();
|
|
188
189
|
/**
|
|
189
190
|
* Event emitted when a tab is clicked
|
|
190
191
|
*/
|
|
191
|
-
this.tabClick =
|
|
192
|
+
this.tabClick = output();
|
|
193
|
+
this.edsTabsHeadersContainer = viewChild.required('euiTabsHeadersContainer');
|
|
194
|
+
this.edsTabsHeaders = viewChild.required('euiTabsHeaders');
|
|
195
|
+
this.edsTabsRightContent = viewChild.required('euiTabsRightContent');
|
|
196
|
+
this.edsTabListItems = viewChildren('euiTabListItems', /* @ts-ignore */
|
|
197
|
+
...(ngDevMode ? [{ debugName: "edsTabListItems" }] : /* istanbul ignore next */ []));
|
|
192
198
|
this.tabs = [];
|
|
193
199
|
this.scrolling = false;
|
|
194
200
|
this.navigationLeftButtonDisabled = true;
|
|
@@ -205,28 +211,23 @@ class EdsTabs {
|
|
|
205
211
|
this.euiAppShellService = inject(EuiAppShellService);
|
|
206
212
|
this.document = inject(DOCUMENT);
|
|
207
213
|
}
|
|
208
|
-
get elementClass() {
|
|
209
|
-
return [
|
|
210
|
-
'eds-tabs',
|
|
211
|
-
].join(' ').trim();
|
|
212
|
-
}
|
|
213
214
|
/**
|
|
214
215
|
* Width of the tabs headers container
|
|
215
216
|
*/
|
|
216
|
-
get
|
|
217
|
-
return (this.
|
|
217
|
+
get edsTabsHeadersContainerWidth() {
|
|
218
|
+
return (this.edsTabsHeadersContainer()?.nativeElement.clientWidth - this.edsTabsRightContentWidth);
|
|
218
219
|
}
|
|
219
220
|
/**
|
|
220
221
|
* Width of the tabs headers
|
|
221
222
|
*/
|
|
222
|
-
get
|
|
223
|
-
return this.
|
|
223
|
+
get edsTabsHeadersWidth() {
|
|
224
|
+
return this.edsTabsHeaders()?.nativeElement.clientWidth;
|
|
224
225
|
}
|
|
225
226
|
/**
|
|
226
227
|
* Width of the tabs right content
|
|
227
228
|
*/
|
|
228
|
-
get
|
|
229
|
-
return this.
|
|
229
|
+
get edsTabsRightContentWidth() {
|
|
230
|
+
return this.edsTabsRightContent()?.nativeElement?.offsetWidth || 0;
|
|
230
231
|
}
|
|
231
232
|
ngOnChanges(c) {
|
|
232
233
|
if (c?.activeTabIndex && !c.activeTabIndex.isFirstChange()) {
|
|
@@ -322,8 +323,8 @@ class EdsTabs {
|
|
|
322
323
|
*/
|
|
323
324
|
goToRight() {
|
|
324
325
|
let scrollTo = this.currentOffset - this.stepMove;
|
|
325
|
-
if (Math.abs(scrollTo) > this.
|
|
326
|
-
scrollTo = -(this.
|
|
326
|
+
if (Math.abs(scrollTo) > this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth) {
|
|
327
|
+
scrollTo = -(this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth) - this.scrollOffset;
|
|
327
328
|
}
|
|
328
329
|
this.setScrollTo(scrollTo);
|
|
329
330
|
}
|
|
@@ -342,40 +343,40 @@ class EdsTabs {
|
|
|
342
343
|
break;
|
|
343
344
|
}
|
|
344
345
|
case 'ArrowRight': {
|
|
345
|
-
const isLastItem = i === this.
|
|
346
|
+
const isLastItem = i === this.edsTabListItems().length - 1;
|
|
346
347
|
const index = isLastItem ? 0 : i + 1;
|
|
347
348
|
this.setScrollToTabIndex(index, false);
|
|
348
|
-
this.
|
|
349
|
+
this.edsTabListItems()[index]?.nativeElement.focus();
|
|
349
350
|
break;
|
|
350
351
|
}
|
|
351
352
|
case 'ArrowLeft': {
|
|
352
|
-
const lastIndex = this.
|
|
353
|
+
const lastIndex = this.edsTabListItems().length - 1;
|
|
353
354
|
const index = i === 0 ? lastIndex : i - 1;
|
|
354
355
|
this.setScrollToTabIndex(index, false);
|
|
355
|
-
this.
|
|
356
|
+
this.edsTabListItems()[index]?.nativeElement.focus();
|
|
356
357
|
break;
|
|
357
358
|
}
|
|
358
359
|
case 'Home': {
|
|
359
360
|
this.setScrollToTabIndex(0, false);
|
|
360
|
-
this.
|
|
361
|
+
this.edsTabListItems()[0]?.nativeElement.focus();
|
|
361
362
|
event.preventDefault();
|
|
362
363
|
break;
|
|
363
364
|
}
|
|
364
365
|
case 'End': {
|
|
365
|
-
this.setScrollToTabIndex(this.
|
|
366
|
-
this.
|
|
366
|
+
this.setScrollToTabIndex(this.edsTabListItems().length - 1, false);
|
|
367
|
+
this.edsTabListItems()[this.edsTabListItems().length - 1]?.nativeElement.focus();
|
|
367
368
|
event.preventDefault();
|
|
368
369
|
break;
|
|
369
370
|
}
|
|
370
371
|
case 'Delete': {
|
|
371
372
|
if (this.tabs[i].isClosable) {
|
|
372
|
-
if (i === this.
|
|
373
|
-
this.
|
|
373
|
+
if (i === this.edsTabListItems().length - 1) {
|
|
374
|
+
this.edsTabListItems()[i - 1]?.nativeElement.focus();
|
|
374
375
|
this.close(i, event);
|
|
375
376
|
}
|
|
376
377
|
else {
|
|
377
378
|
this.close(i, event);
|
|
378
|
-
this.
|
|
379
|
+
this.edsTabListItems()[i]?.nativeElement.focus();
|
|
379
380
|
}
|
|
380
381
|
}
|
|
381
382
|
break;
|
|
@@ -460,8 +461,8 @@ class EdsTabs {
|
|
|
460
461
|
* Checks if the tabs headers are scrolling and calculates the scrolling position
|
|
461
462
|
*/
|
|
462
463
|
tabsScrollingHandler() {
|
|
463
|
-
if (this.
|
|
464
|
-
this.scrolling = this.
|
|
464
|
+
if (this.edsTabsHeadersContainerWidth && this.edsTabsHeadersWidth) {
|
|
465
|
+
this.scrolling = this.edsTabsHeadersWidth > this.edsTabsHeadersContainerWidth;
|
|
465
466
|
if (!this.scrolling) {
|
|
466
467
|
this.scrollingCount = 0;
|
|
467
468
|
this.setScrollTo(0, false);
|
|
@@ -469,7 +470,7 @@ class EdsTabs {
|
|
|
469
470
|
this.navigationRightButtonDisabled = true;
|
|
470
471
|
}
|
|
471
472
|
else {
|
|
472
|
-
const maxScrollableWidth = this.
|
|
473
|
+
const maxScrollableWidth = this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth;
|
|
473
474
|
if (maxScrollableWidth <= Math.abs(this.currentOffset) + this.scrollOffset && this.scrollingCount !== 0) {
|
|
474
475
|
const scrollTo = -maxScrollableWidth - this.scrollOffset;
|
|
475
476
|
this.setScrollTo(scrollTo);
|
|
@@ -490,16 +491,16 @@ class EdsTabs {
|
|
|
490
491
|
* @param isAnimated Whether the tab activation should be animated
|
|
491
492
|
*/
|
|
492
493
|
setScrollToTabIndex(index, isAnimated = true) {
|
|
493
|
-
const activeTab = this.
|
|
494
|
-
if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isMainNavigation) {
|
|
494
|
+
const activeTab = this.edsTabsHeaders().nativeElement.children.item(index);
|
|
495
|
+
if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isMainNavigation()) {
|
|
495
496
|
let scrollTo = 0;
|
|
496
497
|
let subsetWidth = 0;
|
|
497
498
|
for (let i = 0; i <= index; i++) {
|
|
498
|
-
subsetWidth += this.
|
|
499
|
+
subsetWidth += this.edsTabsHeaders().nativeElement.children.item(i).clientWidth;
|
|
499
500
|
}
|
|
500
|
-
scrollTo = this.
|
|
501
|
-
if (Math.abs(scrollTo) > this.
|
|
502
|
-
scrollTo = -(this.
|
|
501
|
+
scrollTo = this.edsTabsHeadersContainerWidth / 2 - subsetWidth;
|
|
502
|
+
if (Math.abs(scrollTo) > this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth + this.scrollOffset) {
|
|
503
|
+
scrollTo = -(this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth + this.scrollOffset);
|
|
503
504
|
}
|
|
504
505
|
if (scrollTo > 0 || (scrollTo < 0 && index === 0)) {
|
|
505
506
|
scrollTo = 0;
|
|
@@ -516,19 +517,19 @@ class EdsTabs {
|
|
|
516
517
|
setScrollTo(scrollTo, isAnimated = true) {
|
|
517
518
|
const timings = isAnimated ? '500ms cubic-bezier(0.35, 0, 0.25, 1)' : 0;
|
|
518
519
|
const animation = this.builder.build([animate(timings, style({ 'margin-left': +scrollTo + 'px' }))]);
|
|
519
|
-
this.player = animation.create(this.
|
|
520
|
+
this.player = animation.create(this.edsTabsHeaders().nativeElement);
|
|
520
521
|
this.player.play();
|
|
521
522
|
this.currentOffset = scrollTo;
|
|
522
523
|
if (scrollTo === 0) {
|
|
523
524
|
this.navigationLeftButtonDisabled = true;
|
|
524
525
|
}
|
|
525
|
-
if (Math.abs(this.currentOffset) < this.
|
|
526
|
+
if (Math.abs(this.currentOffset) < this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth + this.scrollOffset) {
|
|
526
527
|
this.navigationRightButtonDisabled = false;
|
|
527
528
|
}
|
|
528
529
|
if (this.currentOffset < 0) {
|
|
529
530
|
this.navigationLeftButtonDisabled = false;
|
|
530
531
|
}
|
|
531
|
-
if (Math.abs(scrollTo) === this.
|
|
532
|
+
if (Math.abs(scrollTo) === this.edsTabsHeadersWidth - this.edsTabsHeadersContainerWidth + this.scrollOffset) {
|
|
532
533
|
this.navigationRightButtonDisabled = true;
|
|
533
534
|
}
|
|
534
535
|
this.cd.detectChanges();
|
|
@@ -541,59 +542,28 @@ class EdsTabs {
|
|
|
541
542
|
*/
|
|
542
543
|
isActiveTabFullyVisible(activeTab) {
|
|
543
544
|
const fullyVisible = activeTab.offsetLeft - this.scrollOffset >= 0 &&
|
|
544
|
-
activeTab.offsetLeft + activeTab.clientWidth < this.
|
|
545
|
+
activeTab.offsetLeft + activeTab.clientWidth < this.edsTabsHeadersContainerWidth - this.scrollOffset;
|
|
545
546
|
return fullyVisible;
|
|
546
547
|
}
|
|
547
548
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTabs, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
548
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EdsTabs, isStandalone: true, selector: "eds-tabs", inputs: { e2eAttr: "e2eAttr", activeTabIndex: "activeTabIndex", ariaLabel: "ariaLabel", isMainNavigation:
|
|
549
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EdsTabs, isStandalone: true, selector: "eds-tabs", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, activeTabIndex: { classPropertyName: "activeTabIndex", publicName: "activeTabIndex", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, isMainNavigation: { classPropertyName: "isMainNavigation", publicName: "isMainNavigation", isSignal: true, isRequired: false, transformFunction: null }, isFlat: { classPropertyName: "isFlat", publicName: "isFlat", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tabClose: "tabClose", tabActivate: "tabActivate", tabClick: "tabClick" }, host: { properties: { "attr.data-e2e": "e2eAttr()" }, classAttribute: "eds-tabs" }, queries: [{ propertyName: "_tabs", predicate: i0.forwardRef(() => EdsTab) }], viewQueries: [{ propertyName: "edsTabsHeadersContainer", first: true, predicate: ["euiTabsHeadersContainer"], descendants: true, isSignal: true }, { propertyName: "edsTabsHeaders", first: true, predicate: ["euiTabsHeaders"], descendants: true, isSignal: true }, { propertyName: "edsTabsRightContent", first: true, predicate: ["euiTabsRightContent"], descendants: true, isSignal: true }, { propertyName: "edsTabListItems", predicate: ["euiTabListItems"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<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", styles: [".eui-21 :host.eds-tabs{--_label-font: var(--eui-f-m-semi-bold);--_sublabel-font: var(--eui-f-s)}.eui-21 :host.eds-tabs{display:flex;flex-direction:column;width:100%}.eui-21 :host.eds-tabs .eds-tab-item{--_border-color: transparent;--_color: var(--eds-c-foreground-subtler);--_color-hover: var(--eds-c-foreground)}.eui-21 :host.eds-tabs .eds-tab-item--active{--_color: var(--eds-c-foreground);--_border-color: var(--eds-c-border)}.eui-21 :host.eds-tabs .eds-tab-item--disabled{--_color: var(--eds-c-foreground-disabled);--_icon-color: var(--eds-c-foreground-disabled);--_border-color-hover: transparent}.eui-21 :host.eds-tabs .eds-tabs-wrapper{align-items:center;border-bottom:var(--eds-bw-xs) solid var(--eds-c-border-divider);display:flex;overflow:hidden;position:relative}.eui-21 :host.eds-tabs .eds-tabs-wrapper .eds-tabs-right-content-wrapper{display:flex;margin-left:var(--eds-sp-m)}.eui-21 :host.eds-tabs .eds-tab-items{display:flex;height:100%;list-style:none;list-style-type:none;margin:0;padding:0}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item{align-items:center;background-color:inherit;border:var(--eui-bw-none);border-bottom:var(--eds-bw-s) solid transparent;color:var(--_color);cursor:pointer;display:flex;padding:var(--eds-sp-s) var(--eds-sp-m) var(--eds-sp-s) var(--eds-sp-m);position:relative;text-align:center;gap:var(--eds-sp-2xs)}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item:focus-visible:not([readonly]){outline:2px solid var(--eds-c-border-primary)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-wrapper{display:flex;align-items:center;gap:var(--eds-sp-s);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-wrapper ::ng-deep .eds-tab-header-label-wrapper{display:flex;flex-direction:column}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-wrapper ::ng-deep .eds-tab-header-label-wrapper ::ng-deep .eds-tab-header-label{display:block;font-weight:700;line-height:var(--eds-sp-l);color:var(--_color);font:var(--_label-font)}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-wrapper ::ng-deep .eds-tab-header-label-wrapper ::ng-deep .eds-tab-header-sub-label{font-weight:400;color:var(--_color);font:var(--_sublabel-font)}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-left-content,.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-right-content{display:flex}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item--active{border-color:var(--_border-color)}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item--disabled{cursor:not-allowed;pointer-events:none}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item:hover:not(.eds-tab-header--active) ::ng-deep .eds-tab-header-label{color:var(--_color-hover)}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item:hover:not(.eds-tab-header--active) ::ng-deep .eds-tab-header-sub-label{color:var(--_color-hover)}.eui-21 :host.eds-tabs .eds-tabs-navigation{display:flex;overflow:hidden;position:relative;width:100%}.eui-21 :host.eds-tabs .eds-tabs-navigation .eds-tabs-navigation__left-item,.eui-21 :host.eds-tabs .eds-tabs-navigation .eds-tabs-navigation__right-item{align-self:center;background-color:var(--eui-c-surface-page);display:none;height:100%;position:absolute;z-index:1}.eui-21 :host.eds-tabs .eds-tabs-navigation .eds-tabs-navigation__left-item{left:0}.eui-21 :host.eds-tabs .eds-tabs-navigation .eds-tabs-navigation__right-item{right:0}.eui-21 :host.eds-tabs .eds-tabs-wrapper.eui-tabs-wrapper--scrolling .eds-tab-items{padding-left:var(--eui-s-5xl)}.eui-21 :host.eds-tabs .eds-tabs-wrapper.eui-tabs-wrapper--scrolling .eds-tab-items .eds-tab-item{min-width:unset;overflow:unset}.eui-21 :host.eds-tabs .eds-tabs-wrapper.eui-tabs-wrapper--scrolling .eds-tabs-navigation__left-item,.eui-21 :host.eds-tabs .eds-tabs-wrapper.eui-tabs-wrapper--scrolling .eds-tabs-navigation__right-item{display:flex}.eui-21 :host.eds-tabs .eds-tab-body-container ::ng-deep .eds-tab__body{padding:var(--eui-s-s)}.eui-21 :host.eds-tabs .eds-tab-body-container ::ng-deep .eds-tab__body:focus-visible:not([readonly]){outline:2px solid var(--eds-c-border-primary)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eds-tabs .eds-tab-body-container ::ng-deep .eds-tab__body.eds-tab__body--no-padding{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i2.EdsIconButton, selector: "button[edsIconButton]", inputs: ["icon", "ariaLabel", "edsRounded", "edsDisabled"], outputs: ["buttonClick"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
549
550
|
}
|
|
550
551
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTabs, decorators: [{
|
|
551
552
|
type: Component,
|
|
552
|
-
args: [{ selector: 'eds-tabs', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
553
|
+
args: [{ selector: 'eds-tabs', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
554
|
+
class: 'eds-tabs',
|
|
555
|
+
'[attr.data-e2e]': 'e2eAttr()',
|
|
556
|
+
}, imports: [
|
|
553
557
|
AsyncPipe,
|
|
554
558
|
PortalModule,
|
|
555
559
|
...EDS_ICON_BUTTON,
|
|
556
|
-
], template: "<div #
|
|
557
|
-
}], propDecorators: {
|
|
558
|
-
type: HostBinding,
|
|
559
|
-
args: ['class']
|
|
560
|
-
}], e2eAttr: [{
|
|
561
|
-
type: HostBinding,
|
|
562
|
-
args: ['attr.data-e2e']
|
|
563
|
-
}, {
|
|
564
|
-
type: Input
|
|
565
|
-
}], activeTabIndex: [{
|
|
560
|
+
], template: "<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", styles: [".eui-21 :host.eds-tabs{--_label-font: var(--eui-f-m-semi-bold);--_sublabel-font: var(--eui-f-s)}.eui-21 :host.eds-tabs{display:flex;flex-direction:column;width:100%}.eui-21 :host.eds-tabs .eds-tab-item{--_border-color: transparent;--_color: var(--eds-c-foreground-subtler);--_color-hover: var(--eds-c-foreground)}.eui-21 :host.eds-tabs .eds-tab-item--active{--_color: var(--eds-c-foreground);--_border-color: var(--eds-c-border)}.eui-21 :host.eds-tabs .eds-tab-item--disabled{--_color: var(--eds-c-foreground-disabled);--_icon-color: var(--eds-c-foreground-disabled);--_border-color-hover: transparent}.eui-21 :host.eds-tabs .eds-tabs-wrapper{align-items:center;border-bottom:var(--eds-bw-xs) solid var(--eds-c-border-divider);display:flex;overflow:hidden;position:relative}.eui-21 :host.eds-tabs .eds-tabs-wrapper .eds-tabs-right-content-wrapper{display:flex;margin-left:var(--eds-sp-m)}.eui-21 :host.eds-tabs .eds-tab-items{display:flex;height:100%;list-style:none;list-style-type:none;margin:0;padding:0}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item{align-items:center;background-color:inherit;border:var(--eui-bw-none);border-bottom:var(--eds-bw-s) solid transparent;color:var(--_color);cursor:pointer;display:flex;padding:var(--eds-sp-s) var(--eds-sp-m) var(--eds-sp-s) var(--eds-sp-m);position:relative;text-align:center;gap:var(--eds-sp-2xs)}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item:focus-visible:not([readonly]){outline:2px solid var(--eds-c-border-primary)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-wrapper{display:flex;align-items:center;gap:var(--eds-sp-s);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-wrapper ::ng-deep .eds-tab-header-label-wrapper{display:flex;flex-direction:column}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-wrapper ::ng-deep .eds-tab-header-label-wrapper ::ng-deep .eds-tab-header-label{display:block;font-weight:700;line-height:var(--eds-sp-l);color:var(--_color);font:var(--_label-font)}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-wrapper ::ng-deep .eds-tab-header-label-wrapper ::ng-deep .eds-tab-header-sub-label{font-weight:400;color:var(--_color);font:var(--_sublabel-font)}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-left-content,.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item ::ng-deep .eds-tab-header-right-content{display:flex}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item--active{border-color:var(--_border-color)}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item--disabled{cursor:not-allowed;pointer-events:none}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item:hover:not(.eds-tab-header--active) ::ng-deep .eds-tab-header-label{color:var(--_color-hover)}.eui-21 :host.eds-tabs .eds-tab-items .eds-tab-item:hover:not(.eds-tab-header--active) ::ng-deep .eds-tab-header-sub-label{color:var(--_color-hover)}.eui-21 :host.eds-tabs .eds-tabs-navigation{display:flex;overflow:hidden;position:relative;width:100%}.eui-21 :host.eds-tabs .eds-tabs-navigation .eds-tabs-navigation__left-item,.eui-21 :host.eds-tabs .eds-tabs-navigation .eds-tabs-navigation__right-item{align-self:center;background-color:var(--eui-c-surface-page);display:none;height:100%;position:absolute;z-index:1}.eui-21 :host.eds-tabs .eds-tabs-navigation .eds-tabs-navigation__left-item{left:0}.eui-21 :host.eds-tabs .eds-tabs-navigation .eds-tabs-navigation__right-item{right:0}.eui-21 :host.eds-tabs .eds-tabs-wrapper.eui-tabs-wrapper--scrolling .eds-tab-items{padding-left:var(--eui-s-5xl)}.eui-21 :host.eds-tabs .eds-tabs-wrapper.eui-tabs-wrapper--scrolling .eds-tab-items .eds-tab-item{min-width:unset;overflow:unset}.eui-21 :host.eds-tabs .eds-tabs-wrapper.eui-tabs-wrapper--scrolling .eds-tabs-navigation__left-item,.eui-21 :host.eds-tabs .eds-tabs-wrapper.eui-tabs-wrapper--scrolling .eds-tabs-navigation__right-item{display:flex}.eui-21 :host.eds-tabs .eds-tab-body-container ::ng-deep .eds-tab__body{padding:var(--eui-s-s)}.eui-21 :host.eds-tabs .eds-tab-body-container ::ng-deep .eds-tab__body:focus-visible:not([readonly]){outline:2px solid var(--eds-c-border-primary)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eds-tabs .eds-tab-body-container ::ng-deep .eds-tab__body.eds-tab__body--no-padding{padding:0}\n"] }]
|
|
561
|
+
}], propDecorators: { e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }], activeTabIndex: [{
|
|
566
562
|
type: Input
|
|
567
|
-
}], ariaLabel: [{
|
|
568
|
-
type: Input
|
|
569
|
-
}], isMainNavigation: [{
|
|
570
|
-
type: Input,
|
|
571
|
-
args: [{ transform: booleanAttribute }]
|
|
572
|
-
}], isFlat: [{
|
|
573
|
-
type: Input,
|
|
574
|
-
args: [{ transform: booleanAttribute }]
|
|
575
|
-
}], tabClose: [{
|
|
576
|
-
type: Output
|
|
577
|
-
}], tabActivate: [{
|
|
578
|
-
type: Output
|
|
579
|
-
}], tabClick: [{
|
|
580
|
-
type: Output
|
|
581
|
-
}], _tabs: [{
|
|
563
|
+
}], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], isMainNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "isMainNavigation", required: false }] }], isFlat: [{ type: i0.Input, args: [{ isSignal: true, alias: "isFlat", required: false }] }], tabClose: [{ type: i0.Output, args: ["tabClose"] }], tabActivate: [{ type: i0.Output, args: ["tabActivate"] }], tabClick: [{ type: i0.Output, args: ["tabClick"] }], _tabs: [{
|
|
582
564
|
type: ContentChildren,
|
|
583
565
|
args: [forwardRef(() => EdsTab), { descendants: false }]
|
|
584
|
-
}], euiTabsHeadersContainer: [{
|
|
585
|
-
type: ViewChild,
|
|
586
|
-
args: ['euiTabsHeadersContainer']
|
|
587
|
-
}], euiTabsHeaders: [{
|
|
588
|
-
type: ViewChild,
|
|
589
|
-
args: ['euiTabsHeaders']
|
|
590
|
-
}], euiTabsRightContent: [{
|
|
591
|
-
type: ViewChild,
|
|
592
|
-
args: ['euiTabsRightContent']
|
|
593
|
-
}], euiTabListItems: [{
|
|
594
|
-
type: ViewChildren,
|
|
595
|
-
args: ['euiTabListItems']
|
|
596
|
-
}] } });
|
|
566
|
+
}], edsTabsHeadersContainer: [{ type: i0.ViewChild, args: ['euiTabsHeadersContainer', { isSignal: true }] }], edsTabsHeaders: [{ type: i0.ViewChild, args: ['euiTabsHeaders', { isSignal: true }] }], edsTabsRightContent: [{ type: i0.ViewChild, args: ['euiTabsRightContent', { isSignal: true }] }], edsTabListItems: [{ type: i0.ViewChildren, args: ['euiTabListItems', { isSignal: true }] }] } });
|
|
597
567
|
|
|
598
568
|
class EdsTabsRightContent {
|
|
599
569
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTabsRightContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|