@eui/components 19.0.2-snapshot-1734551054425 → 19.0.2-snapshot-1734640536222
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/EuiAppSidebarMenuComponent.html +25 -1
- package/docs/dependencies.html +2 -2
- package/docs/interfaces/UserProfile.html +28 -0
- package/docs/js/search/search_index.js +2 -2
- package/eui-user-profile/user-profile.component.d.ts +12 -0
- package/eui-user-profile/user-profile.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-alert.mjs +2 -2
- package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
- package/fesm2022/eui-components-eui-avatar.mjs +2 -2
- package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-badge.mjs +2 -2
- package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
- package/fesm2022/eui-components-eui-card.mjs +2 -2
- package/fesm2022/eui-components-eui-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dashboard-card.mjs +2 -2
- package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dialog.mjs +4 -4
- package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2022/eui-components-eui-user-profile.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +7 -3
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts +3 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
- package/package.json +3 -3
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-dialog.mjs","sources":["../../eui-dialog/services/eui-dialog.token.ts","../../eui-dialog/models/eui-dialog.config.ts","../../eui-dialog/container/eui-dialog-container.component.ts","../../eui-dialog/container/eui-dialog-container.component.html","../../eui-dialog/models/opened-dialog.model.ts","../../eui-dialog/services/eui-dialog.service.ts","../../eui-dialog/eui-dialog.component.ts","../../eui-dialog/eui-dialog.component.html","../../eui-dialog/eui-dialog.module.ts","../../eui-dialog/eui-components-eui-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const DIALOG_CONTAINER_CONFIG = new InjectionToken<any>('DIALOG_CONTAINER_CONFIG');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const DIALOG_COMPONENT_CONFIG = new InjectionToken<any>('DIALOG_COMPONENT_CONFIG');\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { EuiDialogVerticalPosition } from './eui-dialog-alignment';\n\nexport class EuiDialogConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n e2eAttr = 'eui-message-box';\n acceptLabel = 'eui.OK';\n dismissLabel = 'eui.CANCEL';\n width = '50%';\n height = 'auto';\n isFullScreen = false;\n hasCloseButton = true;\n hasAcceptButton = true;\n hasDismissButton = true;\n hasMobileCustomSize = false;\n hasClosedOnClickOutside = false;\n hasClosedOnEscape = true;\n isHandleCloseOnDismiss = false;\n isHandleCloseOnClose = false;\n isHandleCloseOnAccept = false;\n isHandleCloseOnClickOutside = false;\n isHandleCloseOnEscape = false;\n hasFooter = true;\n isMessageBox = false;\n classList = null;\n\n constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n Object.assign(this, values);\n }\n}\n\nexport interface EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n dialogId?: string;\n e2eAttr?: string;\n title?: string;\n variant?: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | string;\n acceptLabel?: string;\n dismissLabel?: string;\n width?: string;\n height?: string;\n isFullScreen?: boolean;\n headerComponent?: {\n component: ComponentType<HC>;\n config?: HCC;\n };\n bodyComponent?: {\n component: ComponentType<BC>;\n config?: BCC;\n };\n footerComponent?: {\n component: ComponentType<FC>;\n config?: FCC;\n };\n header?: TemplatePortal;\n content?: TemplatePortal | string | null;\n footer?: TemplatePortal;\n hasCloseButton?: boolean;\n hasAcceptButton?: boolean;\n hasDismissButton?: boolean;\n hasMobileCustomSize?: boolean;\n hasClosedOnClickOutside?: boolean;\n hasClosedOnEscape?: boolean;\n isHandleCloseOnDismiss?: boolean;\n isHandleCloseOnClose?: boolean;\n isHandleCloseOnAccept?: boolean;\n isHandleCloseOnClickOutside?: boolean;\n isHandleCloseOnEscape?: boolean;\n isDraggable?: boolean;\n hasNoBodyPadding?: boolean;\n hasFooter?: boolean;\n isMessageBox?: boolean;\n verticalPosition?: EuiDialogVerticalPosition;\n classList?: string;\n\n overlayRef?: OverlayRef;\n\n open?: () => void;\n init?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n clickOutside?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n escape?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n close?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n dismiss?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n accept?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n}\n\nexport class EuiDialogComponentInstances<HC, BC, FC> {\n headerComponent: HC = null;\n bodyComponent: BC = null;\n footerComponent: FC = null;\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnInit,\n ComponentRef,\n Inject,\n Injector,\n StaticProvider,\n OnDestroy,\n HostBinding,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DIALOG_CONTAINER_CONFIG } from '../services/eui-dialog.token';\nimport { EuiDialogInterface, EuiDialogComponentInstances } from '../models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from '../services/eui-dialog.token';\n\n@Component({\n selector: 'eui-dialog-container',\n templateUrl: './eui-dialog-container.component.html',\n styleUrls: ['../styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC> implements OnInit, OnDestroy {\n public isHeaderTemplatePortal = false;\n public isBodyTemplatePortal = false;\n public isFooterTemplatePortal = false;\n\n public isHeaderComponentPortal = false;\n public isBodyComponentPortal = false;\n public isFooterComponentPortal = false;\n\n public headerComponentPortal: ComponentPortal<HC>;\n public bodyComponentPortal: ComponentPortal<BC>;\n public footerComponentPortal: ComponentPortal<FC>;\n\n public componentInstances = new EuiDialogComponentInstances<HC, BC, FC>();\n public acceptButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n public dismissButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @HostBinding('class') string = 'eui-dialog-container';\n @HostBinding('attr.aria-modal') ariaModal = true;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Inject(DIALOG_CONTAINER_CONFIG) public dialogContainerConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>,\n private injector: Injector,\n private cd: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n if (this.dialogContainerConfig.header instanceof TemplatePortal) {\n this.isHeaderTemplatePortal = true;\n }\n if (this.dialogContainerConfig.content instanceof TemplatePortal) {\n this.isBodyTemplatePortal = true;\n }\n if (this.dialogContainerConfig.footer instanceof TemplatePortal) {\n this.isFooterTemplatePortal = true;\n }\n\n if (this.dialogContainerConfig.headerComponent?.component) {\n this.isHeaderComponentPortal = true;\n this.headerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.headerComponent.component,\n this.dialogContainerConfig.headerComponent.config,\n ) as ComponentPortal<HC>;\n }\n if (this.dialogContainerConfig.bodyComponent?.component) {\n this.isBodyComponentPortal = true;\n this.bodyComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.bodyComponent.component,\n this.dialogContainerConfig.bodyComponent.config,\n ) as ComponentPortal<BC>;\n }\n if (this.dialogContainerConfig.footerComponent?.component) {\n this.isFooterComponentPortal = true;\n this.footerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.footerComponent.component,\n this.dialogContainerConfig.footerComponent.config,\n ) as ComponentPortal<FC>;\n }\n\n this.dialogContainerConfig.open();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get getComponentInstances(): EuiDialogComponentInstances<HC, BC, FC> {\n return this.componentInstances;\n }\n\n get getPortalOutlet(): TemplatePortal | null {\n return this.dialogContainerConfig.content as TemplatePortal;\n }\n\n get dialogContainerConfigContent(): string {\n return this.dialogContainerConfig.content as string;\n }\n\n public portalAttached(\n attachedRef: CdkPortalOutletAttachedRef,\n component: 'headerComponent' | 'bodyComponent' | 'footerComponent',\n ): void {\n const componentRef = attachedRef as ComponentRef<HC | BC | FC>;\n\n componentRef.instance['overlayRef'] = this.dialogContainerConfig.overlayRef;\n\n this.componentInstances = {\n ...this.componentInstances,\n [component]: componentRef.instance,\n };\n\n this.dialogContainerConfig.init(this.componentInstances);\n\n if (this.dialogContainerConfig[component].config) {\n Object.keys(this.dialogContainerConfig[component].config).forEach((c) => {\n if (typeof this.dialogContainerConfig[component].config[c] === 'function') {\n if (componentRef.instance[c] && typeof componentRef.instance[c] !== 'function') {\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 componentRef.instance[c].pipe(takeUntil(this.destroy$)).subscribe((args: any) => {\n this.dialogContainerConfig[component].config[c].apply(componentRef.instance[c], [args]);\n });\n }\n } else {\n componentRef.instance[c] = this.dialogContainerConfig[component].config[c];\n }\n });\n }\n }\n\n public closeDialog(): void {\n this.dialogContainerConfig.close(this.componentInstances);\n }\n\n public onDismiss(): void {\n this.dialogContainerConfig.dismiss(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnDismiss) {\n this.closeDialog();\n }\n }\n\n public onAccept(): void {\n this.dialogContainerConfig.accept(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnAccept) {\n this.closeDialog();\n }\n }\n\n /**\n * Based on certain conditions returns the id of the body content to the aria-describedby attr of the container\n */\n public getContentId(): string {\n if(!this.isBodyTemplatePortal && !this.isBodyComponentPortal) {\n return 'containerConfigId';\n } else if (this.isBodyTemplatePortal && !this.isBodyComponentPortal) {\n return 'bodyTemplatePortalId';\n } else if(this.isBodyComponentPortal) {\n return 'bodyComponentPortalId'\n }\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.acceptButtonDisabled$.next(true);\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.acceptButtonDisabled$.next(false);\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.dismissButtonDisabled$.next(true);\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.dismissButtonDisabled$.next(false);\n }\n\n public onScroll(): void {\n this.cd.detectChanges();\n }\n\n private createComponentPortal(component: ComponentType<HC | BC | FC>, config: HCC | BCC | FCC): ComponentPortal<HC | BC | FC> {\n const extendedConfig = { ...config, id: this.dialogContainerConfig.dialogId, overlayRef: this.dialogContainerConfig.overlayRef };\n return new ComponentPortal(component, null, this.createInjector(extendedConfig));\n }\n\n private createInjector(data: HCC | BCC | FCC): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n}\n","<div\n class=\"eui-dialog eui-dialog--{{ dialogContainerConfig.variant }} eui-18\"\n [class.eui-dialog--draggable]=\"dialogContainerConfig.isDraggable\"\n [class.eui-dialog--message-box]=\"dialogContainerConfig.isMessageBox\"\n [class.eui-dialog--no-padding]=\"dialogContainerConfig.hasNoBodyPadding\"\n [class.eui-dialog--custom-size]=\"dialogContainerConfig.hasMobileCustomSize\"\n [attr.role]=\"dialogContainerConfig.isMessageBox ? 'alertdialog' : 'dialog'\"\n aria-labelledby=\"dialogContent\"\n [attr.aria-describedby]=\"getContentId()\"\n tabindex=\"-1\"\n attr.data-e2e=\"{{ dialogContainerConfig.e2eAttr }}\"\n cdkDrag\n cdkDragRootElement=\".cdk-overlay-pane\"\n [cdkDragDisabled]=\"!dialogContainerConfig.isDraggable\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture>\n <div class=\"eui-dialog__content\" role=\"document\" id=\"dialogContent\" aria-labelledby=\"headerTitle\">\n <div class=\"eui-dialog__header\" [class.eui-dialog__header--handle-disabled]=\"!dialogContainerConfig.isDraggable\" cdkDragHandle>\n @if (!isHeaderTemplatePortal && !isHeaderComponentPortal) {\n\n @if (dialogContainerConfig.isMessageBox) {\n <eui-icon-state [euiVariant]=\"dialogContainerConfig.variant\" size=\"xl\" class=\"eui-dialog__header-icon\"/>\n }\n <h5 id=\"headerTitle\" class=\"eui-dialog__header-title\">{{ dialogContainerConfig.title | translate }}</h5>\n\n @if (dialogContainerConfig.hasCloseButton) {\n <div class=\"eui-dialog__header-close-container\">\n <button\n class=\"dialog-close-button\"\n (click)=\"closeDialog()\"\n euiButton\n euiIconButton\n euiRounded\n euiBasicButton\n aria-label=\"Dialog close icon\">\n <eui-icon-svg icon=\"close:outline\"></eui-icon-svg>\n </button>\n </div>\n }\n }\n @if (isHeaderTemplatePortal) {\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.header\"></ng-template>\n }\n @if (isHeaderComponentPortal) {\n <ng-template [cdkPortalOutlet]=\"headerComponentPortal\" (attached)=\"portalAttached($event, 'headerComponent')\"></ng-template>\n }\n </div>\n <div\n class=\"eui-dialog__body\"\n cdkScrollable\n [style.height]=\"dialogContainerConfig.height\"\n [style.max-height]=\"dialogContainerConfig.height\"\n (scroll)=\"onScroll()\"\n tabindex=\"0\">\n @if (!isBodyTemplatePortal && !isBodyComponentPortal) {\n <div\n id=\"containerConfigId\"\n class=\"eui-dialog__body-content not-isBodyTemplatePortal\"\n [innerHTML]=\"dialogContainerConfig.content ? (dialogContainerConfigContent | translate) : null\">\n </div>\n }\n @if (isBodyTemplatePortal && !isBodyComponentPortal) {\n <div id=\"bodyTemplatePortalId\" class=\"eui-dialog__body-content isBodyTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"getPortalOutlet\"></ng-template>\n </div>\n }\n @if (isBodyComponentPortal) {\n <div id=\"bodyComponentPortalId\" class=\"eui-dialog__body-content isBodyComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"bodyComponentPortal\" (attached)=\"portalAttached($event, 'bodyComponent')\"></ng-template>\n </div>\n }\n </div>\n @if (dialogContainerConfig.hasFooter) {\n <div class=\"eui-dialog__footer\">\n @if (!isFooterTemplatePortal && !isFooterComponentPortal) {\n @if (isFooterTemplatePortal) {\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n }\n @if (!isFooterTemplatePortal) {\n <div class=\"eui-dialog__footer-content\">\n @if (dialogContainerConfig.hasDismissButton) {\n <button\n euiButton\n type=\"button\"\n [euiDisabled]=\"dismissButtonDisabled$ | async\"\n class=\"eui-dialog__footer-dismiss-button\"\n [class.eui-dialog__footer-dismiss-button--with-accept-button]=\"dialogContainerConfig.hasAcceptButton\"\n (click)=\"onDismiss()\">\n {{ dialogContainerConfig.dismissLabel | translate }}\n </button>\n }\n @if (dialogContainerConfig.hasAcceptButton) {\n <button\n euiButton\n [euiVariant]=\"dialogContainerConfig.isMessageBox && !(dialogContainerConfig.variant === 'secondary') ? dialogContainerConfig.variant: 'primary'\"\n type=\"button\"\n [euiDisabled]=\"acceptButtonDisabled$ | async\"\n class=\"eui-dialog__footer-accept-button\"\n (click)=\"onAccept()\">\n {{ dialogContainerConfig.acceptLabel | translate }}\n </button>\n }\n </div>\n }\n }\n\n @if (isFooterTemplatePortal) {\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n }\n @if (isFooterComponentPortal) {\n <ng-template [cdkPortalOutlet]=\"footerComponentPortal\" (attached)=\"portalAttached($event, 'footerComponent')\"></ng-template>\n }\n\n </div>\n }\n </div>\n</div>\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef } from '@angular/core';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\n\nexport class OpenedDialog implements OpenedDialogInterface {\n id: string = null;\n order: number = null;\n overlayRef: OverlayRef = null;\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 containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>> = null;\n\n constructor(values: OpenedDialogInterface) {\n Object.assign(this, values);\n }\n}\n\nexport interface OpenedDialogInterface {\n id: string;\n order: number;\n overlayRef: OverlayRef;\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 containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>>;\n}\n","import { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector, OnDestroy, StaticProvider } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\nimport { EuiDialogInterface, EuiDialogComponentInstances, EuiDialogConfig } from '../models/eui-dialog.config';\nimport { OpenedDialog } from '../models/opened-dialog.model';\nimport { DIALOG_CONTAINER_CONFIG } from './eui-dialog.token';\nimport { EuiDialogVerticalPosition } from '../models/eui-dialog-alignment';\n\n@Injectable()\nexport class EuiDialogService implements OnDestroy {\n private overlayRef: OverlayRef;\n private openedDialogs$: BehaviorSubject<OpenedDialog[]> = new BehaviorSubject<OpenedDialog[]>([]);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private overlay: Overlay,\n private injector: Injector,\n ) {}\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.openedDialogs$.next(null);\n }\n\n /**\n * Open a dialog.\n *\n * @param config Configuration applied to the dialog.\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {}): OpenedDialog {\n const positionStrategy = this.getPositionStrategy(config.verticalPosition);\n const scrollStrategy = this.overlay.scrollStrategies.block();\n const hasClosedOnEscape = config.hasClosedOnEscape;\n const hasCloseButton = config.hasCloseButton;\n const dialogConfig = new EuiDialogConfig({\n ...config,\n hasClosedOnEscape,\n hasCloseButton,\n width: config.isFullScreen ? '98vw' : config.width,\n height: config.isFullScreen ? '97vh' : config.height,\n });\n const dialogId = 'eui-dialog-' + Math.floor(Math.random() * 10000);\n const overlayRef = this.overlay.create({\n backdropClass: ['eui-dialog__backdrop', dialogId + '__backdrop'],\n hasBackdrop: true,\n height: dialogConfig.height,\n width: dialogConfig.width,\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n panelClass: config.classList,\n });\n\n this.overlayRef = overlayRef;\n let openedDialog = new OpenedDialog({\n id: dialogId,\n order: this.openedDialogs$.value.length + 1,\n overlayRef,\n containerRef: null,\n });\n\n const extendedConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n ...dialogConfig,\n dialogId,\n overlayRef,\n init: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.init?.(instances);\n },\n open: () => {\n config.open?.();\n },\n clickOutside: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.clickOutside?.(instances);\n },\n escape: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.escape?.(instances);\n },\n close: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n if(!config.isHandleCloseOnClose) {\n this.closeDialog(dialogId);\n }\n config.close?.(instances);\n },\n dismiss: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.dismiss?.(instances);\n },\n accept: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.accept?.(instances);\n },\n };\n const containerPortal = new ComponentPortal<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>>(\n EuiDialogContainerComponent,\n null,\n this.createInjector(extendedConfig),\n );\n const containerRef: ComponentRef<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>> =\n openedDialog.overlayRef.attach(containerPortal);\n openedDialog = { ...openedDialog, containerRef };\n\n openedDialog.overlayRef\n .backdropClick()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (extendedConfig.hasClosedOnClickOutside) {\n config.clickOutside?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnClickOutside) {\n containerRef.instance.closeDialog();\n }\n }\n });\n\n if (extendedConfig.hasClosedOnEscape) {\n openedDialog.overlayRef\n .keydownEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n config.escape?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnEscape) {\n containerRef.instance.closeDialog();\n }\n }\n });\n }\n\n this.openedDialogs$.next([...this.openedDialogs$.value, openedDialog]);\n\n return openedDialog;\n }\n\n /**\n * Close a dialog\n *\n * @param dialogId The id of the dialog to close. If not provided the last opened one will be closed.\n */\n public closeDialog(dialogId?: string): void {\n if (dialogId) {\n this.openedDialogs$.value.find((o) => o.id === dialogId).overlayRef.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter((o) => o.id !== dialogId));\n this.overlayRef =\n this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n } else {\n this.overlayRef?.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter((o, i) => i < this.openedDialogs$.value.length - 1));\n this.overlayRef =\n this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n }\n }\n\n /**\n * Close all the dialogs.\n */\n public closeAllDialogs(): void {\n this.openedDialogs$.value.forEach((dialog) => {\n dialog.containerRef.instance.dialogContainerConfig.close?.(dialog.containerRef.instance.getComponentInstances);\n });\n }\n\n /**\n * Returns an `Observable` with all opened windows.\n *\n * @returns `Observable` of `OpenedDialog[]`.\n */\n public getOpenedDialog(): Observable<OpenedDialog[]> {\n return this.openedDialogs$;\n }\n\n /**\n * Returns an `Object` with a dialog\n *\n * @param dialogId id of the dialog to be returned\n * @returns `OpenedDialog`\n */\n public getDialog(dialogId: string): OpenedDialog {\n return this.openedDialogs$.value.find((o) => o.id === dialogId);\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableDismissButton();\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 private createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_CONTAINER_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n\n private getPositionStrategy(verticalPosition: EuiDialogVerticalPosition): GlobalPositionStrategy {\n const positionStrategy = this.overlay.position().global().centerHorizontally().centerVertically();\n if (verticalPosition === 'top') {\n positionStrategy.top();\n }\n return positionStrategy;\n }\n}\n","import {\n Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy, Output, EventEmitter,\n Directive, ContentChild, forwardRef, QueryList, ElementRef, OnInit, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogInterface } from './models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from './services/eui-dialog.token';\nimport { OpenedDialog } from './models/opened-dialog.model';\nimport { EuiDialogVerticalPosition } from './models/eui-dialog-alignment';\n\n@Component({\n selector: 'eui-dialog',\n templateUrl: './eui-dialog.component.html',\n styleUrls: ['./styles/_index.scss'],\n providers: [{ provide: DIALOG_COMPONENT_CONFIG, useValue: null }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiPrimary',\n 'euiSecondary',\n 'euiInfo',\n 'euiSuccess',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiDialogComponent implements AfterViewInit, OnDestroy, OnInit {\n @Input() e2eAttr = 'eui-dialog';\n @Input() title: string;\n @Input() acceptLabel = 'eui.OK';\n @Input() dismissLabel = 'eui.CANCEL';\n @Input() verticalPosition: EuiDialogVerticalPosition;\n @Input() width = '50%';\n @Input() height = 'auto';\n @Input({ transform: booleanAttribute }) isFullScreen = false;\n @Input({ transform: booleanAttribute }) hasCloseButton = true;\n @Input({ transform: booleanAttribute }) hasAcceptButton = true;\n @Input({ transform: booleanAttribute }) hasDismissButton = true;\n @Input({ transform: booleanAttribute }) hasMobileCustomSize = false;\n @Input({ transform: booleanAttribute }) hasClosedOnClickOutside = false;\n @Input({ transform: booleanAttribute }) hasClosedOnEscape = true;\n @Input({ transform: booleanAttribute }) isHandleCloseOnDismiss = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnAccept = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClickOutside = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnEscape = false;\n @Input({ transform: booleanAttribute }) isMessageBox = false;\n @Input({ transform: booleanAttribute }) isDraggable = false;\n @Input({ transform: booleanAttribute }) hasNoBodyPadding = false;\n @Input({ transform: booleanAttribute }) hasFooter = true;\n @Input() classList: string = null;\n\n @Output() clickOutside = new EventEmitter();\n @Output() escape = new EventEmitter();\n @Output() dialogOpen = new EventEmitter();\n @Output() dialogClose = new EventEmitter();\n @Output() dismiss = new EventEmitter();\n @Output() accept = new EventEmitter();\n\n public content: string | TemplatePortal;\n public isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @ViewChild('templateRefHeader') templateRefHeader: TemplateRef<EuiDialogHeaderDirective>;\n @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiDialogFooterDirective>;\n\n @ContentChild(forwardRef(() => EuiDialogHeaderDirective)) euiDialogHeaderDirective: QueryList<EuiDialogHeaderDirective>;\n @ContentChild(forwardRef(() => EuiDialogFooterDirective)) euiDialogFooterDirective: QueryList<EuiDialogFooterDirective>;\n\n private dialog: OpenedDialog;\n private templatePortalHeader: TemplatePortal<EuiDialogHeaderDirective>;\n private templatePortalContent: TemplatePortal<ElementRef>;\n private templatePortalFooter: TemplatePortal<EuiDialogFooterDirective>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private viewContainerRef: ViewContainerRef, private euiDialogService: EuiDialogService, public baseStatesDirective: BaseStatesDirective) {\n }\n\n ngOnInit(): void {\n if (this.isFullScreen) {\n this.width = '98vw';\n this.height = '97vh';\n }\n\n if (this.isMessageBox) {\n this.hasClosedOnEscape = false;\n this.hasCloseButton = false;\n }\n }\n\n ngAfterViewInit(): void {\n if (this.euiDialogHeaderDirective) {\n this.templatePortalHeader = new TemplatePortal(this.templateRefHeader, this.viewContainerRef);\n }\n\n this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n if (this.euiDialogFooterDirective) {\n this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Whether the eui-dialog is open.\n *\n * @usageNotes\n * ```html\n * <eui-dialog #dialog>\n * \\@if (dialog.isOpen) {\n * <my-component></my-component>\n * }\n * </eui-dialog>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Open a dialog.\n *\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(): OpenedDialog {\n const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n e2eAttr: this.e2eAttr,\n title: this.title,\n width: this.width,\n height: this.height,\n isFullScreen: this.isFullScreen,\n variant: this.baseStatesDirective.euiVariant,\n acceptLabel: this.acceptLabel,\n dismissLabel: this.dismissLabel,\n hasCloseButton: this.hasCloseButton,\n hasAcceptButton: this.hasAcceptButton,\n hasDismissButton: this.hasDismissButton,\n hasMobileCustomSize: this.hasMobileCustomSize,\n hasClosedOnClickOutside: this.hasClosedOnClickOutside,\n hasClosedOnEscape: this.hasClosedOnEscape,\n isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n isHandleCloseOnClose: this.isHandleCloseOnClose,\n isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n isHandleCloseOnClickOutside: this.isHandleCloseOnClickOutside,\n isHandleCloseOnEscape: this.isHandleCloseOnEscape,\n isDraggable: this.isDraggable,\n hasNoBodyPadding: this.hasNoBodyPadding,\n hasFooter: this.hasFooter,\n verticalPosition: this.verticalPosition,\n header: this.templatePortalHeader,\n content: this.templatePortalContent,\n footer: this.templatePortalFooter,\n classList: this.classList,\n clickOutside: () => {\n if (this.hasClosedOnClickOutside) {\n this.isOpen$.next(false);\n }\n this.clickOutside.emit();\n },\n escape: () => {\n if (this.hasClosedOnEscape) {\n this.isOpen$.next(false);\n }\n this.escape.emit();\n },\n open: () => {\n this.dialogOpen.emit();\n },\n close: () => {\n if (!this.isHandleCloseOnClose) {\n this.isOpen$.next(false);\n }\n this.dialogClose.emit();\n },\n dismiss: () => {\n if (!this.isHandleCloseOnDismiss) {\n this.isOpen$.next(false);\n }\n this.dismiss.emit();\n },\n accept: () => {\n if (!this.isHandleCloseOnAccept) {\n this.isOpen$.next(false);\n }\n this.accept.emit();\n },\n };\n\n this.isOpen$.next(true);\n this.dialog = this.euiDialogService.openDialog(config);\n\n return this.dialog;\n }\n\n /**\n * Close a Dialog\n */\n public closeDialog(): void {\n this.isOpen$.next(false);\n this.euiDialogService.closeDialog();\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableDismissButton();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-dialog-header', standalone: false, })\nexport class EuiDialogHeaderDirective {}\n\n@Directive({ selector: 'eui-dialog-footer', standalone: false, })\nexport class EuiDialogFooterDirective {}\n/* eslint-enable */\n","<ng-template #templateRefHeader>\n <ng-content select=\"eui-dialog-header\"></ng-content>\n</ng-template>\n<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-dialog-footer\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\n\nimport { EuiDialogComponent, EuiDialogFooterDirective, EuiDialogHeaderDirective } from './eui-dialog.component';\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogContainerComponent } from './container/eui-dialog-container.component';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\nimport { EuiIconStateModule } from '@eui/components/eui-icon-state';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiButtonModule,\n EuiIconModule,\n EuiIconButtonModule,\n EuiIconStateModule,\n TranslateModule,\n PortalModule,\n OverlayModule,\n A11yModule,\n DragDropModule,\n CdkScrollableModule,\n ],\n exports: [EuiDialogComponent, EuiDialogHeaderDirective, EuiDialogFooterDirective],\n declarations: [EuiDialogComponent, EuiDialogHeaderDirective, EuiDialogFooterDirective, EuiDialogContainerComponent],\n providers: [EuiDialogService],\n})\nexport class EuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.EuiDialogService","i2"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-dialog.mjs","sources":["../../eui-dialog/services/eui-dialog.token.ts","../../eui-dialog/models/eui-dialog.config.ts","../../eui-dialog/container/eui-dialog-container.component.ts","../../eui-dialog/container/eui-dialog-container.component.html","../../eui-dialog/models/opened-dialog.model.ts","../../eui-dialog/services/eui-dialog.service.ts","../../eui-dialog/eui-dialog.component.ts","../../eui-dialog/eui-dialog.component.html","../../eui-dialog/eui-dialog.module.ts","../../eui-dialog/eui-components-eui-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const DIALOG_CONTAINER_CONFIG = new InjectionToken<any>('DIALOG_CONTAINER_CONFIG');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const DIALOG_COMPONENT_CONFIG = new InjectionToken<any>('DIALOG_COMPONENT_CONFIG');\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { EuiDialogVerticalPosition } from './eui-dialog-alignment';\n\nexport class EuiDialogConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n e2eAttr = 'eui-message-box';\n acceptLabel = 'eui.OK';\n dismissLabel = 'eui.CANCEL';\n width = '50%';\n height = 'auto';\n isFullScreen = false;\n hasCloseButton = true;\n hasAcceptButton = true;\n hasDismissButton = true;\n hasMobileCustomSize = false;\n hasClosedOnClickOutside = false;\n hasClosedOnEscape = true;\n isHandleCloseOnDismiss = false;\n isHandleCloseOnClose = false;\n isHandleCloseOnAccept = false;\n isHandleCloseOnClickOutside = false;\n isHandleCloseOnEscape = false;\n hasFooter = true;\n isMessageBox = false;\n classList = null;\n\n constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n Object.assign(this, values);\n }\n}\n\nexport interface EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n dialogId?: string;\n e2eAttr?: string;\n title?: string;\n variant?: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | string;\n acceptLabel?: string;\n dismissLabel?: string;\n width?: string;\n height?: string;\n isFullScreen?: boolean;\n headerComponent?: {\n component: ComponentType<HC>;\n config?: HCC;\n };\n bodyComponent?: {\n component: ComponentType<BC>;\n config?: BCC;\n };\n footerComponent?: {\n component: ComponentType<FC>;\n config?: FCC;\n };\n header?: TemplatePortal;\n content?: TemplatePortal | string | null;\n footer?: TemplatePortal;\n hasCloseButton?: boolean;\n hasAcceptButton?: boolean;\n hasDismissButton?: boolean;\n hasMobileCustomSize?: boolean;\n hasClosedOnClickOutside?: boolean;\n hasClosedOnEscape?: boolean;\n isHandleCloseOnDismiss?: boolean;\n isHandleCloseOnClose?: boolean;\n isHandleCloseOnAccept?: boolean;\n isHandleCloseOnClickOutside?: boolean;\n isHandleCloseOnEscape?: boolean;\n isDraggable?: boolean;\n hasNoBodyPadding?: boolean;\n hasFooter?: boolean;\n isMessageBox?: boolean;\n verticalPosition?: EuiDialogVerticalPosition;\n classList?: string;\n\n overlayRef?: OverlayRef;\n\n open?: () => void;\n init?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n clickOutside?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n escape?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n close?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n dismiss?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n accept?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n}\n\nexport class EuiDialogComponentInstances<HC, BC, FC> {\n headerComponent: HC = null;\n bodyComponent: BC = null;\n footerComponent: FC = null;\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnInit,\n ComponentRef,\n Inject,\n Injector,\n StaticProvider,\n OnDestroy,\n HostBinding,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DIALOG_CONTAINER_CONFIG } from '../services/eui-dialog.token';\nimport { EuiDialogInterface, EuiDialogComponentInstances } from '../models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from '../services/eui-dialog.token';\n\n@Component({\n selector: 'eui-dialog-container',\n templateUrl: './eui-dialog-container.component.html',\n styleUrls: ['../styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC> implements OnInit, OnDestroy {\n public isHeaderTemplatePortal = false;\n public isBodyTemplatePortal = false;\n public isFooterTemplatePortal = false;\n\n public isHeaderComponentPortal = false;\n public isBodyComponentPortal = false;\n public isFooterComponentPortal = false;\n\n public headerComponentPortal: ComponentPortal<HC>;\n public bodyComponentPortal: ComponentPortal<BC>;\n public footerComponentPortal: ComponentPortal<FC>;\n\n public componentInstances = new EuiDialogComponentInstances<HC, BC, FC>();\n public acceptButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n public dismissButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @HostBinding('class') string = 'eui-dialog-container';\n @HostBinding('attr.aria-modal') ariaModal = true;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Inject(DIALOG_CONTAINER_CONFIG) public dialogContainerConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>,\n private injector: Injector,\n private cd: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n if (this.dialogContainerConfig.header instanceof TemplatePortal) {\n this.isHeaderTemplatePortal = true;\n }\n if (this.dialogContainerConfig.content instanceof TemplatePortal) {\n this.isBodyTemplatePortal = true;\n }\n if (this.dialogContainerConfig.footer instanceof TemplatePortal) {\n this.isFooterTemplatePortal = true;\n }\n\n if (this.dialogContainerConfig.headerComponent?.component) {\n this.isHeaderComponentPortal = true;\n this.headerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.headerComponent.component,\n this.dialogContainerConfig.headerComponent.config,\n ) as ComponentPortal<HC>;\n }\n if (this.dialogContainerConfig.bodyComponent?.component) {\n this.isBodyComponentPortal = true;\n this.bodyComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.bodyComponent.component,\n this.dialogContainerConfig.bodyComponent.config,\n ) as ComponentPortal<BC>;\n }\n if (this.dialogContainerConfig.footerComponent?.component) {\n this.isFooterComponentPortal = true;\n this.footerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.footerComponent.component,\n this.dialogContainerConfig.footerComponent.config,\n ) as ComponentPortal<FC>;\n }\n\n this.dialogContainerConfig.open();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get getComponentInstances(): EuiDialogComponentInstances<HC, BC, FC> {\n return this.componentInstances;\n }\n\n get getPortalOutlet(): TemplatePortal | null {\n return this.dialogContainerConfig.content as TemplatePortal;\n }\n\n get dialogContainerConfigContent(): string {\n return this.dialogContainerConfig.content as string;\n }\n\n public portalAttached(\n attachedRef: CdkPortalOutletAttachedRef,\n component: 'headerComponent' | 'bodyComponent' | 'footerComponent',\n ): void {\n const componentRef = attachedRef as ComponentRef<HC | BC | FC>;\n\n componentRef.instance['overlayRef'] = this.dialogContainerConfig.overlayRef;\n\n this.componentInstances = {\n ...this.componentInstances,\n [component]: componentRef.instance,\n };\n\n this.dialogContainerConfig.init(this.componentInstances);\n\n if (this.dialogContainerConfig[component].config) {\n Object.keys(this.dialogContainerConfig[component].config).forEach((c) => {\n if (typeof this.dialogContainerConfig[component].config[c] === 'function') {\n if (componentRef.instance[c] && typeof componentRef.instance[c] !== 'function') {\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 componentRef.instance[c].pipe(takeUntil(this.destroy$)).subscribe((args: any) => {\n this.dialogContainerConfig[component].config[c].apply(componentRef.instance[c], [args]);\n });\n }\n } else {\n componentRef.instance[c] = this.dialogContainerConfig[component].config[c];\n }\n });\n }\n }\n\n public closeDialog(): void {\n this.dialogContainerConfig.close(this.componentInstances);\n }\n\n public onDismiss(): void {\n this.dialogContainerConfig.dismiss(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnDismiss) {\n this.closeDialog();\n }\n }\n\n public onAccept(): void {\n this.dialogContainerConfig.accept(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnAccept) {\n this.closeDialog();\n }\n }\n\n /**\n * Based on certain conditions returns the id of the body content to the aria-describedby attr of the container\n */\n public getContentId(): string {\n if(!this.isBodyTemplatePortal && !this.isBodyComponentPortal) {\n return 'containerConfigId';\n } else if (this.isBodyTemplatePortal && !this.isBodyComponentPortal) {\n return 'bodyTemplatePortalId';\n } else if(this.isBodyComponentPortal) {\n return 'bodyComponentPortalId'\n }\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.acceptButtonDisabled$.next(true);\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.acceptButtonDisabled$.next(false);\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.dismissButtonDisabled$.next(true);\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.dismissButtonDisabled$.next(false);\n }\n\n public onScroll(): void {\n this.cd.detectChanges();\n }\n\n private createComponentPortal(component: ComponentType<HC | BC | FC>, config: HCC | BCC | FCC): ComponentPortal<HC | BC | FC> {\n const extendedConfig = { ...config, id: this.dialogContainerConfig.dialogId, overlayRef: this.dialogContainerConfig.overlayRef };\n return new ComponentPortal(component, null, this.createInjector(extendedConfig));\n }\n\n private createInjector(data: HCC | BCC | FCC): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n}\n","<div\n class=\"eui-dialog eui-dialog--{{ dialogContainerConfig.variant }} eui-18\"\n [class.eui-dialog--draggable]=\"dialogContainerConfig.isDraggable\"\n [class.eui-dialog--message-box]=\"dialogContainerConfig.isMessageBox\"\n [class.eui-dialog--no-padding]=\"dialogContainerConfig.hasNoBodyPadding\"\n [class.eui-dialog--custom-size]=\"dialogContainerConfig.hasMobileCustomSize\"\n [attr.role]=\"dialogContainerConfig.isMessageBox ? 'alertdialog' : 'dialog'\"\n aria-labelledby=\"dialogContent\"\n [attr.aria-describedby]=\"getContentId()\"\n tabindex=\"-1\"\n attr.data-e2e=\"{{ dialogContainerConfig.e2eAttr }}\"\n cdkDrag\n cdkDragRootElement=\".cdk-overlay-pane\"\n [cdkDragDisabled]=\"!dialogContainerConfig.isDraggable\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture>\n <div class=\"eui-dialog__content\" role=\"document\" id=\"dialogContent\" aria-labelledby=\"headerTitle\">\n <div class=\"eui-dialog__header\" [class.eui-dialog__header--handle-disabled]=\"!dialogContainerConfig.isDraggable\" cdkDragHandle>\n @if (!isHeaderTemplatePortal && !isHeaderComponentPortal) {\n\n @if (dialogContainerConfig.isMessageBox) {\n <eui-icon-state [euiVariant]=\"dialogContainerConfig.variant\" size=\"xl\" class=\"eui-dialog__header-icon\"/>\n }\n <h5 id=\"headerTitle\" class=\"eui-dialog__header-title\">{{ dialogContainerConfig.title | translate }}</h5>\n\n @if (dialogContainerConfig.hasCloseButton) {\n <div class=\"eui-dialog__header-close-container\">\n <button\n class=\"dialog-close-button\"\n (click)=\"closeDialog()\"\n euiButton\n euiIconButton\n euiRounded\n euiBasicButton\n aria-label=\"Dialog close icon\">\n <eui-icon-svg icon=\"close:outline\"></eui-icon-svg>\n </button>\n </div>\n }\n }\n @if (isHeaderTemplatePortal) {\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.header\"></ng-template>\n }\n @if (isHeaderComponentPortal) {\n <ng-template [cdkPortalOutlet]=\"headerComponentPortal\" (attached)=\"portalAttached($event, 'headerComponent')\"></ng-template>\n }\n </div>\n <div\n class=\"eui-dialog__body\"\n cdkScrollable\n [style.height]=\"dialogContainerConfig.height\"\n [style.max-height]=\"dialogContainerConfig.height\"\n (scroll)=\"onScroll()\"\n tabindex=\"0\">\n @if (!isBodyTemplatePortal && !isBodyComponentPortal) {\n <div\n id=\"containerConfigId\"\n class=\"eui-dialog__body-content not-isBodyTemplatePortal\"\n [innerHTML]=\"dialogContainerConfig.content ? (dialogContainerConfigContent | translate) : null\">\n </div>\n }\n @if (isBodyTemplatePortal && !isBodyComponentPortal) {\n <div id=\"bodyTemplatePortalId\" class=\"eui-dialog__body-content isBodyTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"getPortalOutlet\"></ng-template>\n </div>\n }\n @if (isBodyComponentPortal) {\n <div id=\"bodyComponentPortalId\" class=\"eui-dialog__body-content isBodyComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"bodyComponentPortal\" (attached)=\"portalAttached($event, 'bodyComponent')\"></ng-template>\n </div>\n }\n </div>\n @if (dialogContainerConfig.hasFooter) {\n <div class=\"eui-dialog__footer\">\n @if (!isFooterTemplatePortal && !isFooterComponentPortal) {\n @if (isFooterTemplatePortal) {\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n }\n @if (!isFooterTemplatePortal) {\n <div class=\"eui-dialog__footer-content\">\n @if (dialogContainerConfig.hasDismissButton) {\n <button\n euiButton\n type=\"button\"\n [euiDisabled]=\"dismissButtonDisabled$ | async\"\n class=\"eui-dialog__footer-dismiss-button\"\n [class.eui-dialog__footer-dismiss-button--with-accept-button]=\"dialogContainerConfig.hasAcceptButton\"\n (click)=\"onDismiss()\">\n {{ dialogContainerConfig.dismissLabel | translate }}\n </button>\n }\n @if (dialogContainerConfig.hasAcceptButton) {\n <button\n euiButton\n [euiVariant]=\"dialogContainerConfig.isMessageBox && !(dialogContainerConfig.variant === 'secondary') ? dialogContainerConfig.variant: 'primary'\"\n type=\"button\"\n [euiDisabled]=\"acceptButtonDisabled$ | async\"\n class=\"eui-dialog__footer-accept-button\"\n (click)=\"onAccept()\">\n {{ dialogContainerConfig.acceptLabel | translate }}\n </button>\n }\n </div>\n }\n }\n\n @if (isFooterTemplatePortal) {\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n }\n @if (isFooterComponentPortal) {\n <ng-template [cdkPortalOutlet]=\"footerComponentPortal\" (attached)=\"portalAttached($event, 'footerComponent')\"></ng-template>\n }\n\n </div>\n }\n </div>\n</div>\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef } from '@angular/core';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\n\nexport class OpenedDialog implements OpenedDialogInterface {\n id: string = null;\n order: number = null;\n overlayRef: OverlayRef = null;\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 containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>> = null;\n\n constructor(values: OpenedDialogInterface) {\n Object.assign(this, values);\n }\n}\n\nexport interface OpenedDialogInterface {\n id: string;\n order: number;\n overlayRef: OverlayRef;\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 containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>>;\n}\n","import { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector, OnDestroy, StaticProvider } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\nimport { EuiDialogInterface, EuiDialogComponentInstances, EuiDialogConfig } from '../models/eui-dialog.config';\nimport { OpenedDialog } from '../models/opened-dialog.model';\nimport { DIALOG_CONTAINER_CONFIG } from './eui-dialog.token';\nimport { EuiDialogVerticalPosition } from '../models/eui-dialog-alignment';\n\n@Injectable()\nexport class EuiDialogService implements OnDestroy {\n private overlayRef: OverlayRef;\n private openedDialogs$: BehaviorSubject<OpenedDialog[]> = new BehaviorSubject<OpenedDialog[]>([]);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private overlay: Overlay,\n private injector: Injector,\n ) {}\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.openedDialogs$.next(null);\n }\n\n /**\n * Open a dialog.\n *\n * @param config Configuration applied to the dialog.\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {}): OpenedDialog {\n const positionStrategy = this.getPositionStrategy(config.verticalPosition);\n const scrollStrategy = this.overlay.scrollStrategies.block();\n const hasClosedOnEscape = config.hasClosedOnEscape;\n const hasCloseButton = config.hasCloseButton;\n const dialogConfig = new EuiDialogConfig({\n ...config,\n hasClosedOnEscape,\n hasCloseButton,\n width: config.isFullScreen ? '98vw' : config.width,\n height: config.isFullScreen ? '97vh' : config.height,\n });\n const dialogId = 'eui-dialog-' + Math.floor(Math.random() * 10000);\n const overlayRef = this.overlay.create({\n backdropClass: ['eui-dialog__backdrop', dialogId + '__backdrop'],\n hasBackdrop: true,\n height: dialogConfig.height,\n width: dialogConfig.width,\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n panelClass: config.classList,\n });\n\n this.overlayRef = overlayRef;\n let openedDialog = new OpenedDialog({\n id: dialogId,\n order: this.openedDialogs$.value.length + 1,\n overlayRef,\n containerRef: null,\n });\n\n const extendedConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n ...dialogConfig,\n dialogId,\n overlayRef,\n init: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.init?.(instances);\n },\n open: () => {\n config.open?.();\n },\n clickOutside: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.clickOutside?.(instances);\n },\n escape: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.escape?.(instances);\n },\n close: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n if(!config.isHandleCloseOnClose) {\n this.closeDialog(dialogId);\n }\n config.close?.(instances);\n },\n dismiss: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.dismiss?.(instances);\n },\n accept: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.accept?.(instances);\n },\n };\n const containerPortal = new ComponentPortal<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>>(\n EuiDialogContainerComponent,\n null,\n this.createInjector(extendedConfig),\n );\n const containerRef: ComponentRef<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>> =\n openedDialog.overlayRef.attach(containerPortal);\n openedDialog = { ...openedDialog, containerRef };\n\n openedDialog.overlayRef\n .backdropClick()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (extendedConfig.hasClosedOnClickOutside) {\n config.clickOutside?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnClickOutside) {\n containerRef.instance.closeDialog();\n }\n }\n });\n\n if (extendedConfig.hasClosedOnEscape) {\n openedDialog.overlayRef\n .keydownEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n config.escape?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnEscape) {\n containerRef.instance.closeDialog();\n }\n }\n });\n }\n\n this.openedDialogs$.next([...this.openedDialogs$.value, openedDialog]);\n\n return openedDialog;\n }\n\n /**\n * Close a dialog\n *\n * @param dialogId The id of the dialog to close. If not provided the last opened one will be closed.\n */\n public closeDialog(dialogId?: string): void {\n if (dialogId) {\n this.openedDialogs$.value.find((o) => o.id === dialogId).overlayRef.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter((o) => o.id !== dialogId));\n this.overlayRef =\n this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n } else {\n this.overlayRef?.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter((o, i) => i < this.openedDialogs$.value.length - 1));\n this.overlayRef =\n this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n }\n }\n\n /**\n * Close all the dialogs.\n */\n public closeAllDialogs(): void {\n this.openedDialogs$.value.forEach((dialog) => {\n dialog.containerRef.instance.dialogContainerConfig.close?.(dialog.containerRef.instance.getComponentInstances);\n });\n }\n\n /**\n * Returns an `Observable` with all opened windows.\n *\n * @returns `Observable` of `OpenedDialog[]`.\n */\n public getOpenedDialog(): Observable<OpenedDialog[]> {\n return this.openedDialogs$;\n }\n\n /**\n * Returns an `Object` with a dialog\n *\n * @param dialogId id of the dialog to be returned\n * @returns `OpenedDialog`\n */\n public getDialog(dialogId: string): OpenedDialog {\n return this.openedDialogs$.value.find((o) => o.id === dialogId);\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableDismissButton();\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 private createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_CONTAINER_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n\n private getPositionStrategy(verticalPosition: EuiDialogVerticalPosition): GlobalPositionStrategy {\n const positionStrategy = this.overlay.position().global().centerHorizontally().centerVertically();\n if (verticalPosition === 'top') {\n positionStrategy.top();\n }\n return positionStrategy;\n }\n}\n","import {\n Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy, Output, EventEmitter,\n Directive, ContentChild, forwardRef, QueryList, ElementRef, OnInit, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogInterface } from './models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from './services/eui-dialog.token';\nimport { OpenedDialog } from './models/opened-dialog.model';\nimport { EuiDialogVerticalPosition } from './models/eui-dialog-alignment';\n\n@Component({\n selector: 'eui-dialog',\n templateUrl: './eui-dialog.component.html',\n styleUrls: ['./styles/_index.scss'],\n providers: [{ provide: DIALOG_COMPONENT_CONFIG, useValue: null }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiPrimary',\n 'euiSecondary',\n 'euiInfo',\n 'euiSuccess',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiDialogComponent implements AfterViewInit, OnDestroy, OnInit {\n @Input() e2eAttr = 'eui-dialog';\n @Input() title: string;\n @Input() acceptLabel = 'eui.OK';\n @Input() dismissLabel = 'eui.CANCEL';\n @Input() verticalPosition: EuiDialogVerticalPosition;\n @Input() width = '50%';\n @Input() height = 'auto';\n @Input({ transform: booleanAttribute }) isFullScreen = false;\n @Input({ transform: booleanAttribute }) hasCloseButton = true;\n @Input({ transform: booleanAttribute }) hasAcceptButton = true;\n @Input({ transform: booleanAttribute }) hasDismissButton = true;\n @Input({ transform: booleanAttribute }) hasMobileCustomSize = false;\n @Input({ transform: booleanAttribute }) hasClosedOnClickOutside = false;\n @Input({ transform: booleanAttribute }) hasClosedOnEscape = true;\n @Input({ transform: booleanAttribute }) isHandleCloseOnDismiss = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnAccept = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClickOutside = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnEscape = false;\n @Input({ transform: booleanAttribute }) isMessageBox = false;\n @Input({ transform: booleanAttribute }) isDraggable = false;\n @Input({ transform: booleanAttribute }) hasNoBodyPadding = false;\n @Input({ transform: booleanAttribute }) hasFooter = true;\n @Input() classList: string = null;\n\n @Output() clickOutside = new EventEmitter();\n @Output() escape = new EventEmitter();\n @Output() dialogOpen = new EventEmitter();\n @Output() dialogClose = new EventEmitter();\n @Output() dismiss = new EventEmitter();\n @Output() accept = new EventEmitter();\n\n public content: string | TemplatePortal;\n public isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @ViewChild('templateRefHeader') templateRefHeader: TemplateRef<EuiDialogHeaderDirective>;\n @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiDialogFooterDirective>;\n\n @ContentChild(forwardRef(() => EuiDialogHeaderDirective)) euiDialogHeaderDirective: QueryList<EuiDialogHeaderDirective>;\n @ContentChild(forwardRef(() => EuiDialogFooterDirective)) euiDialogFooterDirective: QueryList<EuiDialogFooterDirective>;\n\n private dialog: OpenedDialog;\n private templatePortalHeader: TemplatePortal<EuiDialogHeaderDirective>;\n private templatePortalContent: TemplatePortal<ElementRef>;\n private templatePortalFooter: TemplatePortal<EuiDialogFooterDirective>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private viewContainerRef: ViewContainerRef, private euiDialogService: EuiDialogService, public baseStatesDirective: BaseStatesDirective) {\n }\n\n ngOnInit(): void {\n if (this.isFullScreen) {\n this.width = '98vw';\n this.height = '97vh';\n }\n\n if (this.isMessageBox) {\n this.hasClosedOnEscape = false;\n this.hasCloseButton = false;\n }\n }\n\n ngAfterViewInit(): void {\n if (this.euiDialogHeaderDirective) {\n this.templatePortalHeader = new TemplatePortal(this.templateRefHeader, this.viewContainerRef);\n }\n\n this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n if (this.euiDialogFooterDirective) {\n this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Whether the eui-dialog is open.\n *\n * @usageNotes\n * ```html\n * <eui-dialog #dialog>\n * \\@if (dialog.isOpen) {\n * <my-component></my-component>\n * }\n * </eui-dialog>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Open a dialog.\n *\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(): OpenedDialog {\n const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n e2eAttr: this.e2eAttr,\n title: this.title,\n width: this.width,\n height: this.height,\n isFullScreen: this.isFullScreen,\n variant: this.baseStatesDirective.euiVariant,\n acceptLabel: this.acceptLabel,\n dismissLabel: this.dismissLabel,\n hasCloseButton: this.hasCloseButton,\n hasAcceptButton: this.hasAcceptButton,\n hasDismissButton: this.hasDismissButton,\n hasMobileCustomSize: this.hasMobileCustomSize,\n hasClosedOnClickOutside: this.hasClosedOnClickOutside,\n hasClosedOnEscape: this.hasClosedOnEscape,\n isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n isHandleCloseOnClose: this.isHandleCloseOnClose,\n isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n isHandleCloseOnClickOutside: this.isHandleCloseOnClickOutside,\n isHandleCloseOnEscape: this.isHandleCloseOnEscape,\n isDraggable: this.isDraggable,\n hasNoBodyPadding: this.hasNoBodyPadding,\n hasFooter: this.hasFooter,\n verticalPosition: this.verticalPosition,\n header: this.templatePortalHeader,\n content: this.templatePortalContent,\n footer: this.templatePortalFooter,\n classList: this.classList,\n clickOutside: () => {\n if (this.hasClosedOnClickOutside) {\n this.isOpen$.next(false);\n }\n this.clickOutside.emit();\n },\n escape: () => {\n if (this.hasClosedOnEscape) {\n this.isOpen$.next(false);\n }\n this.escape.emit();\n },\n open: () => {\n this.dialogOpen.emit();\n },\n close: () => {\n if (!this.isHandleCloseOnClose) {\n this.isOpen$.next(false);\n }\n this.dialogClose.emit();\n },\n dismiss: () => {\n if (!this.isHandleCloseOnDismiss) {\n this.isOpen$.next(false);\n }\n this.dismiss.emit();\n },\n accept: () => {\n if (!this.isHandleCloseOnAccept) {\n this.isOpen$.next(false);\n }\n this.accept.emit();\n },\n };\n\n this.isOpen$.next(true);\n this.dialog = this.euiDialogService.openDialog(config);\n\n return this.dialog;\n }\n\n /**\n * Close a Dialog\n */\n public closeDialog(): void {\n this.isOpen$.next(false);\n this.euiDialogService.closeDialog();\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableDismissButton();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-dialog-header', standalone: false, })\nexport class EuiDialogHeaderDirective {}\n\n@Directive({ selector: 'eui-dialog-footer', standalone: false, })\nexport class EuiDialogFooterDirective {}\n/* eslint-enable */\n","<ng-template #templateRefHeader>\n <ng-content select=\"eui-dialog-header\"></ng-content>\n</ng-template>\n<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-dialog-footer\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\n\nimport { EuiDialogComponent, EuiDialogFooterDirective, EuiDialogHeaderDirective } from './eui-dialog.component';\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogContainerComponent } from './container/eui-dialog-container.component';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\nimport { EuiIconStateModule } from '@eui/components/eui-icon-state';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiButtonModule,\n EuiIconModule,\n EuiIconButtonModule,\n EuiIconStateModule,\n TranslateModule,\n PortalModule,\n OverlayModule,\n A11yModule,\n DragDropModule,\n CdkScrollableModule,\n ],\n exports: [EuiDialogComponent, EuiDialogHeaderDirective, EuiDialogFooterDirective],\n declarations: [EuiDialogComponent, EuiDialogHeaderDirective, EuiDialogFooterDirective, EuiDialogContainerComponent],\n providers: [EuiDialogService],\n})\nexport class EuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.EuiDialogService","i2"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-user-profile.mjs","sources":["../../eui-user-profile/user-profile-menu-item/user-profile-menu-item.component.ts","../../eui-user-profile/user-profile-menu/user-profile-menu.component.ts","../../eui-user-profile/user-profile.component.ts","../../eui-user-profile/user-profile.component.html","../../eui-user-profile/user-profile-card/user-profile-card.component.ts","../../eui-user-profile/user-profile-card/user-profile-card.component.html","../../eui-user-profile/user-profile.module.ts","../../eui-user-profile/eui-components-eui-user-profile.ts"],"sourcesContent":["import { Component, HostBinding, ViewEncapsulation, ElementRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'eui-user-profile-menu-item',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileMenuItemComponent implements FocusableOption {\n @HostBinding('class') class = 'eui-user-profile-menu-item';\n @HostBinding('attr.tabindex') tabindex = '-1';\n @HostBinding('attr.role') role = 'menuitem';\n\n constructor(private element: ElementRef) {}\n\n focus(): void {\n this.element.nativeElement.focus();\n }\n}\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n AfterContentInit,\n QueryList,\n ContentChildren,\n OnDestroy,\n HostListener,\n forwardRef,\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiUserProfileMenuItemComponent } from '../user-profile-menu-item/user-profile-menu-item.component';\nimport { EuiDropdownService } from '@eui/components/eui-dropdown';\n\n@Component({\n selector: 'eui-user-profile-menu',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileMenuComponent implements AfterContentInit, OnDestroy {\n @HostBinding() class = 'eui-user-profile-menu';\n @HostBinding('attr.role') role = 'menu';\n\n @ContentChildren(forwardRef(() => EuiUserProfileMenuItemComponent)) items: QueryList<EuiUserProfileMenuItemComponent>;\n private focusKeyManager: FocusKeyManager<EuiUserProfileMenuItemComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private dropdownService: EuiDropdownService) {}\n\n @HostListener('keydown', ['$event'])\n onKeydown(event): void {\n this.focusKeyManager.onKeydown(event);\n }\n\n ngAfterContentInit(): void {\n this.dropdownService.isDropdownOpen.pipe(takeUntil(this.destroy$)).subscribe((isOpen: boolean) => {\n if (isOpen) {\n this.focusKeyManager = new FocusKeyManager(this.items).withWrap();\n this.focusKeyManager.setFirstItemActive();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n ViewChild,\n OnDestroy,\n forwardRef,\n QueryList,\n AfterViewInit,\n ContentChildren,\n ElementRef,\n booleanAttribute,\n Signal,\n computed,\n} from '@angular/core';\nimport { UserState } from '@eui/core';\nimport { UserService } from '@eui/core';\nimport { EuiDropdownComponent } from '@eui/components/eui-dropdown';\nimport { Subject } from 'rxjs';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\n\nexport interface UserProfile extends UserState {\n impersonatingUser?: UserProfile;\n function?: string;\n organisation?: {\n code: string\n }\n}\n\n@Component({\n selector: 'eui-user-profile',\n templateUrl: './user-profile.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSizeS',\n 'euiSecondary',\n 'euiPrimary',\n ],\n },\n ],\n})\nexport class EuiUserProfileComponent implements OnInit, OnDestroy, AfterViewInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-user-profile'),\n this.isReverse ? 'eui-user-profile--reverse': '',\n this.isShowAvatarInitials ? 'eui-user-profile--initials': '',\n ].join(' ').trim();\n }\n\n userState: Signal<UserProfile>;\n avatarInitials: Signal<string>;\n\n @Input() welcomeLabel = 'Welcome';\n @Input() impersonateLabel = 'impersonating';\n @Input() avatarUrl: string;\n @Input() subInfos: string;\n @Input() statusVariant = 'success';\n\n @Input({ transform: booleanAttribute }) hasMenu = false;\n @Input({ transform: booleanAttribute }) hasWelcomeLabel = true;\n @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n @Input({ transform: booleanAttribute }) isReverse = false;\n @Input({ transform: booleanAttribute }) hasToggle = false;\n @Input({ transform: booleanAttribute }) isHeaderUserProfile = false;\n @Input({ transform: booleanAttribute }) isShowUserInfos = true;\n\n @Input({ transform: booleanAttribute }) euiStatusSecondary = false;\n @Input({ transform: booleanAttribute }) euiStatusSuccess = false;\n @Input({ transform: booleanAttribute }) euiStatusDanger = false;\n\n @ViewChild('dropdown') dropdown: EuiDropdownComponent;\n @ContentChildren(forwardRef(() => EuiUserProfileMenuComponent), { descendants: true })\n hasMenuContent: QueryList<EuiUserProfileMenuComponent>;\n\n isDropdownOpen = false;\n\n private unsubscribeSubject$: Subject<void> = new Subject();\n\n constructor(\n private elRef: ElementRef,\n private userService: UserService<UserProfile>,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n }\n\n ngOnInit(): void {\n this.userState = this.userService.getSignal();\n this.avatarInitials = computed(() => {\n const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n return `${firstNameInitial}${lastNameInitial}`;\n });\n }\n\n ngAfterViewInit(): void {\n let hasToolbarItemParent = false, toolbar;\n\n try {\n hasToolbarItemParent = this.elRef.nativeElement.closest('eui-toolbar-item');\n toolbar = this.elRef.nativeElement.closest('eui-toolbar');\n } catch(e) {\n // do nothing\n }\n\n setTimeout(() => {\n if (hasToolbarItemParent) {\n this.baseStatesDirective.euiSizeS = true;\n if (toolbar && toolbar.classList.contains('eui--secondary') || this.baseStatesDirective.euiSecondary) {\n this.baseStatesDirective.euiSecondary = true;\n } else {\n this.baseStatesDirective.euiPrimary = true;\n }\n }\n if (hasToolbarItemParent || !this.isHeaderUserProfile) {\n this.hasMenu = this.hasMenuContent.length !== 0;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.unsubscribeSubject$.next();\n this.unsubscribeSubject$.complete();\n }\n\n closeDropdown(): void {\n this.dropdown.closeDropdown();\n this.isDropdownOpen = false;\n }\n\n onDropdownExpand(isOpen: boolean): void {\n this.isDropdownOpen = isOpen;\n }\n}\n","@if (hasMenu) {\n <eui-dropdown [hasTabNavigation]=\"hasTabNavigation\" width=\"340px\" #dropdown (expand)=\"onDropdownExpand($event)\">\n <ng-container *ngTemplateOutlet=\"userProfileContent\"/>\n <eui-dropdown-content>\n <ng-content/>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-container *ngTemplateOutlet=\"userProfileContent\"/>\n}\n\n<ng-template #userProfileContent>\n <button class=\"eui-user-profile-content\" [tabindex]=\"hasMenu ? '0' : '-1'\" [class.eui-user-profile-content--no-menu]=\"!hasMenu\">\n\n @if (isShowUserInfos) {\n <div class=\"eui-user-profile__infos\">\n @if (userState()?.impersonatingUser) {\n <div class=\"eui-user-profile__infos-welcome\">\n @if (hasWelcomeLabel) {\n <span>{{ welcomeLabel }}</span>\n }\n {{ userState()?.impersonatingUser?.firstName }} <strong>{{ userState()?.impersonatingUser?.lastName}}</strong>\n <span> {{ impersonateLabel }}</span>\n </div>\n <div class=\"eui-user-profile__infos-name\">\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\n </div>\n @if (subInfos) {\n <div class=\"eui-user-profile__infos-subinfos\">{{ subInfos }}</div>\n }\n } @else {\n @if (hasWelcomeLabel) {\n <div class=\"eui-user-profile__infos-welcome\">{{ welcomeLabel }}</div>\n }\n <div class=\"eui-user-profile__infos-name\">\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\n </div>\n @if (subInfos) {\n <div class=\"eui-user-profile__infos-subinfos\">{{ subInfos }}</div>\n }\n }\n </div>\n }\n\n <eui-avatar isFlat [euiSizeS]=\"baseStatesDirective.euiSizeS\" [hasShadow]=\"userState()?.impersonatingUser\">\n\n @if (isShowAvatarInitials) {\n <eui-avatar-text>{{ avatarInitials() }}</eui-avatar-text>\n } @else {\n <eui-avatar-image [imageUrl]=\"avatarUrl\"/>\n }\n\n @if (euiStatusSecondary || euiStatusSuccess || euiStatusDanger) {\n <eui-avatar-badge position=\"bottom\">\n @if (euiStatusSuccess) {\n <eui-badge euiSuccess euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"checkmark:outline\" size=\"xs\"/>\n </eui-badge>\n } @else if (euiStatusDanger) {\n <eui-badge euiDanger euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"remove:outline\" size=\"xs\"/>\n </eui-badge>\n } @else if (euiStatusSecondary) {\n <eui-badge euiSecondary euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"close-circle:outline\" fillColor=\"neutral\" size=\"xs\"/>\n </eui-badge>\n }\n </eui-avatar-badge>\n }\n </eui-avatar>\n\n @if (hasMenu || hasToggle) {\n @if (isDropdownOpen) {\n <eui-icon-svg icon=\"chevron-up:sharp\" size=\"s\" class=\"eui-user-profile__drop-indicator\"/>\n } @else {\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\" class=\"eui-user-profile__drop-indicator\"/>\n }\n }\n </button>\n</ng-template>\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n OnInit,\n EventEmitter,\n Output,\n OnDestroy,\n booleanAttribute,\n computed,\n Signal,\n} from '@angular/core';\nimport { UserProfile } from '../user-profile.component';\nimport { UserService } from '@eui/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'eui-user-profile-card',\n templateUrl: './user-profile-card.component.html',\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileCardComponent implements OnInit, OnDestroy {\n @HostBinding('class')\n public get cssClasses(): string {\n return 'eui-user-profile-card';\n }\n\n avatarInitials: Signal<string>;\n userState: Signal<UserProfile>;\n isOnline = true;\n\n @Input() impersonateLabel = 'impersonating';\n @Input() showDetailsLabel = 'Show profile details';\n @Input() avatarUrl: string;\n @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n\n @Output() showProfileInfo: EventEmitter<void> = new EventEmitter();\n @Output() closeProfileMenu: EventEmitter<void> = new EventEmitter();\n\n private unsubscribeSubject$: Subject<void> = new Subject();\n\n constructor(\n private userService: UserService<UserProfile>,\n ) {\n }\n\n ngOnInit(): void {\n this.userState = this.userService.getSignal();\n this.avatarInitials = computed(() => {\n const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n return `${firstNameInitial}${lastNameInitial}`;\n });\n }\n\n ngOnDestroy(): void {\n this.unsubscribeSubject$.next();\n this.unsubscribeSubject$.complete();\n }\n\n onShowInfoClick(): void {\n this.showProfileInfo.emit();\n }\n\n onClose(): void {\n this.closeProfileMenu.emit();\n }\n}\n","<div class=\"eui-user-profile-card__main-wrapper\">\n <div class=\"eui-user-profile-card__avatar-wrapper\">\n <eui-avatar euiSizeL isFlat>\n <eui-avatar-text *ngIf=\"isShowAvatarInitials; else noAvatarInitials\">\n {{ avatarInitials() }}\n </eui-avatar-text>\n <ng-template #noAvatarInitials>\n <eui-avatar-image *ngIf=\"!avatarUrl\"></eui-avatar-image>\n <eui-avatar-image *ngIf=\"avatarUrl\" [imageUrl]=\"avatarUrl\"></eui-avatar-image>\n </ng-template>\n </eui-avatar>\n </div>\n <div class=\"eui-user-profile-card__userInfos\">\n <div class=\"eui-u-f-xl eui-u-mb-s\">{{ userState().fullName }}</div>\n <div *ngIf=\"userState().function\" class=\"eui-user-profile-card__userInfos-item\">\n {{ userState().function }}\n </div>\n <div *ngIf=\"userState().organisation && userState().organisation.code\" class=\"eui-user-profile-card__userInfos-item\">\n {{ userState().organisation.code }}\n </div>\n </div>\n <div class=\"eui-user-profile-card__main-wrapper-right-content\">\n <eui-icon-button icon=\"close:outline\" size=\"s\" euiRounded (buttonClick)=\"onClose()\"/>\n <button euiButton euiIconButton euiInfo euiSizeS class=\"eui-u-ml-auto eui-u-mt-m\" tabindex=\"0\" (click)=\"onShowInfoClick()\" title=\"{{ showDetailsLabel }}\">\n <eui-icon-svg icon=\"information:outline\"></eui-icon-svg>\n </button>\n </div>\n</div>\n\n<ng-container *ngIf=\"userState()?.impersonatingUser\">\n <div class=\"eui-user-profile-card__impersonateInfos\">\n <div>{{ userState()?.impersonatingUser?.firstName }} {{ userState()?.impersonatingUser?.lastName }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ userState()?.fullName }}</strong>\n </div>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\nimport { EuiUserProfileMenuItemComponent } from './user-profile-menu-item/user-profile-menu-item.component';\n\nimport { EuiUserProfileComponent } from './user-profile.component';\nimport { EuiUserProfileCardComponent } from './user-profile-card/user-profile-card.component';\n\nimport { EuiAvatarModule } from '@eui/components/eui-avatar';\nimport { EuiBadgeModule } from '@eui/components/eui-badge';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\n\nconst COMPONENTS = [EuiUserProfileComponent, EuiUserProfileMenuComponent, EuiUserProfileMenuItemComponent, EuiUserProfileCardComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n EuiIconModule,\n EuiDropdownModule,\n EuiButtonModule,\n EuiAvatarModule,\n EuiIconButtonModule,\n EuiBadgeModule,\n ],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EuiUserProfileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i5","i2","i3","i4","i6"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-user-profile.mjs","sources":["../../eui-user-profile/user-profile-menu-item/user-profile-menu-item.component.ts","../../eui-user-profile/user-profile-menu/user-profile-menu.component.ts","../../eui-user-profile/user-profile.component.ts","../../eui-user-profile/user-profile.component.html","../../eui-user-profile/user-profile-card/user-profile-card.component.ts","../../eui-user-profile/user-profile-card/user-profile-card.component.html","../../eui-user-profile/user-profile.module.ts","../../eui-user-profile/eui-components-eui-user-profile.ts"],"sourcesContent":["import { Component, HostBinding, ViewEncapsulation, ElementRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'eui-user-profile-menu-item',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileMenuItemComponent implements FocusableOption {\n @HostBinding('class') class = 'eui-user-profile-menu-item';\n @HostBinding('attr.tabindex') tabindex = '-1';\n @HostBinding('attr.role') role = 'menuitem';\n\n constructor(private element: ElementRef) {}\n\n focus(): void {\n this.element.nativeElement.focus();\n }\n}\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n AfterContentInit,\n QueryList,\n ContentChildren,\n OnDestroy,\n HostListener,\n forwardRef,\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiUserProfileMenuItemComponent } from '../user-profile-menu-item/user-profile-menu-item.component';\nimport { EuiDropdownService } from '@eui/components/eui-dropdown';\n\n@Component({\n selector: 'eui-user-profile-menu',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileMenuComponent implements AfterContentInit, OnDestroy {\n @HostBinding() class = 'eui-user-profile-menu';\n @HostBinding('attr.role') role = 'menu';\n\n @ContentChildren(forwardRef(() => EuiUserProfileMenuItemComponent)) items: QueryList<EuiUserProfileMenuItemComponent>;\n private focusKeyManager: FocusKeyManager<EuiUserProfileMenuItemComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private dropdownService: EuiDropdownService) {}\n\n @HostListener('keydown', ['$event'])\n onKeydown(event): void {\n this.focusKeyManager.onKeydown(event);\n }\n\n ngAfterContentInit(): void {\n this.dropdownService.isDropdownOpen.pipe(takeUntil(this.destroy$)).subscribe((isOpen: boolean) => {\n if (isOpen) {\n this.focusKeyManager = new FocusKeyManager(this.items).withWrap();\n this.focusKeyManager.setFirstItemActive();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n ViewChild,\n OnDestroy,\n forwardRef,\n QueryList,\n AfterViewInit,\n ContentChildren,\n ElementRef,\n booleanAttribute,\n Signal,\n computed,\n} from '@angular/core';\nimport { UserState } from '@eui/core';\nimport { UserService } from '@eui/core';\nimport { EuiDropdownComponent } from '@eui/components/eui-dropdown';\nimport { Subject } from 'rxjs';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\n\n/**\n * Represents an extended user profile that includes impersonation capabilities\n * and organizational information.\n * @extends {UserState}\n *\n * When using this interface with UserService, specify it as the generic type parameter:\n * Example: private userService: UserService<UserProfile>\n */\nexport interface UserProfile extends UserState {\n /** The profile of another user being impersonated, if applicable */\n impersonatingUser?: UserProfile;\n /** The user's function or role within the system */\n function?: string;\n /** The organization details associated with the user */\n organisation?: {\n /** The unique code identifying the organization */\n code: string\n }\n}\n\n@Component({\n selector: 'eui-user-profile',\n templateUrl: './user-profile.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSizeS',\n 'euiSecondary',\n 'euiPrimary',\n ],\n },\n ],\n})\nexport class EuiUserProfileComponent implements OnInit, OnDestroy, AfterViewInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-user-profile'),\n this.isReverse ? 'eui-user-profile--reverse': '',\n this.isShowAvatarInitials ? 'eui-user-profile--initials': '',\n ].join(' ').trim();\n }\n\n userState: Signal<UserProfile>;\n avatarInitials: Signal<string>;\n\n @Input() welcomeLabel = 'Welcome';\n @Input() impersonateLabel = 'impersonating';\n @Input() avatarUrl: string;\n @Input() subInfos: string;\n @Input() statusVariant = 'success';\n\n @Input({ transform: booleanAttribute }) hasMenu = false;\n @Input({ transform: booleanAttribute }) hasWelcomeLabel = true;\n @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n @Input({ transform: booleanAttribute }) isReverse = false;\n @Input({ transform: booleanAttribute }) hasToggle = false;\n @Input({ transform: booleanAttribute }) isHeaderUserProfile = false;\n @Input({ transform: booleanAttribute }) isShowUserInfos = true;\n\n @Input({ transform: booleanAttribute }) euiStatusSecondary = false;\n @Input({ transform: booleanAttribute }) euiStatusSuccess = false;\n @Input({ transform: booleanAttribute }) euiStatusDanger = false;\n\n @ViewChild('dropdown') dropdown: EuiDropdownComponent;\n @ContentChildren(forwardRef(() => EuiUserProfileMenuComponent), { descendants: true })\n hasMenuContent: QueryList<EuiUserProfileMenuComponent>;\n\n isDropdownOpen = false;\n\n private unsubscribeSubject$: Subject<void> = new Subject();\n\n constructor(\n private elRef: ElementRef,\n private userService: UserService<UserProfile>,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n }\n\n ngOnInit(): void {\n this.userState = this.userService.getSignal();\n this.avatarInitials = computed(() => {\n const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n return `${firstNameInitial}${lastNameInitial}`;\n });\n }\n\n ngAfterViewInit(): void {\n let hasToolbarItemParent = false, toolbar;\n\n try {\n hasToolbarItemParent = this.elRef.nativeElement.closest('eui-toolbar-item');\n toolbar = this.elRef.nativeElement.closest('eui-toolbar');\n } catch(e) {\n // do nothing\n }\n\n setTimeout(() => {\n if (hasToolbarItemParent) {\n this.baseStatesDirective.euiSizeS = true;\n if (toolbar && toolbar.classList.contains('eui--secondary') || this.baseStatesDirective.euiSecondary) {\n this.baseStatesDirective.euiSecondary = true;\n } else {\n this.baseStatesDirective.euiPrimary = true;\n }\n }\n if (hasToolbarItemParent || !this.isHeaderUserProfile) {\n this.hasMenu = this.hasMenuContent.length !== 0;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.unsubscribeSubject$.next();\n this.unsubscribeSubject$.complete();\n }\n\n closeDropdown(): void {\n this.dropdown.closeDropdown();\n this.isDropdownOpen = false;\n }\n\n onDropdownExpand(isOpen: boolean): void {\n this.isDropdownOpen = isOpen;\n }\n}\n","@if (hasMenu) {\n <eui-dropdown [hasTabNavigation]=\"hasTabNavigation\" width=\"340px\" #dropdown (expand)=\"onDropdownExpand($event)\">\n <ng-container *ngTemplateOutlet=\"userProfileContent\"/>\n <eui-dropdown-content>\n <ng-content/>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-container *ngTemplateOutlet=\"userProfileContent\"/>\n}\n\n<ng-template #userProfileContent>\n <button class=\"eui-user-profile-content\" [tabindex]=\"hasMenu ? '0' : '-1'\" [class.eui-user-profile-content--no-menu]=\"!hasMenu\">\n\n @if (isShowUserInfos) {\n <div class=\"eui-user-profile__infos\">\n @if (userState()?.impersonatingUser) {\n <div class=\"eui-user-profile__infos-welcome\">\n @if (hasWelcomeLabel) {\n <span>{{ welcomeLabel }}</span>\n }\n {{ userState()?.impersonatingUser?.firstName }} <strong>{{ userState()?.impersonatingUser?.lastName}}</strong>\n <span> {{ impersonateLabel }}</span>\n </div>\n <div class=\"eui-user-profile__infos-name\">\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\n </div>\n @if (subInfos) {\n <div class=\"eui-user-profile__infos-subinfos\">{{ subInfos }}</div>\n }\n } @else {\n @if (hasWelcomeLabel) {\n <div class=\"eui-user-profile__infos-welcome\">{{ welcomeLabel }}</div>\n }\n <div class=\"eui-user-profile__infos-name\">\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\n </div>\n @if (subInfos) {\n <div class=\"eui-user-profile__infos-subinfos\">{{ subInfos }}</div>\n }\n }\n </div>\n }\n\n <eui-avatar isFlat [euiSizeS]=\"baseStatesDirective.euiSizeS\" [hasShadow]=\"userState()?.impersonatingUser\">\n\n @if (isShowAvatarInitials) {\n <eui-avatar-text>{{ avatarInitials() }}</eui-avatar-text>\n } @else {\n <eui-avatar-image [imageUrl]=\"avatarUrl\"/>\n }\n\n @if (euiStatusSecondary || euiStatusSuccess || euiStatusDanger) {\n <eui-avatar-badge position=\"bottom\">\n @if (euiStatusSuccess) {\n <eui-badge euiSuccess euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"checkmark:outline\" size=\"xs\"/>\n </eui-badge>\n } @else if (euiStatusDanger) {\n <eui-badge euiDanger euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"remove:outline\" size=\"xs\"/>\n </eui-badge>\n } @else if (euiStatusSecondary) {\n <eui-badge euiSecondary euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"close-circle:outline\" fillColor=\"neutral\" size=\"xs\"/>\n </eui-badge>\n }\n </eui-avatar-badge>\n }\n </eui-avatar>\n\n @if (hasMenu || hasToggle) {\n @if (isDropdownOpen) {\n <eui-icon-svg icon=\"chevron-up:sharp\" size=\"s\" class=\"eui-user-profile__drop-indicator\"/>\n } @else {\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\" class=\"eui-user-profile__drop-indicator\"/>\n }\n }\n </button>\n</ng-template>\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n OnInit,\n EventEmitter,\n Output,\n OnDestroy,\n booleanAttribute,\n computed,\n Signal,\n} from '@angular/core';\nimport { UserProfile } from '../user-profile.component';\nimport { UserService } from '@eui/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'eui-user-profile-card',\n templateUrl: './user-profile-card.component.html',\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileCardComponent implements OnInit, OnDestroy {\n @HostBinding('class')\n public get cssClasses(): string {\n return 'eui-user-profile-card';\n }\n\n avatarInitials: Signal<string>;\n userState: Signal<UserProfile>;\n isOnline = true;\n\n @Input() impersonateLabel = 'impersonating';\n @Input() showDetailsLabel = 'Show profile details';\n @Input() avatarUrl: string;\n @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n\n @Output() showProfileInfo: EventEmitter<void> = new EventEmitter();\n @Output() closeProfileMenu: EventEmitter<void> = new EventEmitter();\n\n private unsubscribeSubject$: Subject<void> = new Subject();\n\n constructor(\n private userService: UserService<UserProfile>,\n ) {\n }\n\n ngOnInit(): void {\n this.userState = this.userService.getSignal();\n this.avatarInitials = computed(() => {\n const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n return `${firstNameInitial}${lastNameInitial}`;\n });\n }\n\n ngOnDestroy(): void {\n this.unsubscribeSubject$.next();\n this.unsubscribeSubject$.complete();\n }\n\n onShowInfoClick(): void {\n this.showProfileInfo.emit();\n }\n\n onClose(): void {\n this.closeProfileMenu.emit();\n }\n}\n","<div class=\"eui-user-profile-card__main-wrapper\">\n <div class=\"eui-user-profile-card__avatar-wrapper\">\n <eui-avatar euiSizeL isFlat>\n <eui-avatar-text *ngIf=\"isShowAvatarInitials; else noAvatarInitials\">\n {{ avatarInitials() }}\n </eui-avatar-text>\n <ng-template #noAvatarInitials>\n <eui-avatar-image *ngIf=\"!avatarUrl\"></eui-avatar-image>\n <eui-avatar-image *ngIf=\"avatarUrl\" [imageUrl]=\"avatarUrl\"></eui-avatar-image>\n </ng-template>\n </eui-avatar>\n </div>\n <div class=\"eui-user-profile-card__userInfos\">\n <div class=\"eui-u-f-xl eui-u-mb-s\">{{ userState().fullName }}</div>\n <div *ngIf=\"userState().function\" class=\"eui-user-profile-card__userInfos-item\">\n {{ userState().function }}\n </div>\n <div *ngIf=\"userState().organisation && userState().organisation.code\" class=\"eui-user-profile-card__userInfos-item\">\n {{ userState().organisation.code }}\n </div>\n </div>\n <div class=\"eui-user-profile-card__main-wrapper-right-content\">\n <eui-icon-button icon=\"close:outline\" size=\"s\" euiRounded (buttonClick)=\"onClose()\"/>\n <button euiButton euiIconButton euiInfo euiSizeS class=\"eui-u-ml-auto eui-u-mt-m\" tabindex=\"0\" (click)=\"onShowInfoClick()\" title=\"{{ showDetailsLabel }}\">\n <eui-icon-svg icon=\"information:outline\"></eui-icon-svg>\n </button>\n </div>\n</div>\n\n<ng-container *ngIf=\"userState()?.impersonatingUser\">\n <div class=\"eui-user-profile-card__impersonateInfos\">\n <div>{{ userState()?.impersonatingUser?.firstName }} {{ userState()?.impersonatingUser?.lastName }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ userState()?.fullName }}</strong>\n </div>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\nimport { EuiUserProfileMenuItemComponent } from './user-profile-menu-item/user-profile-menu-item.component';\n\nimport { EuiUserProfileComponent } from './user-profile.component';\nimport { EuiUserProfileCardComponent } from './user-profile-card/user-profile-card.component';\n\nimport { EuiAvatarModule } from '@eui/components/eui-avatar';\nimport { EuiBadgeModule } from '@eui/components/eui-badge';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\n\nconst COMPONENTS = [EuiUserProfileComponent, EuiUserProfileMenuComponent, EuiUserProfileMenuItemComponent, EuiUserProfileCardComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n EuiIconModule,\n EuiDropdownModule,\n EuiButtonModule,\n EuiAvatarModule,\n EuiIconButtonModule,\n EuiBadgeModule,\n ],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EuiUserProfileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i5","i2","i3","i4","i6"],"mappings":"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"}
|
@@ -152,6 +152,7 @@ class EuiAppSidebarMenuComponent {
|
|
152
152
|
this.hasFilter = false;
|
153
153
|
this.hasIcons = false;
|
154
154
|
this.hasTooltip = true;
|
155
|
+
this.hasTooltipOnExpanded = false;
|
155
156
|
this.expandAllItems = false;
|
156
157
|
this.isCollapsed = false;
|
157
158
|
this.hasCollapsedInitials = false;
|
@@ -193,11 +194,11 @@ class EuiAppSidebarMenuComponent {
|
|
193
194
|
this.sidebarItemToggle.emit(event);
|
194
195
|
}
|
195
196
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EuiAppSidebarMenuComponent, deps: [{ token: i1.EuiAppShellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
196
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.3", type: EuiAppSidebarMenuComponent, isStandalone: false, selector: "eui-app-sidebar-menu", inputs: { hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute], hasBoldRootLevel: ["hasBoldRootLevel", "hasBoldRootLevel", booleanAttribute], items: "items" }, outputs: { sidebarItemClick: "sidebarItemClick", sidebarItemToggle: "sidebarItemToggle" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0, template: "<eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [expandAllItems]=\"expandAllItems\"\n [isFlat]=\"isFlat\"\n [hasScrollToItem]=\"hasScrollToItem\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n [isCollapsed]=\"!(asService.state$ | async).isSidebarOpen\"\n (itemClick)=\"onMenuItemClicked($event)\"\n (expandToggle)=\"onSidebarItemToggled($event)\">\n</eui-menu>\n", dependencies: [{ kind: "component", type: i2.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "filterValue", "isCollapsed", "hasCollapsedInitials", "hasFilter", "hasIcons", "hasTooltip", "hasTooltipOnExpanded", "expandAllItems", "isFlat", "hasScrollToItem", "hasBoldRootLevel"], outputs: ["isClick", "itemClick", "expandToggle"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.3", type: EuiAppSidebarMenuComponent, isStandalone: false, selector: "eui-app-sidebar-menu", inputs: { hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], hasTooltipOnExpanded: ["hasTooltipOnExpanded", "hasTooltipOnExpanded", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute], hasBoldRootLevel: ["hasBoldRootLevel", "hasBoldRootLevel", booleanAttribute], items: "items" }, outputs: { sidebarItemClick: "sidebarItemClick", sidebarItemToggle: "sidebarItemToggle" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0, template: "<eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [hasTooltipOnExpanded]=\"hasTooltipOnExpanded\"\n [expandAllItems]=\"expandAllItems\"\n [isFlat]=\"isFlat\"\n [hasScrollToItem]=\"hasScrollToItem\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n [isCollapsed]=\"!(asService.state$ | async).isSidebarOpen\"\n (itemClick)=\"onMenuItemClicked($event)\"\n (expandToggle)=\"onSidebarItemToggled($event)\">\n</eui-menu>\n", dependencies: [{ kind: "component", type: i2.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "filterValue", "isCollapsed", "hasCollapsedInitials", "hasFilter", "hasIcons", "hasTooltip", "hasTooltipOnExpanded", "expandAllItems", "isFlat", "hasScrollToItem", "hasBoldRootLevel"], outputs: ["isClick", "itemClick", "expandToggle"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
197
198
|
}
|
198
199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EuiAppSidebarMenuComponent, decorators: [{
|
199
200
|
type: Component,
|
200
|
-
args: [{ selector: 'eui-app-sidebar-menu', encapsulation: ViewEncapsulation.None, standalone: false, template: "<eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [expandAllItems]=\"expandAllItems\"\n [isFlat]=\"isFlat\"\n [hasScrollToItem]=\"hasScrollToItem\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n [isCollapsed]=\"!(asService.state$ | async).isSidebarOpen\"\n (itemClick)=\"onMenuItemClicked($event)\"\n (expandToggle)=\"onSidebarItemToggled($event)\">\n</eui-menu>\n" }]
|
201
|
+
args: [{ selector: 'eui-app-sidebar-menu', encapsulation: ViewEncapsulation.None, standalone: false, template: "<eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [hasTooltipOnExpanded]=\"hasTooltipOnExpanded\"\n [expandAllItems]=\"expandAllItems\"\n [isFlat]=\"isFlat\"\n [hasScrollToItem]=\"hasScrollToItem\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n [isCollapsed]=\"!(asService.state$ | async).isSidebarOpen\"\n (itemClick)=\"onMenuItemClicked($event)\"\n (expandToggle)=\"onSidebarItemToggled($event)\">\n</eui-menu>\n" }]
|
201
202
|
}], ctorParameters: () => [{ type: i1.EuiAppShellService }], propDecorators: { class: [{
|
202
203
|
type: HostBinding
|
203
204
|
}], hasFilter: [{
|
@@ -209,6 +210,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
209
210
|
}], hasTooltip: [{
|
210
211
|
type: Input,
|
211
212
|
args: [{ transform: booleanAttribute }]
|
213
|
+
}], hasTooltipOnExpanded: [{
|
214
|
+
type: Input,
|
215
|
+
args: [{ transform: booleanAttribute }]
|
212
216
|
}], expandAllItems: [{
|
213
217
|
type: Input,
|
214
218
|
args: [{ transform: booleanAttribute }]
|
@@ -1325,7 +1329,7 @@ class EuiAppComponent {
|
|
1325
1329
|
this.destroy$.unsubscribe();
|
1326
1330
|
}
|
1327
1331
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EuiAppComponent, deps: [{ token: i1.EuiAppShellService }, { token: i1.EuiGrowlService }, { token: i0.ChangeDetectorRef }, { token: PLATFORM_ID }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
1328
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.3", type: EuiAppComponent, isStandalone: false, selector: "eui-app", inputs: { appSubTitle: "appSubTitle", themeClass: "themeClass", isSidebarOpen: ["isSidebarOpen", "isSidebarOpen", booleanAttribute], isShrinkHeaderActive: ["isShrinkHeaderActive", "isShrinkHeaderActive", booleanAttribute], isSidebarHidden: ["isSidebarHidden", "isSidebarHidden", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "appSidebar", first: true, predicate: i0.forwardRef(() => EuiAppSidebarComponent), descendants: true }, { propertyName: "customPageWrapper", first: true, predicate: i0.forwardRef(() => EuiAppPageWrapperDirective), descendants: true }, { propertyName: "appToolbar", first: true, predicate: i0.forwardRef(() => EuiAppToolbarComponent), descendants: true }], usesOnChanges: true, ngImport: i0, template: "<eui-dimmer [isDimmerActive]=\"(asService.state$ | async).isDimmerActive\"></eui-dimmer>\n\n<ng-content select=\"eui-app-sidebar\"></ng-content>\n<ng-container *ngIf=\"!appSidebar && (asService.state$ | async).menuLinks.length !== 0 && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile\">\n <eui-app-sidebar>\n <eui-app-sidebar-body>\n <eui-app-sidebar-menu [items]=\"(asService.state$ | async).menuLinks\" [hasIcons]=\"true\"></eui-app-sidebar-menu>\n </eui-app-sidebar-body>\n </eui-app-sidebar>\n</ng-container>\n\n<div class=\"eui-app-main\" *ngIf=\"isViewLoaded\">\n <ng-content select=\"eui-app-top-message\"></ng-content>\n\n <ng-content select=\"eui-app-header\"></ng-content>\n\n <ng-container\n *ngIf=\"!appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile; else elseBlockToolbar\">\n <eui-app-toolbar>\n <eui-toolbar></eui-toolbar>\n </eui-app-toolbar>\n </ng-container>\n\n <ng-template #elseBlockToolbar>\n <ng-content select=\"eui-app-toolbar\"></ng-content>\n </ng-template>\n\n <ng-content select=\"eui-app-breadcrumb\"></ng-content>\n\n <div class=\"eui-app-main-content\" role=\"main\">\n <ng-content select=\"eui-app-page-wrapper\"></ng-content>\n <ng-container *ngIf=\"hasNoPageWrapper\">\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ng-content select=\"eui-app-footer\"></ng-content>\n</div>\n\n<eui-growl\n [value]=\"euiGrowlService.growlMessages\"\n [sticky]=\"euiGrowlService.isGrowlSticky\"\n [closeAllSticky]=\"euiGrowlService.isCloseAllSticky\"\n [life]=\"euiGrowlService.growlLife\"\n [position]=\"euiGrowlService.growlPosition\"\n (growlClick)=\"euiGrowlService.growlCallback ? euiGrowlService.growlCallback(): null\"></eui-growl>\n\n<eui-block-document [isBlocked]=\"(asService.state$ | async).isBlockDocumentActive\"></eui-block-document>\n", styles: [".eui-app{display:flex;overflow:hidden}@media screen and (max-width: 767px){.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 996px){.sidebar--hidden.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}.eui-app-main{min-height:100vh;background:var(--eui-c-bg);width:calc(100% - var(--eui-app-sidebar-width));margin-left:var(--eui-app-sidebar-width);transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in-out;display:flex;flex-direction:column}@media screen and (max-width: 767px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 996px){.sidebar--close .eui-app-main{margin-left:var(--eui-app-sidebar-width-close);width:calc(100% - var(--eui-app-sidebar-width-close))}.sidebar--hidden.sidebar--close .eui-app-main,.sidebar--hidden.sidebar--open .eui-app-main{margin-left:0;width:100%}}.eui-app-main-content{flex-grow:1;margin-top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height) - var(--eui-app-breadcrumb-height));position:relative}eui-app-page-wrapper{display:flex;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EuiAppToolbarComponent, selector: "eui-app-toolbar", inputs: ["euiSecondary"] }, { kind: "component", type: EuiToolbarComponent, selector: "eui-toolbar", inputs: ["euiSecondary", "euiPrimary"] }, { kind: "component", type: EuiAppSidebarComponent, selector: "eui-app-sidebar" }, { kind: "component", type: EuiAppSidebarBodyComponent, selector: "eui-app-sidebar-body" }, { kind: "component", type: EuiAppSidebarMenuComponent, selector: "eui-app-sidebar-menu", inputs: ["hasFilter", "hasIcons", "hasTooltip", "expandAllItems", "isCollapsed", "hasCollapsedInitials", "isFlat", "hasScrollToItem", "hasBoldRootLevel", "items"], outputs: ["sidebarItemClick", "sidebarItemToggle"] }, { kind: "component", type: i9$1.EuiBlockDocumentComponent, selector: "eui-block-document", inputs: ["isBlocked", "ariaLabel"] }, { kind: "component", type: i10.EuiGrowlComponent, selector: "eui-growl", inputs: ["e2eAttr", "sticky", "life", "value", "closeAllSticky", "position"], outputs: ["growlClick"] }, { kind: "component", type: i11.EuiDimmerComponent, selector: "eui-dimmer", inputs: ["isDimmerActive", "e2eAttr"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
1332
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.3", type: EuiAppComponent, isStandalone: false, selector: "eui-app", inputs: { appSubTitle: "appSubTitle", themeClass: "themeClass", isSidebarOpen: ["isSidebarOpen", "isSidebarOpen", booleanAttribute], isShrinkHeaderActive: ["isShrinkHeaderActive", "isShrinkHeaderActive", booleanAttribute], isSidebarHidden: ["isSidebarHidden", "isSidebarHidden", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "appSidebar", first: true, predicate: i0.forwardRef(() => EuiAppSidebarComponent), descendants: true }, { propertyName: "customPageWrapper", first: true, predicate: i0.forwardRef(() => EuiAppPageWrapperDirective), descendants: true }, { propertyName: "appToolbar", first: true, predicate: i0.forwardRef(() => EuiAppToolbarComponent), descendants: true }], usesOnChanges: true, ngImport: i0, template: "<eui-dimmer [isDimmerActive]=\"(asService.state$ | async).isDimmerActive\"></eui-dimmer>\n\n<ng-content select=\"eui-app-sidebar\"></ng-content>\n<ng-container *ngIf=\"!appSidebar && (asService.state$ | async).menuLinks.length !== 0 && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile\">\n <eui-app-sidebar>\n <eui-app-sidebar-body>\n <eui-app-sidebar-menu [items]=\"(asService.state$ | async).menuLinks\" [hasIcons]=\"true\"></eui-app-sidebar-menu>\n </eui-app-sidebar-body>\n </eui-app-sidebar>\n</ng-container>\n\n<div class=\"eui-app-main\" *ngIf=\"isViewLoaded\">\n <ng-content select=\"eui-app-top-message\"></ng-content>\n\n <ng-content select=\"eui-app-header\"></ng-content>\n\n <ng-container\n *ngIf=\"!appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile; else elseBlockToolbar\">\n <eui-app-toolbar>\n <eui-toolbar></eui-toolbar>\n </eui-app-toolbar>\n </ng-container>\n\n <ng-template #elseBlockToolbar>\n <ng-content select=\"eui-app-toolbar\"></ng-content>\n </ng-template>\n\n <ng-content select=\"eui-app-breadcrumb\"></ng-content>\n\n <div class=\"eui-app-main-content\" role=\"main\">\n <ng-content select=\"eui-app-page-wrapper\"></ng-content>\n <ng-container *ngIf=\"hasNoPageWrapper\">\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ng-content select=\"eui-app-footer\"></ng-content>\n</div>\n\n<eui-growl\n [value]=\"euiGrowlService.growlMessages\"\n [sticky]=\"euiGrowlService.isGrowlSticky\"\n [closeAllSticky]=\"euiGrowlService.isCloseAllSticky\"\n [life]=\"euiGrowlService.growlLife\"\n [position]=\"euiGrowlService.growlPosition\"\n (growlClick)=\"euiGrowlService.growlCallback ? euiGrowlService.growlCallback(): null\"></eui-growl>\n\n<eui-block-document [isBlocked]=\"(asService.state$ | async).isBlockDocumentActive\"></eui-block-document>\n", styles: [".eui-app{display:flex;overflow:hidden}@media screen and (max-width: 767px){.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 996px){.sidebar--hidden.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}.eui-app-main{min-height:100vh;background:var(--eui-c-bg);width:calc(100% - var(--eui-app-sidebar-width));margin-left:var(--eui-app-sidebar-width);transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in-out;display:flex;flex-direction:column}@media screen and (max-width: 767px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 996px){.sidebar--close .eui-app-main{margin-left:var(--eui-app-sidebar-width-close);width:calc(100% - var(--eui-app-sidebar-width-close))}.sidebar--hidden.sidebar--close .eui-app-main,.sidebar--hidden.sidebar--open .eui-app-main{margin-left:0;width:100%}}.eui-app-main-content{flex-grow:1;margin-top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height) - var(--eui-app-breadcrumb-height));position:relative}eui-app-page-wrapper{display:flex;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EuiAppToolbarComponent, selector: "eui-app-toolbar", inputs: ["euiSecondary"] }, { kind: "component", type: EuiToolbarComponent, selector: "eui-toolbar", inputs: ["euiSecondary", "euiPrimary"] }, { kind: "component", type: EuiAppSidebarComponent, selector: "eui-app-sidebar" }, { kind: "component", type: EuiAppSidebarBodyComponent, selector: "eui-app-sidebar-body" }, { kind: "component", type: EuiAppSidebarMenuComponent, selector: "eui-app-sidebar-menu", inputs: ["hasFilter", "hasIcons", "hasTooltip", "hasTooltipOnExpanded", "expandAllItems", "isCollapsed", "hasCollapsedInitials", "isFlat", "hasScrollToItem", "hasBoldRootLevel", "items"], outputs: ["sidebarItemClick", "sidebarItemToggle"] }, { kind: "component", type: i9$1.EuiBlockDocumentComponent, selector: "eui-block-document", inputs: ["isBlocked", "ariaLabel"] }, { kind: "component", type: i10.EuiGrowlComponent, selector: "eui-growl", inputs: ["e2eAttr", "sticky", "life", "value", "closeAllSticky", "position"], outputs: ["growlClick"] }, { kind: "component", type: i11.EuiDimmerComponent, selector: "eui-dimmer", inputs: ["isDimmerActive", "e2eAttr"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
1329
1333
|
}
|
1330
1334
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EuiAppComponent, decorators: [{
|
1331
1335
|
type: Component,
|