@eui/components 18.0.0-next.63 → 18.0.0-next.64
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/components/CollapsedBreadcrumbComponent.html +1 -1
- package/docs/components/EuiAppSidebarHeaderUserProfileComponent.html +1 -1
- package/docs/components/EuiAppTopMessageComponent.html +1 -1
- package/docs/components/EuiBreadcrumbItemComponent.html +1 -1
- package/docs/components/EuiCardFooterMenuContentComponent.html +1 -1
- package/docs/components/EuiCardHeaderComponent.html +1 -1
- package/docs/components/EuiChipListComponent.html +1 -1
- package/docs/components/EuiDialogContainerComponent.html +1 -1
- package/docs/components/EuiDiscussionThreadItemComponent.html +1 -1
- package/docs/components/EuiDropdownItemComponent.html +1 -1
- package/docs/components/EuiEditorComponent.html +1 -1
- package/docs/components/EuiFilePreviewComponent.html +1 -1
- package/docs/components/EuiGrowlComponent.html +1 -1
- package/docs/components/EuiIconButtonExpanderComponent.html +1 -1
- package/docs/components/EuiListItemComponent.html +1 -1
- package/docs/components/EuiMenuComponent.html +1 -1
- package/docs/components/EuiMenuItemComponent.html +1 -1
- package/docs/components/EuiNotificationItemComponent.html +1 -1
- package/docs/components/EuiNotificationItemV2Component.html +1 -1
- package/docs/components/EuiNotificationsComponent.html +1 -1
- package/docs/components/EuiNotificationsV2Component.html +1 -1
- package/docs/components/EuiOverlayHeaderTitleComponent.html +1 -1
- package/docs/components/EuiPageColumnComponent.html +1 -1
- package/docs/components/EuiPageHeaderComponent.html +1 -1
- package/docs/components/EuiPaginatorComponent.html +1 -1
- package/docs/components/EuiPopoverComponent.html +1 -1
- package/docs/components/EuiSearchComponent.html +1 -1
- package/docs/components/EuiTableFilterComponent.html +1 -1
- package/docs/components/EuiTableSortableColComponent.html +1 -1
- package/docs/components/EuiTableV2FilterComponent.html +1 -1
- package/docs/components/EuiTableV2SortableColComponent.html +1 -1
- package/docs/components/EuiTabsComponent.html +1 -1
- package/docs/components/EuiTimebarComponent.html +1 -1
- package/docs/components/EuiTimepickerComponent.html +1 -1
- package/docs/components/EuiToolbarMenuComponent.html +1 -1
- package/docs/components/EuiToolbarNavbarComponent.html +1 -1
- package/docs/components/EuiTreeComponent.html +3 -3
- package/docs/components/EuiTreeListToolbarComponent.html +1 -1
- package/docs/components/EuiUserProfileCardComponent.html +1 -1
- package/docs/components/EuiUserProfileComponent.html +1 -1
- package/docs/components/EuiWizardComponent.html +1 -1
- package/docs/dependencies.html +1 -1
- package/docs/js/menu-wc.js +3 -3
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-menu-content.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header.component.mjs +3 -3
- package/esm2022/eui-card/eui-card.component.mjs +2 -2
- package/esm2022/eui-chip-list/eui-chip-list.component.mjs +3 -3
- package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +3 -3
- package/esm2022/eui-dialog/eui-dialog.component.mjs +2 -2
- package/esm2022/eui-discussion-thread/eui-discussion-thread-item.component.mjs +3 -3
- package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +3 -3
- package/esm2022/eui-file-upload/file-preview/file-preview.component.mjs +3 -3
- package/esm2022/eui-growl/eui-growl.component.mjs +3 -3
- package/esm2022/eui-icon/eui-icon-button-expander/eui-icon-button-expander.component.mjs +3 -3
- package/esm2022/eui-icon/eui-icon-svg.component.mjs +2 -2
- package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +3 -3
- package/esm2022/eui-list/eui-list.component.mjs +2 -2
- package/esm2022/eui-menu/eui-menu-item.component.mjs +3 -3
- package/esm2022/eui-menu/eui-menu.component.mjs +3 -3
- package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-column/eui-page-column.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-header/eui-page-header.component.mjs +3 -3
- package/esm2022/eui-paginator/eui-paginator.component.mjs +3 -3
- package/esm2022/eui-popover/eui-popover.component.mjs +3 -3
- package/esm2022/eui-table/filter/eui-table-filter.component.mjs +3 -3
- package/esm2022/eui-table/sortable-col/eui-table-sortable-col.component.mjs +3 -3
- package/esm2022/eui-table-v2/filter/eui-table-v2-filter.component.mjs +3 -3
- package/esm2022/eui-table-v2/sortable-col/eui-table-v2-sortable-col.component.mjs +3 -3
- package/esm2022/eui-tabs/eui-tabs.component.mjs +3 -3
- package/esm2022/eui-timebar/eui-timebar.component.mjs +3 -3
- package/esm2022/eui-timepicker/eui-timepicker.component.mjs +3 -3
- package/esm2022/eui-tree/eui-tree.component.mjs +5 -5
- package/esm2022/eui-tree-list/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/eui-user-profile/user-profile-card/user-profile-card.component.mjs +3 -3
- package/esm2022/eui-user-profile/user-profile.component.mjs +3 -3
- package/esm2022/eui-wizard/eui-wizard.component.mjs +3 -3
- package/esm2022/externals/eui-editor/eui-editor.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +3 -3
- package/esm2022/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.mjs +3 -3
- package/esm2022/layout/eui-breadcrumb/item/breadcrumb-item.component.mjs +3 -3
- package/esm2022/layout/eui-notifications/eui-notification-item.component.mjs +3 -3
- package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +3 -3
- package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +3 -3
- package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +3 -3
- package/esm2022/layout/eui-search/search.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.mjs +3 -3
- package/eui-list/eui-list-item/eui-list-item.component.d.ts +1 -1
- package/eui-tree/eui-tree.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-card.mjs +6 -6
- package/fesm2022/eui-components-eui-card.mjs.map +2 -2
- package/fesm2022/eui-components-eui-chip-list.mjs +4 -4
- package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dialog.mjs +18 -18
- package/fesm2022/eui-components-eui-dialog.mjs.map +2 -2
- package/fesm2022/eui-components-eui-discussion-thread.mjs +8 -8
- package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dropdown.mjs +2 -2
- package/fesm2022/eui-components-eui-dropdown.mjs.map +2 -2
- package/fesm2022/eui-components-eui-file-upload.mjs +2 -2
- package/fesm2022/eui-components-eui-file-upload.mjs.map +2 -2
- package/fesm2022/eui-components-eui-growl.mjs +2 -2
- package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon.mjs +10 -10
- package/fesm2022/eui-components-eui-icon.mjs.map +2 -2
- package/fesm2022/eui-components-eui-list.mjs +4 -4
- package/fesm2022/eui-components-eui-list.mjs.map +2 -2
- package/fesm2022/eui-components-eui-menu.mjs +18 -18
- package/fesm2022/eui-components-eui-menu.mjs.map +2 -2
- package/fesm2022/eui-components-eui-overlay.mjs +2 -2
- package/fesm2022/eui-components-eui-overlay.mjs.map +2 -2
- package/fesm2022/eui-components-eui-page.mjs +4 -4
- package/fesm2022/eui-components-eui-page.mjs.map +2 -2
- package/fesm2022/eui-components-eui-paginator.mjs +8 -8
- package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
- package/fesm2022/eui-components-eui-popover.mjs +2 -2
- package/fesm2022/eui-components-eui-popover.mjs.map +2 -2
- package/fesm2022/eui-components-eui-table-v2.mjs +8 -8
- package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table.mjs +14 -14
- package/fesm2022/eui-components-eui-table.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tabs.mjs +2 -2
- package/fesm2022/eui-components-eui-tabs.mjs.map +2 -2
- package/fesm2022/eui-components-eui-timebar.mjs +6 -6
- package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timepicker.mjs +12 -12
- package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree-list.mjs +6 -6
- package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree.mjs +6 -6
- package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
- package/fesm2022/eui-components-eui-user-profile.mjs +4 -4
- package/fesm2022/eui-components-eui-user-profile.mjs.map +2 -2
- package/fesm2022/eui-components-eui-wizard.mjs +2 -2
- package/fesm2022/eui-components-eui-wizard.mjs.map +2 -2
- package/fesm2022/eui-components-externals-eui-editor.mjs +8 -8
- package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +36 -36
- package/fesm2022/eui-components-layout.mjs.map +2 -2
- package/package.json +21 -21
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../eui-tabs/eui-tab-content/eui-tab-content.component.ts", "../../eui-tabs/eui-tab-label/eui-tab-label.component.ts", "../../eui-tabs/eui-tab/eui-tab.component.ts", "../../eui-tabs/eui-tab/eui-tab.component.html", "../../eui-tabs/eui-tabs.component.ts", "../../eui-tabs/eui-tabs.component.html", "../../eui-tabs/eui-tabs.module.ts"],
|
4
|
-
"sourcesContent": ["import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'eui-tab-content, euiTabContent',\n template: ` <ng-template #euiTabContent>\n <div tabindex=\"0\" class=\"eui-tab-content\" [class.eui-tab-content--no-padding]=\"this.hasNoContentPadding\">\n <ng-content></ng-content>\n </div>\n </ng-template>`,\n})\nexport class EuiTabContentComponent implements AfterViewInit {\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 @ViewChild('euiTabContent') templateRef: TemplateRef<any>;\n\n public templatePortal: TemplatePortal;\n\n @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n", "import { Component, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, Directive } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'eui-tab-label, euiTabLabel',\n template: `\n <ng-template #euiTabLabel>\n <div class=\"eui-u-flex eui-u-flex-column\">\n <div class=\"eui-u-flex eui-u-flex-row eui-u-flex-justify-content-center\">\n <ng-content></ng-content>\n </div>\n <div class=\"eui-tab-item__sublabel\"><ng-content select=\"euiTabSubLabel\"></ng-content></div>\n </div>\n </ng-template>`,\n})\nexport class EuiTabLabelComponent implements AfterViewInit {\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 @ViewChild('euiTabLabel') templateRef: TemplateRef<any>;\n\n public templatePortal: TemplatePortal | null;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'euiTabSubLabel' })\nexport class EuiTabSubLabelDirective {}\n", "import { Component, ContentChild, Input, booleanAttribute } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTabContentComponent } from '../eui-tab-content/eui-tab-content.component';\nimport { EuiTabLabelComponent } from '../eui-tab-label/eui-tab-label.component';\n\n@Component({\n selector: 'eui-tab',\n templateUrl: './eui-tab.component.html',\n styleUrls: ['../styles/_index.scss'],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiDisabled',\n 'euiPrimary',\n 'euiSecondary',\n 'euiInfo',\n 'euiSuccess',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiTabComponent {\n @Input() url: string;\n @Input() e2eAttr = 'eui-tab';\n @Input() tooltip: string;\n @Input({ transform: booleanAttribute }) isClosable = false;\n @Input({ transform: booleanAttribute }) isVisible = true;\n @Input({ transform: booleanAttribute }) isActive = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) hasBackgroundFilled = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n\n @ContentChild(EuiTabLabelComponent)\n get templateLabel(): EuiTabLabelComponent {\n return this._templateLabel;\n }\n set templateLabel(value: EuiTabLabelComponent) {\n this.setTemplateLabelInput(value);\n }\n protected _templateLabel: EuiTabLabelComponent;\n\n @ContentChild(EuiTabContentComponent)\n get templateContent(): EuiTabContentComponent {\n return this._templateContent;\n }\n set templateContent(value: EuiTabContentComponent) {\n this.setTemplateContentInput(value);\n }\n protected _templateContent: EuiTabContentComponent;\n\n constructor(public baseStatesDirective: BaseStatesDirective) {\n }\n\n protected setTemplateLabelInput(value: EuiTabLabelComponent): void {\n if (value) {\n this._templateLabel = value;\n }\n }\n\n protected setTemplateContentInput(value: EuiTabContentComponent): void {\n if (value) {\n this._templateContent = value;\n }\n }\n}\n", "<ng-content></ng-content>\n", "import {\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n HostListener,\n ViewEncapsulation,\n forwardRef,\n OnChanges,\n AfterViewInit,\n ViewChildren,\n ViewContainerRef,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n SimpleChanges,\n HostBinding,\n booleanAttribute,\n} from '@angular/core';\nimport { animate, AnimationBuilder, AnimationFactory, AnimationPlayer, style } from '@angular/animations';\nimport { Subject, Subscription, filter, startWith, takeUntil } from 'rxjs';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\n\n@Component({\n selector: 'eui-tabs',\n templateUrl: './eui-tabs.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTabsComponent implements OnDestroy, AfterViewInit, OnChanges {\n @HostBinding('class')\n get elementClass(): string {\n return [\n 'eui-tabs',\n this.isMainNavigation ? 'eui-tabs--main-navigation': '',\n this.isVerticalTabs ? 'eui-tabs--vertical': '',\n ].join(' ').trim();\n }\n @Input() tabs: EuiTabComponent[] = [];\n @Input() activeTabIndex = null;\n @HostBinding('attr.data-e2e')\n @Input() e2eAttr = 'eui-tabs';\n @Input() pathMatch: 'prefix' | 'full' = 'prefix';\n\n @Output() tabClose = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n @Output() tabSelect = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n\n @ContentChildren(forwardRef(() => EuiTabComponent), { descendants: false }) _tabs: QueryList<EuiTabComponent>;\n @ViewChildren('euiTabLabelItem', { read: ViewContainerRef }) euiTabLabelItems: QueryList<ViewContainerRef>;\n @ViewChild('euiTabsItems') euiTabsItems: ElementRef;\n @ViewChild('euiTabsItemsWrapper') euiTabsItemsWrapper: ElementRef;\n\n public scrolling = false;\n public navigationLeftButtonDisabled = true;\n public navigationRightButtonDisabled = false;\n public currentOffset = 0;\n\n @Input({ transform: booleanAttribute }) isMainNavigation = false;\n @Input({ transform: booleanAttribute }) isHandleChangeTab = false;\n @Input({ transform: booleanAttribute }) isSubTabs = false;\n @Input({ transform: booleanAttribute }) isVerticalTabs = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private routerSubscription: Subscription;\n private player: AnimationPlayer;\n private observer: ResizeObserver;\n private stepMove = 400;\n private scrollOffset = 32;\n /**\n * For race condition reason, the wrapper width is not correctly calculated when the component passes from no-scroll state to scroll\n * state. To fix this issue, we count the number of times the getScrollingStatus method is called.\n *\n * Scenario 1: The number of tabs does not require any scroll:\n * - Without any fix the scroll will have a delta of 64 at the first activation, then on the first no-scroll to scroll state,\n * - we had 64 to the move\n *\n * Scenario 2: The number of tabs requires a scroll:\n * - In this case the wrapper width is correctly calculated, so we don't need to add the delta\n */\n private scrollingCount = 0;\n\n constructor(\n private cd: ChangeDetectorRef,\n private router: Router,\n private builder: AnimationBuilder,\n private elementRef: ElementRef,\n ) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c.activeTabIndex) {\n setTimeout(\n () => {\n const activeTab = this.euiTabsItemsWrapper.nativeElement.children.item(c.activeTabIndex.currentValue);\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab)) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= c.activeTabIndex.currentValue; i++) {\n subsetWidth += this.euiTabsItemsWrapper.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = containerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth + this.scrollOffset) {\n scrollTo = -(wrapperWidth - containerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n if (c.activeTabIndex.isFirstChange() && c.activeTabIndex.currentValue > 0) {\n this.setScrollTo(scrollTo, false);\n } else {\n this.setScrollTo(scrollTo);\n }\n }\n },\n c.activeTabIndex.isFirstChange() && c.activeTabIndex.currentValue > 0 ? 500 : 0,\n );\n }\n }\n\n ngAfterViewInit(): void {\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 this.observer = new (window as any).ResizeObserver(() => {\n this.getScrollingStatus();\n this.cd.detectChanges();\n });\n\n this.observer.observe(this.elementRef.nativeElement);\n\n this._tabs.changes.pipe(startWith(true), takeUntil(this.destroy$)).subscribe(() => {\n this.tabs = this._tabs.toArray();\n\n if (this.routerSubscription) {\n this.routerSubscription.unsubscribe();\n }\n\n // TODO v18 check navigationEnd (deprecation)\n this.routerSubscription = this.router.events\n .pipe(\n filter((e) => e instanceof NavigationEnd),\n takeUntil(this.destroy$),\n startWith({ url: this.router.url }),\n )\n .subscribe((e: NavigationEnd) => {\n const tabsWithUrl = this.tabs.filter((t) => t.url !== null);\n if (tabsWithUrl.length === this.tabs.length) {\n let tabIndex = -1;\n if (this.pathMatch === 'full') {\n tabIndex = tabsWithUrl.findIndex((t) => e.url === t.url);\n } else {\n tabIndex = tabsWithUrl.findIndex((t) => {\n const regex = new RegExp(t.url + '(/?)');\n return regex.test(e.url);\n });\n }\n\n this.tabs = this.tabs.map((t, i) =>\n tabIndex === i ? Object.assign(t, { isActive: true }) : Object.assign(t, { isActive: false }),\n );\n\n if (this.tabs.findIndex((t) => t.isActive) !== -1) {\n this.activeTabIndex = this.tabs.findIndex((t) => t.isActive);\n }\n\n this.cd.detectChanges();\n }\n });\n\n if (!this.activeTabIndex) {\n this.activeTabIndex = this.tabs.findIndex((t) => t.isActive) !== -1 ? this.tabs.findIndex((t) => t.isActive) : 0;\n }\n\n this.cd.detectChanges();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.observer?.unobserve(this.elementRef.nativeElement);\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(): void {\n this.getScrollingStatus();\n }\n\n public onContentChanges(): void {\n this.getScrollingStatus();\n }\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 public goToRight(): void {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n let scrollTo = this.currentOffset - this.stepMove;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth) {\n scrollTo = -(wrapperWidth - containerWidth) - this.scrollOffset;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n public changeTab(index: number): void {\n if (this.isHandleChangeTab) {\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n if (this.tabs[index] && !this.tabs[index].isDisabled) {\n if (this.tabs[this.activeTabIndex]) {\n this.tabs[this.activeTabIndex].isActive = false;\n }\n this.tabs[index].isActive = true;\n\n const activeTab = this.euiTabsItemsWrapper.nativeElement.children.item(index);\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isVerticalTabs) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= index; i++) {\n subsetWidth += this.euiTabsItemsWrapper.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = containerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth + this.scrollOffset) {\n scrollTo = -(wrapperWidth - containerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n if (!this.tabs[index].url) {\n this.activeTabIndex = index;\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n this.activeTabIndex = index;\n this.router.navigateByUrl(this.tabs[index].url);\n }\n }\n }\n }\n\n public onKeyUp(e: KeyboardEvent, index: number): void {\n if (e.code === 'Enter' || e.code === 'Space') {\n if (this.tabs[index] && !this.tabs[index].isDisabled) {\n this.tabs.map((t, i) => (i === index ? Object.assign(t, { isActive: true }) : Object.assign(t, { isActive: false })));\n\n if (!this.tabs[index].url) {\n this.activeTabIndex = index;\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n this.activeTabIndex = index;\n this.router.navigateByUrl(this.tabs[index].url);\n }\n }\n }\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public closeTab(index: number, e: any): void {\n const tab = this.tabs[index];\n if (!this.tabs[index].isHandleCloseOnClose) {\n this.close(e.index);\n this.tabs = this.tabs.filter((t, i) => i !== index);\n }\n\n this.tabClose.emit({ tab, index });\n e.stopPropagation();\n }\n\n /**\n * Close a tab pass in parameter.\n *\n * @usageNotes\n * ```html\n * <eui-tabs #tabs>\n * <eui-tab isClosable isHandleCloseOnClose>\n * <eui-tab-label>Tab label</eui-tab-label>\n * <eui-tab-content>Tab content</eui-tab-content>\n * </eui-tab>\n * </eui-tabs>\n * ```\n * ...\n * ```typescript\n * this.tabs.close(1);\n * ```\n * @param index Index of the tab to close\n */\n public close(index: number): void {\n if (index === this.activeTabIndex) {\n const previousVisibleIndex = this.tabs.indexOf(this.tabs[index - 1]);\n\n if (previousVisibleIndex < 0) {\n this.changeTab(0);\n } else {\n this.changeTab(previousVisibleIndex);\n }\n } else {\n if (index < this.activeTabIndex) {\n this.activeTabIndex = this.activeTabIndex - 1;\n }\n }\n\n this.tabs = this.tabs.filter((t, i) => i !== index);\n }\n\n private isActiveTabFullyVisible(activeTab: HTMLDivElement): boolean {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n return activeTab.offsetLeft - 48 >= 0 && activeTab.offsetLeft + activeTab.clientWidth < containerWidth - 48;\n }\n\n private setScrollTo(scrollTo: number, isAnimated = true): void {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\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.euiTabsItemsWrapper.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) < wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n if (Math.abs(scrollTo) === wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = true;\n }\n\n this.cd.detectChanges();\n }\n\n private getScrollingStatus(): void {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n this.scrolling = containerWidth < wrapperWidth;\n\n if (!this.scrolling) {\n this.scrollingCount = 0;\n this.setScrollTo(0);\n } else {\n if (wrapperWidth - containerWidth <= Math.abs(this.currentOffset) + this.scrollOffset) {\n const deltaFix = this.scrollingCount === 0 ? this.scrollOffset * 2 : 0;\n const scrollTo = -(wrapperWidth - containerWidth) - this.scrollOffset - deltaFix;\n\n this.setScrollTo(scrollTo);\n\n this.currentOffset = scrollTo;\n } else {\n if (Math.abs(this.currentOffset) < wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n }\n\n this.scrollingCount++;\n }\n\n this.cd.detectChanges();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'euiTabsRightContent' })\nexport class EuiTabsRightContentTagDirective {\n @HostBinding('class') elementClass = 'eui-tabs__right-content-wrapper';\n}\n/* eslint-enable */\n", "<div class=\"eui-u-flex\" [class.eui-tabs__wrapper--horizontal]=\"!isVerticalTabs\" [class.eui-tabs__wrapper--vertical]=\"isVerticalTabs\">\n <div\n #euiTabsItems\n class=\"eui-tabs__items\"\n [class.eui-tabs__items--horizontal]=\"!isVerticalTabs\"\n [class.eui-tabs__items--scrolling]=\"scrolling\"\n (cdkObserveContent)=\"onContentChanges()\">\n <div #euiTabsItemsWrapper class=\"eui-tabs__items-wrapper\" [attr.data-offset]=\"currentOffset\" role=\"tablist\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible) {\n <div\n tabindex=\"0\"\n role=\"tab\"\n class=\"eui-tab-item eui-tab-item--{{ tab.baseStatesDirective.euiVariant }}\"\n [class.eui-tab-item--closable]=\"tab.isClosable\"\n [class.eui-tab-item--active]=\"activeTabIndex === i\"\n [class.eui-tab-item--disabled]=\"tab.isDisabled\"\n [class.eui-tab-item--background-filled]=\"tab.hasBackgroundFilled\"\n [attr.aria-disabled]=\"tab.isDisabled\"\n (click)=\"changeTab(i)\"\n [euiTooltip]=\"tab.tooltip\"\n (keyup)=\"onKeyUp($event, i)\">\n <div class=\"eui-tab-item__label\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel.templatePortal\"></ng-template>\n </div>\n @if (tab.isClosable) {\n <button\n (click)=\"closeTab(i, $event)\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeXS\n type=\"button\"\n aria-label=\"Close tab button\"\n class=\"eui-u-ml-s\">\n <eui-icon-svg\n icon=\"eui-ecl-close-outline\"\n size=\"l\"\n fillColor=\"neutral-light\"\n class=\"eui-tab__close-icon\"\n aria-label=\"Close icon\">\n </eui-icon-svg>\n </button>\n }\n </div>\n }\n }\n </div>\n\n <div class=\"eui-tabs__navigation\">\n <div class=\"eui-tabs__navigation__left-item\">\n <button\n (click)=\"goToLeft()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n aria-label=\"Scroll left\">\n <eui-icon-svg icon=\"eui-chevron-back\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-tabs__navigation__right-item\">\n <button\n (click)=\"goToRight()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n aria-label=\"Scroll right\">\n <eui-icon-svg icon=\"eui-chevron-forward\"></eui-icon-svg>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"eui-tabs__right-content\">\n <ng-content select=\"euiTabsRightContent\"></ng-content>\n </div>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && tab.templateContent) {\n <div class=\"eui-tab-content-wrapper\" tabindex=\"0\">\n <ng-template [cdkPortalOutlet]=\"tab.templateContent.templatePortal\"></ng-template>\n </div>\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\n\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\nimport { EuiTabsComponent, EuiTabsRightContentTagDirective } from './eui-tabs.component';\nimport { EuiTabLabelComponent, EuiTabSubLabelDirective } from './eui-tab-label/eui-tab-label.component';\nimport { EuiTabContentComponent } from './eui-tab-content/eui-tab-content.component';\n\n@NgModule({\n imports: [CommonModule, PortalModule, EuiIconModule, EuiButtonModule, EuiTooltipDirectiveModule, ObserversModule],\n exports: [\n EuiTabsComponent,\n EuiTabComponent,\n EuiTabsRightContentTagDirective,\n EuiTabLabelComponent,\n EuiTabSubLabelDirective,\n EuiTabContentComponent,\n ],\n declarations: [\n EuiTabsComponent,\n EuiTabComponent,\n EuiTabsRightContentTagDirective,\n EuiTabLabelComponent,\n EuiTabSubLabelDirective,\n EuiTabContentComponent,\n ],\n})\nexport class EuiTabsModule {}\n"],
|
5
|
-
"mappings": "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",
|
4
|
+
"sourcesContent": ["import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'eui-tab-content, euiTabContent',\n template: ` <ng-template #euiTabContent>\n <div tabindex=\"0\" class=\"eui-tab-content\" [class.eui-tab-content--no-padding]=\"this.hasNoContentPadding\">\n <ng-content></ng-content>\n </div>\n </ng-template>`,\n})\nexport class EuiTabContentComponent implements AfterViewInit {\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 @ViewChild('euiTabContent') templateRef: TemplateRef<any>;\n\n public templatePortal: TemplatePortal;\n\n @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n", "import { Component, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, Directive } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'eui-tab-label, euiTabLabel',\n template: `\n <ng-template #euiTabLabel>\n <div class=\"eui-u-flex eui-u-flex-column\">\n <div class=\"eui-u-flex eui-u-flex-row eui-u-flex-justify-content-center\">\n <ng-content></ng-content>\n </div>\n <div class=\"eui-tab-item__sublabel\"><ng-content select=\"euiTabSubLabel\"></ng-content></div>\n </div>\n </ng-template>`,\n})\nexport class EuiTabLabelComponent implements AfterViewInit {\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 @ViewChild('euiTabLabel') templateRef: TemplateRef<any>;\n\n public templatePortal: TemplatePortal | null;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'euiTabSubLabel' })\nexport class EuiTabSubLabelDirective {}\n", "import { Component, ContentChild, Input, booleanAttribute } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTabContentComponent } from '../eui-tab-content/eui-tab-content.component';\nimport { EuiTabLabelComponent } from '../eui-tab-label/eui-tab-label.component';\n\n@Component({\n selector: 'eui-tab',\n templateUrl: './eui-tab.component.html',\n styleUrls: ['../styles/_index.scss'],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiDisabled',\n 'euiPrimary',\n 'euiSecondary',\n 'euiInfo',\n 'euiSuccess',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiTabComponent {\n @Input() url: string;\n @Input() e2eAttr = 'eui-tab';\n @Input() tooltip: string;\n @Input({ transform: booleanAttribute }) isClosable = false;\n @Input({ transform: booleanAttribute }) isVisible = true;\n @Input({ transform: booleanAttribute }) isActive = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) hasBackgroundFilled = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n\n @ContentChild(EuiTabLabelComponent)\n get templateLabel(): EuiTabLabelComponent {\n return this._templateLabel;\n }\n set templateLabel(value: EuiTabLabelComponent) {\n this.setTemplateLabelInput(value);\n }\n protected _templateLabel: EuiTabLabelComponent;\n\n @ContentChild(EuiTabContentComponent)\n get templateContent(): EuiTabContentComponent {\n return this._templateContent;\n }\n set templateContent(value: EuiTabContentComponent) {\n this.setTemplateContentInput(value);\n }\n protected _templateContent: EuiTabContentComponent;\n\n constructor(public baseStatesDirective: BaseStatesDirective) {\n }\n\n protected setTemplateLabelInput(value: EuiTabLabelComponent): void {\n if (value) {\n this._templateLabel = value;\n }\n }\n\n protected setTemplateContentInput(value: EuiTabContentComponent): void {\n if (value) {\n this._templateContent = value;\n }\n }\n}\n", "<ng-content></ng-content>\n", "import {\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n HostListener,\n ViewEncapsulation,\n forwardRef,\n OnChanges,\n AfterViewInit,\n ViewChildren,\n ViewContainerRef,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n SimpleChanges,\n HostBinding,\n booleanAttribute,\n} from '@angular/core';\nimport { animate, AnimationBuilder, AnimationFactory, AnimationPlayer, style } from '@angular/animations';\nimport { Subject, Subscription, filter, startWith, takeUntil } from 'rxjs';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\n\n@Component({\n selector: 'eui-tabs',\n templateUrl: './eui-tabs.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTabsComponent implements OnDestroy, AfterViewInit, OnChanges {\n @HostBinding('class')\n get elementClass(): string {\n return [\n 'eui-tabs',\n this.isMainNavigation ? 'eui-tabs--main-navigation': '',\n this.isVerticalTabs ? 'eui-tabs--vertical': '',\n ].join(' ').trim();\n }\n @Input() tabs: EuiTabComponent[] = [];\n @Input() activeTabIndex = null;\n @HostBinding('attr.data-e2e')\n @Input() e2eAttr = 'eui-tabs';\n @Input() pathMatch: 'prefix' | 'full' = 'prefix';\n\n @Output() tabClose = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n @Output() tabSelect = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n\n @ContentChildren(forwardRef(() => EuiTabComponent), { descendants: false }) _tabs: QueryList<EuiTabComponent>;\n @ViewChildren('euiTabLabelItem', { read: ViewContainerRef }) euiTabLabelItems: QueryList<ViewContainerRef>;\n @ViewChild('euiTabsItems') euiTabsItems: ElementRef;\n @ViewChild('euiTabsItemsWrapper') euiTabsItemsWrapper: ElementRef;\n\n public scrolling = false;\n public navigationLeftButtonDisabled = true;\n public navigationRightButtonDisabled = false;\n public currentOffset = 0;\n\n @Input({ transform: booleanAttribute }) isMainNavigation = false;\n @Input({ transform: booleanAttribute }) isHandleChangeTab = false;\n @Input({ transform: booleanAttribute }) isSubTabs = false;\n @Input({ transform: booleanAttribute }) isVerticalTabs = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private routerSubscription: Subscription;\n private player: AnimationPlayer;\n private observer: ResizeObserver;\n private stepMove = 400;\n private scrollOffset = 32;\n /**\n * For race condition reason, the wrapper width is not correctly calculated when the component passes from no-scroll state to scroll\n * state. To fix this issue, we count the number of times the getScrollingStatus method is called.\n *\n * Scenario 1: The number of tabs does not require any scroll:\n * - Without any fix the scroll will have a delta of 64 at the first activation, then on the first no-scroll to scroll state,\n * - we had 64 to the move\n *\n * Scenario 2: The number of tabs requires a scroll:\n * - In this case the wrapper width is correctly calculated, so we don't need to add the delta\n */\n private scrollingCount = 0;\n\n constructor(\n private cd: ChangeDetectorRef,\n private router: Router,\n private builder: AnimationBuilder,\n private elementRef: ElementRef,\n ) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c.activeTabIndex) {\n setTimeout(\n () => {\n const activeTab = this.euiTabsItemsWrapper.nativeElement.children.item(c.activeTabIndex.currentValue);\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab)) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= c.activeTabIndex.currentValue; i++) {\n subsetWidth += this.euiTabsItemsWrapper.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = containerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth + this.scrollOffset) {\n scrollTo = -(wrapperWidth - containerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n if (c.activeTabIndex.isFirstChange() && c.activeTabIndex.currentValue > 0) {\n this.setScrollTo(scrollTo, false);\n } else {\n this.setScrollTo(scrollTo);\n }\n }\n },\n c.activeTabIndex.isFirstChange() && c.activeTabIndex.currentValue > 0 ? 500 : 0,\n );\n }\n }\n\n ngAfterViewInit(): void {\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 this.observer = new (window as any).ResizeObserver(() => {\n this.getScrollingStatus();\n this.cd.detectChanges();\n });\n\n this.observer.observe(this.elementRef.nativeElement);\n\n this._tabs.changes.pipe(startWith(true), takeUntil(this.destroy$)).subscribe(() => {\n this.tabs = this._tabs.toArray();\n\n if (this.routerSubscription) {\n this.routerSubscription.unsubscribe();\n }\n\n // TODO v18 check navigationEnd (deprecation)\n this.routerSubscription = this.router.events\n .pipe(\n filter((e) => e instanceof NavigationEnd),\n takeUntil(this.destroy$),\n startWith({ url: this.router.url }),\n )\n .subscribe((e: NavigationEnd) => {\n const tabsWithUrl = this.tabs.filter((t) => t.url !== null);\n if (tabsWithUrl.length === this.tabs.length) {\n let tabIndex = -1;\n if (this.pathMatch === 'full') {\n tabIndex = tabsWithUrl.findIndex((t) => e.url === t.url);\n } else {\n tabIndex = tabsWithUrl.findIndex((t) => {\n const regex = new RegExp(t.url + '(/?)');\n return regex.test(e.url);\n });\n }\n\n this.tabs = this.tabs.map((t, i) =>\n tabIndex === i ? Object.assign(t, { isActive: true }) : Object.assign(t, { isActive: false }),\n );\n\n if (this.tabs.findIndex((t) => t.isActive) !== -1) {\n this.activeTabIndex = this.tabs.findIndex((t) => t.isActive);\n }\n\n this.cd.detectChanges();\n }\n });\n\n if (!this.activeTabIndex) {\n this.activeTabIndex = this.tabs.findIndex((t) => t.isActive) !== -1 ? this.tabs.findIndex((t) => t.isActive) : 0;\n }\n\n this.cd.detectChanges();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.observer?.unobserve(this.elementRef.nativeElement);\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(): void {\n this.getScrollingStatus();\n }\n\n public onContentChanges(): void {\n this.getScrollingStatus();\n }\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 public goToRight(): void {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n let scrollTo = this.currentOffset - this.stepMove;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth) {\n scrollTo = -(wrapperWidth - containerWidth) - this.scrollOffset;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n public changeTab(index: number): void {\n if (this.isHandleChangeTab) {\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n if (this.tabs[index] && !this.tabs[index].isDisabled) {\n if (this.tabs[this.activeTabIndex]) {\n this.tabs[this.activeTabIndex].isActive = false;\n }\n this.tabs[index].isActive = true;\n\n const activeTab = this.euiTabsItemsWrapper.nativeElement.children.item(index);\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isVerticalTabs) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= index; i++) {\n subsetWidth += this.euiTabsItemsWrapper.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = containerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth + this.scrollOffset) {\n scrollTo = -(wrapperWidth - containerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n if (!this.tabs[index].url) {\n this.activeTabIndex = index;\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n this.activeTabIndex = index;\n this.router.navigateByUrl(this.tabs[index].url);\n }\n }\n }\n }\n\n public onKeyUp(e: KeyboardEvent, index: number): void {\n if (e.code === 'Enter' || e.code === 'Space') {\n if (this.tabs[index] && !this.tabs[index].isDisabled) {\n this.tabs.map((t, i) => (i === index ? Object.assign(t, { isActive: true }) : Object.assign(t, { isActive: false })));\n\n if (!this.tabs[index].url) {\n this.activeTabIndex = index;\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n this.activeTabIndex = index;\n this.router.navigateByUrl(this.tabs[index].url);\n }\n }\n }\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public closeTab(index: number, e: any): void {\n const tab = this.tabs[index];\n if (!this.tabs[index].isHandleCloseOnClose) {\n this.close(e.index);\n this.tabs = this.tabs.filter((t, i) => i !== index);\n }\n\n this.tabClose.emit({ tab, index });\n e.stopPropagation();\n }\n\n /**\n * Close a tab pass in parameter.\n *\n * @usageNotes\n * ```html\n * <eui-tabs #tabs>\n * <eui-tab isClosable isHandleCloseOnClose>\n * <eui-tab-label>Tab label</eui-tab-label>\n * <eui-tab-content>Tab content</eui-tab-content>\n * </eui-tab>\n * </eui-tabs>\n * ```\n * ...\n * ```typescript\n * this.tabs.close(1);\n * ```\n * @param index Index of the tab to close\n */\n public close(index: number): void {\n if (index === this.activeTabIndex) {\n const previousVisibleIndex = this.tabs.indexOf(this.tabs[index - 1]);\n\n if (previousVisibleIndex < 0) {\n this.changeTab(0);\n } else {\n this.changeTab(previousVisibleIndex);\n }\n } else {\n if (index < this.activeTabIndex) {\n this.activeTabIndex = this.activeTabIndex - 1;\n }\n }\n\n this.tabs = this.tabs.filter((t, i) => i !== index);\n }\n\n private isActiveTabFullyVisible(activeTab: HTMLDivElement): boolean {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n return activeTab.offsetLeft - 48 >= 0 && activeTab.offsetLeft + activeTab.clientWidth < containerWidth - 48;\n }\n\n private setScrollTo(scrollTo: number, isAnimated = true): void {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\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.euiTabsItemsWrapper.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) < wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n if (Math.abs(scrollTo) === wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = true;\n }\n\n this.cd.detectChanges();\n }\n\n private getScrollingStatus(): void {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n this.scrolling = containerWidth < wrapperWidth;\n\n if (!this.scrolling) {\n this.scrollingCount = 0;\n this.setScrollTo(0);\n } else {\n if (wrapperWidth - containerWidth <= Math.abs(this.currentOffset) + this.scrollOffset) {\n const deltaFix = this.scrollingCount === 0 ? this.scrollOffset * 2 : 0;\n const scrollTo = -(wrapperWidth - containerWidth) - this.scrollOffset - deltaFix;\n\n this.setScrollTo(scrollTo);\n\n this.currentOffset = scrollTo;\n } else {\n if (Math.abs(this.currentOffset) < wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n }\n\n this.scrollingCount++;\n }\n\n this.cd.detectChanges();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'euiTabsRightContent' })\nexport class EuiTabsRightContentTagDirective {\n @HostBinding('class') elementClass = 'eui-tabs__right-content-wrapper';\n}\n/* eslint-enable */\n", "<div class=\"eui-u-flex\" [class.eui-tabs__wrapper--horizontal]=\"!isVerticalTabs\" [class.eui-tabs__wrapper--vertical]=\"isVerticalTabs\">\n <div\n #euiTabsItems\n class=\"eui-tabs__items\"\n [class.eui-tabs__items--horizontal]=\"!isVerticalTabs\"\n [class.eui-tabs__items--scrolling]=\"scrolling\"\n (cdkObserveContent)=\"onContentChanges()\">\n <div #euiTabsItemsWrapper class=\"eui-tabs__items-wrapper\" [attr.data-offset]=\"currentOffset\" role=\"tablist\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible) {\n <div\n tabindex=\"0\"\n role=\"tab\"\n class=\"eui-tab-item eui-tab-item--{{ tab.baseStatesDirective.euiVariant }}\"\n [class.eui-tab-item--closable]=\"tab.isClosable\"\n [class.eui-tab-item--active]=\"activeTabIndex === i\"\n [class.eui-tab-item--disabled]=\"tab.isDisabled\"\n [class.eui-tab-item--background-filled]=\"tab.hasBackgroundFilled\"\n [attr.aria-disabled]=\"tab.isDisabled\"\n (click)=\"changeTab(i)\"\n [euiTooltip]=\"tab.tooltip\"\n (keyup)=\"onKeyUp($event, i)\">\n <div class=\"eui-tab-item__label\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel.templatePortal\"></ng-template>\n </div>\n @if (tab.isClosable) {\n <button\n (click)=\"closeTab(i, $event)\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeXS\n type=\"button\"\n aria-label=\"Close tab button\"\n class=\"eui-u-ml-s\">\n <eui-icon-svg\n icon=\"eui-ecl-close-outline\"\n size=\"l\"\n fillColor=\"neutral-light\"\n class=\"eui-tab__close-icon\"\n aria-label=\"Close icon\">\n </eui-icon-svg>\n </button>\n }\n </div>\n }\n }\n </div>\n\n <div class=\"eui-tabs__navigation\">\n <div class=\"eui-tabs__navigation__left-item\">\n <button\n (click)=\"goToLeft()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n aria-label=\"Scroll left\">\n <eui-icon-svg icon=\"chevron-back:sharp\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-tabs__navigation__right-item\">\n <button\n (click)=\"goToRight()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n aria-label=\"Scroll right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\"></eui-icon-svg>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"eui-tabs__right-content\">\n <ng-content select=\"euiTabsRightContent\"></ng-content>\n </div>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && tab.templateContent) {\n <div class=\"eui-tab-content-wrapper\" tabindex=\"0\">\n <ng-template [cdkPortalOutlet]=\"tab.templateContent.templatePortal\"></ng-template>\n </div>\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\n\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\nimport { EuiTabsComponent, EuiTabsRightContentTagDirective } from './eui-tabs.component';\nimport { EuiTabLabelComponent, EuiTabSubLabelDirective } from './eui-tab-label/eui-tab-label.component';\nimport { EuiTabContentComponent } from './eui-tab-content/eui-tab-content.component';\n\n@NgModule({\n imports: [CommonModule, PortalModule, EuiIconModule, EuiButtonModule, EuiTooltipDirectiveModule, ObserversModule],\n exports: [\n EuiTabsComponent,\n EuiTabComponent,\n EuiTabsRightContentTagDirective,\n EuiTabLabelComponent,\n EuiTabSubLabelDirective,\n EuiTabContentComponent,\n ],\n declarations: [\n EuiTabsComponent,\n EuiTabComponent,\n EuiTabsRightContentTagDirective,\n EuiTabLabelComponent,\n EuiTabSubLabelDirective,\n EuiTabContentComponent,\n ],\n})\nexport class EuiTabsModule {}\n"],
|
5
|
+
"mappings": "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",
|
6
6
|
"names": ["Component", "ViewChild", "TemplatePortal", "i0", "Component", "Input", "booleanAttribute", "i0", "Component", "Directive", "Input", "ViewContainerRef", "ViewChild", "booleanAttribute", "i0"]
|
7
7
|
}
|
@@ -327,7 +327,7 @@ var EuiTimebarComponent = class _EuiTimebarComponent {
|
|
327
327
|
<eui-icon-svg icon="location" set="sharp" size="m" fillColor="danger-100"></eui-icon-svg>
|
328
328
|
</div>
|
329
329
|
<div *ngIf="isShowCurrentDateMarker" class="eui-timebar__current-date-marker-step" [style.left.%]="currentPerc">
|
330
|
-
<eui-icon-svg icon="
|
330
|
+
<eui-icon-svg icon="ellipse:sharp" size="s" fillColor="danger-100"></eui-icon-svg>
|
331
331
|
</div>
|
332
332
|
<div
|
333
333
|
*ngIf="markedDate"
|
@@ -337,7 +337,7 @@ var EuiTimebarComponent = class _EuiTimebarComponent {
|
|
337
337
|
<eui-icon-svg icon="location" set="sharp" size="m" fillColor="danger-100"></eui-icon-svg>
|
338
338
|
</div>
|
339
339
|
<div *ngIf="markedDate" class="eui-timebar__current-date-marker-step" [style.left.%]="markedPerc">
|
340
|
-
<eui-icon-svg icon="
|
340
|
+
<eui-icon-svg icon="ellipse:sharp" size="s" fillColor="danger-100"></eui-icon-svg>
|
341
341
|
</div>
|
342
342
|
</div>
|
343
343
|
</div>
|
@@ -352,7 +352,7 @@ var EuiTimebarComponent = class _EuiTimebarComponent {
|
|
352
352
|
<ng-container *ngIf="isShowLegendGenerated">
|
353
353
|
<div class="eui-timebar__legend-item" *ngFor="let item of itemsUI; let i = index; trackBy: trackByFn">
|
354
354
|
<div *ngIf="!isShowLegendAsIndexGenerated" class="eui-timebar__legend-item-icon">
|
355
|
-
<eui-icon-svg icon="
|
355
|
+
<eui-icon-svg icon="ellipse:sharp" size="s" fillColor="{{ item.item.stepType }}"></eui-icon-svg>
|
356
356
|
</div>
|
357
357
|
<div *ngIf="isShowLegendAsIndexGenerated" class="eui-timebar__legend-item-index-wrapper">
|
358
358
|
{{ i + 1 }}
|
@@ -482,7 +482,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
|
|
482
482
|
<eui-icon-svg icon="location" set="sharp" size="m" fillColor="danger-100"></eui-icon-svg>
|
483
483
|
</div>
|
484
484
|
<div *ngIf="isShowCurrentDateMarker" class="eui-timebar__current-date-marker-step" [style.left.%]="currentPerc">
|
485
|
-
<eui-icon-svg icon="
|
485
|
+
<eui-icon-svg icon="ellipse:sharp" size="s" fillColor="danger-100"></eui-icon-svg>
|
486
486
|
</div>
|
487
487
|
<div
|
488
488
|
*ngIf="markedDate"
|
@@ -492,7 +492,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
|
|
492
492
|
<eui-icon-svg icon="location" set="sharp" size="m" fillColor="danger-100"></eui-icon-svg>
|
493
493
|
</div>
|
494
494
|
<div *ngIf="markedDate" class="eui-timebar__current-date-marker-step" [style.left.%]="markedPerc">
|
495
|
-
<eui-icon-svg icon="
|
495
|
+
<eui-icon-svg icon="ellipse:sharp" size="s" fillColor="danger-100"></eui-icon-svg>
|
496
496
|
</div>
|
497
497
|
</div>
|
498
498
|
</div>
|
@@ -507,7 +507,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
|
|
507
507
|
<ng-container *ngIf="isShowLegendGenerated">
|
508
508
|
<div class="eui-timebar__legend-item" *ngFor="let item of itemsUI; let i = index; trackBy: trackByFn">
|
509
509
|
<div *ngIf="!isShowLegendAsIndexGenerated" class="eui-timebar__legend-item-icon">
|
510
|
-
<eui-icon-svg icon="
|
510
|
+
<eui-icon-svg icon="ellipse:sharp" size="s" fillColor="{{ item.item.stepType }}"></eui-icon-svg>
|
511
511
|
</div>
|
512
512
|
<div *ngIf="isShowLegendAsIndexGenerated" class="eui-timebar__legend-item-index-wrapper">
|
513
513
|
{{ i + 1 }}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../eui-timebar/eui-timebar.component.ts", "../../eui-timebar/eui-timebar.component.html", "../../eui-timebar/eui-timebar-item.model.ts"],
|
4
|
-
"sourcesContent": ["import {\n AfterContentInit,\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n NgModule,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChange,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Subscription } from 'rxjs';\n\nimport { EuiAppShellService, formatNumber } from '@eui/core';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiTimebarItem } from './eui-timebar-item.model';\n\nexport class EuiTimebarItemUI {\n perc: number;\n stepTypeClass: string;\n tooltipColor: string;\n isGrouped?: boolean;\n groupIndex?: number;\n groupLabel?: string;\n groupEndDate?: Date;\n item: EuiTimebarItem;\n}\n\n@Component({\n selector: 'eui-timebar',\n templateUrl: './eui-timebar.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTimebarComponent implements OnInit, AfterContentInit, AfterViewChecked, OnChanges, OnDestroy {\n itemsUI: EuiTimebarItemUI[] = [];\n currentDate = new Date();\n currentPerc: number;\n markedPerc: number;\n timebarColumnClass = 'col-12';\n subscription: Subscription;\n isShowLegendGenerated: boolean;\n isShowLegendAsIndexGenerated: boolean;\n isGroupOverlappingLabelsGenerated: boolean;\n isMobile = false;\n isSomeStepsAreGrouped = false;\n extraTimelineLabelSpace = 21;\n\n @ViewChild('container') container: ElementRef<HTMLDivElement>;\n @Input() e2eAttr = 'eui-timebar';\n @Input() markedDate: Date;\n @Input() items: EuiTimebarItem[];\n @Input() startLabel: string;\n @Input() endLabel: string;\n @Input() dateFormat = 'yyyy-MM-dd';\n\n @Input({ transform: booleanAttribute }) isShowLegend = false;\n @Input({ transform: booleanAttribute }) isShowLegendAsIndex = true;\n @Input({ transform: booleanAttribute }) isShowCurrentDateMarker = false;\n @Input({ transform: booleanAttribute }) isCurrentDateMarkerAlwaysInRange = false;\n @Input({ transform: booleanAttribute }) isGroupOverlappingLabels = false;\n\n protected maxStepWidth = 112; // 112px = 8rem = 2 x 4rem margin around starting and ending bullet.\n\n constructor(\n private asService: EuiAppShellService,\n private cd: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.subscription = this.asService.breakpoints$.subscribe((bkps) => {\n this.onBreakpointChange(bkps);\n });\n }\n\n ngAfterContentInit(): void {\n this.removeNullItems();\n this.sortItems();\n\n const startDate: Date = this.items[0].date;\n const endDate: Date = this.items[this.items.length - 1].date;\n this.items.forEach((item) => {\n let stepTypeClass = '';\n let tooltipColor = 'none';\n\n if (item.stepType) {\n stepTypeClass = 'eui-timebar__step--' + item.stepType;\n tooltipColor = item.stepType;\n }\n\n const isNumber = /^\\d+\\.\\d+$/.test(item.label) || /^\\d+$/.test(item.label);\n\n if (isNumber) {\n item.label = formatNumber(item.label, 2);\n }\n\n this.itemsUI.push({\n perc: this.calculatePercentage(item.date, startDate, endDate),\n item,\n stepTypeClass,\n tooltipColor,\n });\n });\n\n this.currentPerc = this.calculatePercentage(this.currentDate, startDate, endDate, true);\n this.markedPerc = this.calculatePercentage(this.markedDate, startDate, endDate, true);\n\n if (this.startLabel && this.endLabel) {\n this.timebarColumnClass = 'col-8';\n } else {\n if (this.startLabel || this.endLabel) {\n this.timebarColumnClass = 'col-10';\n }\n }\n\n // initialize attributes\n this.isShowLegendGenerated = this.isShowLegend;\n this.isShowLegendAsIndexGenerated = this.isShowLegendAsIndex;\n this.isGroupOverlappingLabelsGenerated = this.isGroupOverlappingLabels;\n this.isMobile = false;\n }\n\n ngAfterViewChecked(): void {\n this.groupOverlappingLabels();\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes) {\n const change: SimpleChange = changes['markedDate'];\n if (change) {\n const startDate: Date = this.items[0].date;\n const endDate: Date = this.items[this.items.length - 1].date;\n this.markedPerc = this.calculatePercentage(change.currentValue as Date, startDate, endDate);\n }\n }\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onBreakpointChange(bkps: any): void {\n if (bkps.isMobile) {\n this.isShowLegendGenerated = true;\n this.isShowLegendAsIndexGenerated = true;\n this.isMobile = true;\n } else {\n this.isShowLegendGenerated = this.isShowLegend;\n this.isShowLegendAsIndexGenerated = this.isShowLegendAsIndex;\n this.isMobile = false;\n }\n }\n\n trackByFn(index: number, item: EuiTimebarItemUI): string {\n return item.item.label;\n }\n\n protected removeNullItems(): void {\n if (this.items) {\n for (let i = 0; i < this.items.length; i++) {\n if (!this.items[i]) {\n this.items.splice(i, 1);\n i--;\n }\n }\n }\n }\n\n protected sortItems(): void {\n if (this.items) {\n // Sort by ascending date:\n this.items = this.items.sort((a: EuiTimebarItem, b: EuiTimebarItem) => {\n if (a && b) {\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 return <any>a.date - <any>b.date;\n } else {\n return 0;\n }\n });\n }\n }\n\n protected groupOverlappingLabels(): void {\n if (this.isGroupOverlappingLabelsGenerated) {\n this.clearGrouping();\n\n if (this.container && this.itemsUI && this.isShowLegendAsIndexGenerated) {\n const containerElement = this.container.nativeElement;\n const containerWidth = containerElement.clientWidth;\n // const groupingThreshold = this.maxStepWidth / 2;\n const groupingThreshold = (this.maxStepWidth * 100) / containerWidth;\n let groupingCounter = 0;\n let mobileIndexDisplacement = 0;\n let previousUiItem = null;\n let lastMobileIndex = 0;\n\n for (let i = 0; i < this.itemsUI.length; i++) {\n const uiItem = this.itemsUI[i];\n if (previousUiItem) {\n const distance = Math.abs(uiItem.perc - previousUiItem.perc);\n if (distance <= groupingThreshold) {\n // Group the 2 items:\n if (i > 0 && this.itemsUI[i - 1].isGrouped) {\n mobileIndexDisplacement = 0;\n } else {\n if (!this.isShowLegendGenerated && mobileIndexDisplacement <= 0) {\n mobileIndexDisplacement = groupingCounter;\n lastMobileIndex = mobileIndexDisplacement;\n }\n groupingCounter = 0;\n }\n\n groupingCounter++;\n\n if (!previousUiItem.groupLabel) {\n previousUiItem.groupIndex = groupingCounter + lastMobileIndex;\n if (!this.isShowLegendGenerated) {\n previousUiItem.groupLabel = '' + (lastMobileIndex + groupingCounter);\n } else {\n previousUiItem.groupLabel = '' + i;\n }\n groupingCounter++;\n }\n if (!this.isShowLegendGenerated) {\n previousUiItem.groupLabel += ', ' + (lastMobileIndex + groupingCounter);\n } else {\n previousUiItem.groupLabel += ', ' + (i + 1);\n }\n previousUiItem.groupEndDate = uiItem.item.date;\n previousUiItem.stepTypeClass = uiItem.item.stepType;\n\n uiItem.isGrouped = true;\n uiItem.groupIndex = groupingCounter + lastMobileIndex;\n this.isSomeStepsAreGrouped = true;\n } else {\n previousUiItem = uiItem;\n }\n } else {\n previousUiItem = uiItem;\n }\n }\n this.cd.detectChanges();\n }\n }\n }\n\n protected clearGrouping(): void {\n this.isSomeStepsAreGrouped = false;\n if (this.itemsUI) {\n for (const item of this.itemsUI) {\n delete item.isGrouped;\n delete item.groupIndex;\n delete item.groupLabel;\n delete item.groupEndDate;\n }\n }\n this.extraTimelineLabelSpace = 21;\n }\n\n protected calculateExtraTimelineLabelSpace(): void {\n if (this.itemsUI) {\n let maxLabelLength = 0;\n for (const item of this.itemsUI) {\n if (item.item && item.item.label) {\n maxLabelLength = Math.max(maxLabelLength, item.item.label.length);\n }\n }\n\n if (maxLabelLength > 56) {\n // 56px = 4rem margin of the timeline itself.\n this.extraTimelineLabelSpace = maxLabelLength + 28; // 28px = 2rem = 1 line of text in height + margins\n }\n }\n }\n\n protected calculatePercentage(date: Date, startDate: Date, endDate: Date, compensateForRange = false): number {\n if (date && startDate && endDate) {\n let percentage = ((date.getTime() - startDate.getTime()) / (endDate.getTime() - startDate.getTime())) * 100;\n\n if (compensateForRange) {\n // if the date is over the end date, or below the start date\n // simulate its positioning to not mess up the timebar global width\n if (percentage > 100) {\n if (this.isCurrentDateMarkerAlwaysInRange) {\n percentage = 100;\n } else {\n percentage = 103;\n }\n } else if (percentage <= 0) {\n if (this.isCurrentDateMarkerAlwaysInRange) {\n percentage = 0;\n } else {\n percentage = -3;\n }\n }\n }\n\n return percentage;\n } else {\n return 0;\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, EuiIconModule],\n exports: [EuiTimebarComponent],\n declarations: [EuiTimebarComponent],\n})\nexport class EuiTimebarModule {}\n", "<div class=\"row eui-u-flex\" #container>\n <div *ngIf=\"startLabel\" class=\"col-2 eui-timebar__start-label\">\n {{ startLabel }}\n </div>\n <div class=\"{{ timebarColumnClass }}\">\n <div class=\"eui-timebar\" [style.marginBottom.px]=\"extraTimelineLabelSpace\" attr.data-e2e=\"{{ e2eAttr }}\">\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-progress\"\n [style.width.%]=\"currentPerc >= 100 ? 100 : currentPerc\"></div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-progress\" [style.width.%]=\"markedPerc >= 100 ? 100 : markedPerc\"></div>\n <ng-template [ngIf]=\"!isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div class=\"eui-timebar__step-date-item\" [class.eui-timebar__step-date-item--with-end-date]=\"item.groupEndDate\">\n <span\n *ngIf=\"item.groupEndDate\"\n class=\"eui-timebar__grouped__step {{\n item.stepTypeClass ? 'eui-timebar__step--' + item.stepTypeClass : ''\n }}\">\n {{ item.groupEndDate | date: dateFormat }}\n </span>\n <span\n class=\"{{ item.tooltipColor ? 'eui-timebar__step--' + item.tooltipColor : '' }}\"\n [class.eui-timebar__grouped__step]=\"item.groupEndDate\">\n {{ item.item.date | date: dateFormat }}\n </span>\n </div>\n <div *ngIf=\"!isShowLegendGenerated\" [style.left.%]=\"item.perc\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n <span title=\"{{ item.groupLabel }}\">{{ item.groupLabel }}</span>\n </ng-container>\n </div>\n <div\n *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\"\n [style.left.%]=\"item.perc\"\n class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template [ngIf]=\"isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div *ngIf=\"!isShowLegendGenerated\" class=\"eui-timebar__step-label\" title=\"{{ item.item.label }}\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n <div *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"currentPerc\"\n title=\"{{ currentDate | date: dateFormat }}\">\n <eui-icon-svg icon=\"location\" set=\"sharp\" size=\"m\" fillColor=\"danger-100\"></eui-icon-svg>\n </div>\n <div *ngIf=\"isShowCurrentDateMarker\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"currentPerc\">\n <eui-icon-svg icon=\"eui-ellipse\" set=\"eui\" size=\"s\" fillColor=\"danger-100\"></eui-icon-svg>\n </div>\n <div\n *ngIf=\"markedDate\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"markedPerc\"\n title=\"{{ markedDate | date: dateFormat }}\">\n <eui-icon-svg icon=\"location\" set=\"sharp\" size=\"m\" fillColor=\"danger-100\"></eui-icon-svg>\n </div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"markedPerc\">\n <eui-icon-svg icon=\"eui-ellipse\" set=\"eui\" size=\"s\" fillColor=\"danger-100\"></eui-icon-svg>\n </div>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2 eui-timebar__end-label\">\n {{ endLabel }}\n </div>\n</div>\n<div class=\"row eui-u-flex\">\n <div *ngIf=\"startLabel\" class=\"col-2\"></div>\n <div class=\"{{ timebarColumnClass }}\">\n <div *ngIf=\"isShowLegendGenerated || isSomeStepsAreGrouped\" class=\"eui-timebar__legend\">\n <ng-container *ngIf=\"isShowLegendGenerated\">\n <div class=\"eui-timebar__legend-item\" *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <div *ngIf=\"!isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-icon\">\n <eui-icon-svg icon=\"eui-ellipse\" set=\"eui\" size=\"s\" fillColor=\"{{ item.item.stepType }}\"></eui-icon-svg>\n </div>\n <div *ngIf=\"isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-index-wrapper\">\n {{ i + 1 }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <ng-template [ngIf]=\"isMobile\">\n <strong>{{ item.item.date | date: dateFormat }}</strong> - {{ item.item.label }}\n </ng-template>\n <ng-template [ngIf]=\"!isMobile\">\n {{ item.item.label }}\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!isShowLegendGenerated\">\n <ng-container *ngFor=\"let item of itemsUI; trackBy: trackByFn\">\n <div *ngIf=\"item.groupLabel || item.isGrouped\" class=\"eui-timebar__legend-item\">\n <div class=\"eui-timebar__legend-item-index-wrapper\">\n {{ item.groupIndex }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <strong>{{ item.item.date | date: dateFormat }}</strong> - {{ item.item.label }}\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2\"></div>\n</div>\n", "// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging\nexport interface EuiTimebarItem {\n date: Date;\n label: string;\n stepType?: string;\n}\n\n// TODO: v17 remove this class - unnecessary\n// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging\nexport class EuiTimebarItem implements EuiTimebarItem {\n date: Date;\n label: string;\n stepType?: string;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n"],
|
4
|
+
"sourcesContent": ["import {\n AfterContentInit,\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n NgModule,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChange,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Subscription } from 'rxjs';\n\nimport { EuiAppShellService, formatNumber } from '@eui/core';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiTimebarItem } from './eui-timebar-item.model';\n\nexport class EuiTimebarItemUI {\n perc: number;\n stepTypeClass: string;\n tooltipColor: string;\n isGrouped?: boolean;\n groupIndex?: number;\n groupLabel?: string;\n groupEndDate?: Date;\n item: EuiTimebarItem;\n}\n\n@Component({\n selector: 'eui-timebar',\n templateUrl: './eui-timebar.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTimebarComponent implements OnInit, AfterContentInit, AfterViewChecked, OnChanges, OnDestroy {\n itemsUI: EuiTimebarItemUI[] = [];\n currentDate = new Date();\n currentPerc: number;\n markedPerc: number;\n timebarColumnClass = 'col-12';\n subscription: Subscription;\n isShowLegendGenerated: boolean;\n isShowLegendAsIndexGenerated: boolean;\n isGroupOverlappingLabelsGenerated: boolean;\n isMobile = false;\n isSomeStepsAreGrouped = false;\n extraTimelineLabelSpace = 21;\n\n @ViewChild('container') container: ElementRef<HTMLDivElement>;\n @Input() e2eAttr = 'eui-timebar';\n @Input() markedDate: Date;\n @Input() items: EuiTimebarItem[];\n @Input() startLabel: string;\n @Input() endLabel: string;\n @Input() dateFormat = 'yyyy-MM-dd';\n\n @Input({ transform: booleanAttribute }) isShowLegend = false;\n @Input({ transform: booleanAttribute }) isShowLegendAsIndex = true;\n @Input({ transform: booleanAttribute }) isShowCurrentDateMarker = false;\n @Input({ transform: booleanAttribute }) isCurrentDateMarkerAlwaysInRange = false;\n @Input({ transform: booleanAttribute }) isGroupOverlappingLabels = false;\n\n protected maxStepWidth = 112; // 112px = 8rem = 2 x 4rem margin around starting and ending bullet.\n\n constructor(\n private asService: EuiAppShellService,\n private cd: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.subscription = this.asService.breakpoints$.subscribe((bkps) => {\n this.onBreakpointChange(bkps);\n });\n }\n\n ngAfterContentInit(): void {\n this.removeNullItems();\n this.sortItems();\n\n const startDate: Date = this.items[0].date;\n const endDate: Date = this.items[this.items.length - 1].date;\n this.items.forEach((item) => {\n let stepTypeClass = '';\n let tooltipColor = 'none';\n\n if (item.stepType) {\n stepTypeClass = 'eui-timebar__step--' + item.stepType;\n tooltipColor = item.stepType;\n }\n\n const isNumber = /^\\d+\\.\\d+$/.test(item.label) || /^\\d+$/.test(item.label);\n\n if (isNumber) {\n item.label = formatNumber(item.label, 2);\n }\n\n this.itemsUI.push({\n perc: this.calculatePercentage(item.date, startDate, endDate),\n item,\n stepTypeClass,\n tooltipColor,\n });\n });\n\n this.currentPerc = this.calculatePercentage(this.currentDate, startDate, endDate, true);\n this.markedPerc = this.calculatePercentage(this.markedDate, startDate, endDate, true);\n\n if (this.startLabel && this.endLabel) {\n this.timebarColumnClass = 'col-8';\n } else {\n if (this.startLabel || this.endLabel) {\n this.timebarColumnClass = 'col-10';\n }\n }\n\n // initialize attributes\n this.isShowLegendGenerated = this.isShowLegend;\n this.isShowLegendAsIndexGenerated = this.isShowLegendAsIndex;\n this.isGroupOverlappingLabelsGenerated = this.isGroupOverlappingLabels;\n this.isMobile = false;\n }\n\n ngAfterViewChecked(): void {\n this.groupOverlappingLabels();\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes) {\n const change: SimpleChange = changes['markedDate'];\n if (change) {\n const startDate: Date = this.items[0].date;\n const endDate: Date = this.items[this.items.length - 1].date;\n this.markedPerc = this.calculatePercentage(change.currentValue as Date, startDate, endDate);\n }\n }\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onBreakpointChange(bkps: any): void {\n if (bkps.isMobile) {\n this.isShowLegendGenerated = true;\n this.isShowLegendAsIndexGenerated = true;\n this.isMobile = true;\n } else {\n this.isShowLegendGenerated = this.isShowLegend;\n this.isShowLegendAsIndexGenerated = this.isShowLegendAsIndex;\n this.isMobile = false;\n }\n }\n\n trackByFn(index: number, item: EuiTimebarItemUI): string {\n return item.item.label;\n }\n\n protected removeNullItems(): void {\n if (this.items) {\n for (let i = 0; i < this.items.length; i++) {\n if (!this.items[i]) {\n this.items.splice(i, 1);\n i--;\n }\n }\n }\n }\n\n protected sortItems(): void {\n if (this.items) {\n // Sort by ascending date:\n this.items = this.items.sort((a: EuiTimebarItem, b: EuiTimebarItem) => {\n if (a && b) {\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 return <any>a.date - <any>b.date;\n } else {\n return 0;\n }\n });\n }\n }\n\n protected groupOverlappingLabels(): void {\n if (this.isGroupOverlappingLabelsGenerated) {\n this.clearGrouping();\n\n if (this.container && this.itemsUI && this.isShowLegendAsIndexGenerated) {\n const containerElement = this.container.nativeElement;\n const containerWidth = containerElement.clientWidth;\n // const groupingThreshold = this.maxStepWidth / 2;\n const groupingThreshold = (this.maxStepWidth * 100) / containerWidth;\n let groupingCounter = 0;\n let mobileIndexDisplacement = 0;\n let previousUiItem = null;\n let lastMobileIndex = 0;\n\n for (let i = 0; i < this.itemsUI.length; i++) {\n const uiItem = this.itemsUI[i];\n if (previousUiItem) {\n const distance = Math.abs(uiItem.perc - previousUiItem.perc);\n if (distance <= groupingThreshold) {\n // Group the 2 items:\n if (i > 0 && this.itemsUI[i - 1].isGrouped) {\n mobileIndexDisplacement = 0;\n } else {\n if (!this.isShowLegendGenerated && mobileIndexDisplacement <= 0) {\n mobileIndexDisplacement = groupingCounter;\n lastMobileIndex = mobileIndexDisplacement;\n }\n groupingCounter = 0;\n }\n\n groupingCounter++;\n\n if (!previousUiItem.groupLabel) {\n previousUiItem.groupIndex = groupingCounter + lastMobileIndex;\n if (!this.isShowLegendGenerated) {\n previousUiItem.groupLabel = '' + (lastMobileIndex + groupingCounter);\n } else {\n previousUiItem.groupLabel = '' + i;\n }\n groupingCounter++;\n }\n if (!this.isShowLegendGenerated) {\n previousUiItem.groupLabel += ', ' + (lastMobileIndex + groupingCounter);\n } else {\n previousUiItem.groupLabel += ', ' + (i + 1);\n }\n previousUiItem.groupEndDate = uiItem.item.date;\n previousUiItem.stepTypeClass = uiItem.item.stepType;\n\n uiItem.isGrouped = true;\n uiItem.groupIndex = groupingCounter + lastMobileIndex;\n this.isSomeStepsAreGrouped = true;\n } else {\n previousUiItem = uiItem;\n }\n } else {\n previousUiItem = uiItem;\n }\n }\n this.cd.detectChanges();\n }\n }\n }\n\n protected clearGrouping(): void {\n this.isSomeStepsAreGrouped = false;\n if (this.itemsUI) {\n for (const item of this.itemsUI) {\n delete item.isGrouped;\n delete item.groupIndex;\n delete item.groupLabel;\n delete item.groupEndDate;\n }\n }\n this.extraTimelineLabelSpace = 21;\n }\n\n protected calculateExtraTimelineLabelSpace(): void {\n if (this.itemsUI) {\n let maxLabelLength = 0;\n for (const item of this.itemsUI) {\n if (item.item && item.item.label) {\n maxLabelLength = Math.max(maxLabelLength, item.item.label.length);\n }\n }\n\n if (maxLabelLength > 56) {\n // 56px = 4rem margin of the timeline itself.\n this.extraTimelineLabelSpace = maxLabelLength + 28; // 28px = 2rem = 1 line of text in height + margins\n }\n }\n }\n\n protected calculatePercentage(date: Date, startDate: Date, endDate: Date, compensateForRange = false): number {\n if (date && startDate && endDate) {\n let percentage = ((date.getTime() - startDate.getTime()) / (endDate.getTime() - startDate.getTime())) * 100;\n\n if (compensateForRange) {\n // if the date is over the end date, or below the start date\n // simulate its positioning to not mess up the timebar global width\n if (percentage > 100) {\n if (this.isCurrentDateMarkerAlwaysInRange) {\n percentage = 100;\n } else {\n percentage = 103;\n }\n } else if (percentage <= 0) {\n if (this.isCurrentDateMarkerAlwaysInRange) {\n percentage = 0;\n } else {\n percentage = -3;\n }\n }\n }\n\n return percentage;\n } else {\n return 0;\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, EuiIconModule],\n exports: [EuiTimebarComponent],\n declarations: [EuiTimebarComponent],\n})\nexport class EuiTimebarModule {}\n", "<div class=\"row eui-u-flex\" #container>\n <div *ngIf=\"startLabel\" class=\"col-2 eui-timebar__start-label\">\n {{ startLabel }}\n </div>\n <div class=\"{{ timebarColumnClass }}\">\n <div class=\"eui-timebar\" [style.marginBottom.px]=\"extraTimelineLabelSpace\" attr.data-e2e=\"{{ e2eAttr }}\">\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-progress\"\n [style.width.%]=\"currentPerc >= 100 ? 100 : currentPerc\"></div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-progress\" [style.width.%]=\"markedPerc >= 100 ? 100 : markedPerc\"></div>\n <ng-template [ngIf]=\"!isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div class=\"eui-timebar__step-date-item\" [class.eui-timebar__step-date-item--with-end-date]=\"item.groupEndDate\">\n <span\n *ngIf=\"item.groupEndDate\"\n class=\"eui-timebar__grouped__step {{\n item.stepTypeClass ? 'eui-timebar__step--' + item.stepTypeClass : ''\n }}\">\n {{ item.groupEndDate | date: dateFormat }}\n </span>\n <span\n class=\"{{ item.tooltipColor ? 'eui-timebar__step--' + item.tooltipColor : '' }}\"\n [class.eui-timebar__grouped__step]=\"item.groupEndDate\">\n {{ item.item.date | date: dateFormat }}\n </span>\n </div>\n <div *ngIf=\"!isShowLegendGenerated\" [style.left.%]=\"item.perc\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n <span title=\"{{ item.groupLabel }}\">{{ item.groupLabel }}</span>\n </ng-container>\n </div>\n <div\n *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\"\n [style.left.%]=\"item.perc\"\n class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template [ngIf]=\"isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div *ngIf=\"!isShowLegendGenerated\" class=\"eui-timebar__step-label\" title=\"{{ item.item.label }}\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n <div *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"currentPerc\"\n title=\"{{ currentDate | date: dateFormat }}\">\n <eui-icon-svg icon=\"location\" set=\"sharp\" size=\"m\" fillColor=\"danger-100\"></eui-icon-svg>\n </div>\n <div *ngIf=\"isShowCurrentDateMarker\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"currentPerc\">\n <eui-icon-svg icon=\"ellipse:sharp\" size=\"s\" fillColor=\"danger-100\"></eui-icon-svg>\n </div>\n <div\n *ngIf=\"markedDate\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"markedPerc\"\n title=\"{{ markedDate | date: dateFormat }}\">\n <eui-icon-svg icon=\"location\" set=\"sharp\" size=\"m\" fillColor=\"danger-100\"></eui-icon-svg>\n </div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"markedPerc\">\n <eui-icon-svg icon=\"ellipse:sharp\" size=\"s\" fillColor=\"danger-100\"></eui-icon-svg>\n </div>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2 eui-timebar__end-label\">\n {{ endLabel }}\n </div>\n</div>\n<div class=\"row eui-u-flex\">\n <div *ngIf=\"startLabel\" class=\"col-2\"></div>\n <div class=\"{{ timebarColumnClass }}\">\n <div *ngIf=\"isShowLegendGenerated || isSomeStepsAreGrouped\" class=\"eui-timebar__legend\">\n <ng-container *ngIf=\"isShowLegendGenerated\">\n <div class=\"eui-timebar__legend-item\" *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <div *ngIf=\"!isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-icon\">\n <eui-icon-svg icon=\"ellipse:sharp\" size=\"s\" fillColor=\"{{ item.item.stepType }}\"></eui-icon-svg>\n </div>\n <div *ngIf=\"isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-index-wrapper\">\n {{ i + 1 }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <ng-template [ngIf]=\"isMobile\">\n <strong>{{ item.item.date | date: dateFormat }}</strong> - {{ item.item.label }}\n </ng-template>\n <ng-template [ngIf]=\"!isMobile\">\n {{ item.item.label }}\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!isShowLegendGenerated\">\n <ng-container *ngFor=\"let item of itemsUI; trackBy: trackByFn\">\n <div *ngIf=\"item.groupLabel || item.isGrouped\" class=\"eui-timebar__legend-item\">\n <div class=\"eui-timebar__legend-item-index-wrapper\">\n {{ item.groupIndex }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <strong>{{ item.item.date | date: dateFormat }}</strong> - {{ item.item.label }}\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2\"></div>\n</div>\n", "// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging\nexport interface EuiTimebarItem {\n date: Date;\n label: string;\n stepType?: string;\n}\n\n// TODO: v17 remove this class - unnecessary\n// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging\nexport class EuiTimebarItem implements EuiTimebarItem {\n date: Date;\n label: string;\n stepType?: string;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n"],
|
5
5
|
"mappings": "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",
|
6
6
|
"names": []
|
7
7
|
}
|
@@ -371,7 +371,7 @@ var EuiTimepickerComponent = class _EuiTimepickerComponent {
|
|
371
371
|
<eui-icon-svg
|
372
372
|
(click)="changeHours(stepHours)"
|
373
373
|
[class.time-control--disabled]="hoursUpDisabled"
|
374
|
-
icon="
|
374
|
+
icon="chevron-up:sharp"
|
375
375
|
fillColor="neutral-light"
|
376
376
|
size="l"
|
377
377
|
role="button"
|
@@ -397,7 +397,7 @@ var EuiTimepickerComponent = class _EuiTimepickerComponent {
|
|
397
397
|
<eui-icon-svg
|
398
398
|
(click)="changeHours(-stepHours)"
|
399
399
|
[class.time-control--disabled]="hoursDownDisabled"
|
400
|
-
icon="
|
400
|
+
icon="chevron-down:sharp"
|
401
401
|
fillColor="neutral-light"
|
402
402
|
size="l"
|
403
403
|
role="button"
|
@@ -411,7 +411,7 @@ var EuiTimepickerComponent = class _EuiTimepickerComponent {
|
|
411
411
|
<eui-icon-svg
|
412
412
|
(click)="changeMinutes(stepMinutes)"
|
413
413
|
[class.time-control--disabled]="minutesUpDisabled"
|
414
|
-
icon="
|
414
|
+
icon="chevron-up:sharp"
|
415
415
|
fillColor="neutral-light"
|
416
416
|
size="l"
|
417
417
|
role="button"
|
@@ -437,7 +437,7 @@ var EuiTimepickerComponent = class _EuiTimepickerComponent {
|
|
437
437
|
<eui-icon-svg
|
438
438
|
(click)="changeMinutes(-stepMinutes)"
|
439
439
|
[class.time-control--disabled]="minutesDownDisabled"
|
440
|
-
icon="
|
440
|
+
icon="chevron-down:sharp"
|
441
441
|
fillColor="neutral-light"
|
442
442
|
size="l"
|
443
443
|
role="button"
|
@@ -452,7 +452,7 @@ var EuiTimepickerComponent = class _EuiTimepickerComponent {
|
|
452
452
|
<eui-icon-svg
|
453
453
|
(click)="changeSeconds(stepSeconds)"
|
454
454
|
[class.time-control--disabled]="secondsUpDisabled"
|
455
|
-
icon="
|
455
|
+
icon="chevron-up:sharp"
|
456
456
|
fillColor="neutral-light"
|
457
457
|
size="l"
|
458
458
|
role="button"
|
@@ -478,7 +478,7 @@ var EuiTimepickerComponent = class _EuiTimepickerComponent {
|
|
478
478
|
<eui-icon-svg
|
479
479
|
(click)="changeSeconds(-stepSeconds)"
|
480
480
|
[class.time-control--disabled]="secondsDownDisabled"
|
481
|
-
icon="
|
481
|
+
icon="chevron-down:sharp"
|
482
482
|
fillColor="neutral-light"
|
483
483
|
size="l"
|
484
484
|
role="button"
|
@@ -515,7 +515,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
|
|
515
515
|
<eui-icon-svg
|
516
516
|
(click)="changeHours(stepHours)"
|
517
517
|
[class.time-control--disabled]="hoursUpDisabled"
|
518
|
-
icon="
|
518
|
+
icon="chevron-up:sharp"
|
519
519
|
fillColor="neutral-light"
|
520
520
|
size="l"
|
521
521
|
role="button"
|
@@ -541,7 +541,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
|
|
541
541
|
<eui-icon-svg
|
542
542
|
(click)="changeHours(-stepHours)"
|
543
543
|
[class.time-control--disabled]="hoursDownDisabled"
|
544
|
-
icon="
|
544
|
+
icon="chevron-down:sharp"
|
545
545
|
fillColor="neutral-light"
|
546
546
|
size="l"
|
547
547
|
role="button"
|
@@ -555,7 +555,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
|
|
555
555
|
<eui-icon-svg
|
556
556
|
(click)="changeMinutes(stepMinutes)"
|
557
557
|
[class.time-control--disabled]="minutesUpDisabled"
|
558
|
-
icon="
|
558
|
+
icon="chevron-up:sharp"
|
559
559
|
fillColor="neutral-light"
|
560
560
|
size="l"
|
561
561
|
role="button"
|
@@ -581,7 +581,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
|
|
581
581
|
<eui-icon-svg
|
582
582
|
(click)="changeMinutes(-stepMinutes)"
|
583
583
|
[class.time-control--disabled]="minutesDownDisabled"
|
584
|
-
icon="
|
584
|
+
icon="chevron-down:sharp"
|
585
585
|
fillColor="neutral-light"
|
586
586
|
size="l"
|
587
587
|
role="button"
|
@@ -596,7 +596,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
|
|
596
596
|
<eui-icon-svg
|
597
597
|
(click)="changeSeconds(stepSeconds)"
|
598
598
|
[class.time-control--disabled]="secondsUpDisabled"
|
599
|
-
icon="
|
599
|
+
icon="chevron-up:sharp"
|
600
600
|
fillColor="neutral-light"
|
601
601
|
size="l"
|
602
602
|
role="button"
|
@@ -622,7 +622,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
|
|
622
622
|
<eui-icon-svg
|
623
623
|
(click)="changeSeconds(-stepSeconds)"
|
624
624
|
[class.time-control--disabled]="secondsDownDisabled"
|
625
|
-
icon="
|
625
|
+
icon="chevron-down:sharp"
|
626
626
|
fillColor="neutral-light"
|
627
627
|
size="l"
|
628
628
|
role="button"
|