@eui/components 18.2.3-snapshot-1731290826425 → 18.2.3-snapshot-1731463663724

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.
@@ -109,11 +109,11 @@ export class EuiNotificationsComponent {
109
109
  return unreadNotifications.length;
110
110
  }
111
111
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: EuiNotificationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: EuiNotificationsComponent, selector: "eui-notifications", inputs: { count: "count", items: "items", unreadLabel: "unreadLabel", totalLabel: "totalLabel", markAsReadLabel: "markAsReadLabel", markAsUnReadLabel: "markAsUnReadLabel", markAllAsReadLabel: "markAllAsReadLabel", settingsLabel: "settingsLabel", refreshLabel: "refreshLabel", viewAllNotificationsLabel: "viewAllNotificationsLabel", headerTitleLabel: "headerTitleLabel", noNotificationFoundLabel: "noNotificationFoundLabel", nbUnreadCount: "nbUnreadCount", dateFormat: "dateFormat", noNotificationFoundLink: ["noNotificationFoundLink", "noNotificationFoundLink", booleanAttribute], isShowMarkAsRead: ["isShowMarkAsRead", "isShowMarkAsRead", booleanAttribute], isShowViewAllAction: ["isShowViewAllAction", "isShowViewAllAction", booleanAttribute], isHidePanelOnViewAllAction: ["isHidePanelOnViewAllAction", "isHidePanelOnViewAllAction", booleanAttribute], customUnreadCount: ["customUnreadCount", "customUnreadCount", booleanAttribute], isShowMarkAllAsReadButton: ["isShowMarkAllAsReadButton", "isShowMarkAllAsReadButton", booleanAttribute], isShowSettingsButton: ["isShowSettingsButton", "isShowSettingsButton", booleanAttribute], isShowRefreshButton: ["isShowRefreshButton", "isShowRefreshButton", booleanAttribute] }, outputs: { refreshClick: "refreshClick", notificationsClick: "notificationsClick", viewAllClick: "viewAllClick", settingsClick: "settingsClick", markAllAsReadClick: "markAllAsReadClick", noNotificationFoundClick: "noNotificationFoundClick", itemClick: "itemClick", itemMarkAsReadClick: "itemMarkAsReadClick" }, host: { listeners: { "body:click": "onHide()" }, properties: { "class": "this.string" } }, usesOnChanges: true, ngImport: i0, template: "<eui-icon-button\n class=\"eui-notifications__trigger\"\n icon=\"notifications:outline\"\n fillColor=\"white\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\">\n @if (count) {\n <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n }\n</eui-icon-button>\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications__header-title\">\n <div class=\"eui-notifications__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n @if (items) {\n <span\n class=\"eui-u-cursor-help eui-u-ml-s\"\n attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n </span>\n }\n <eui-badge>{{ items.length }}</eui-badge>\n </div>\n </div>\n\n @if (items) {\n <div class=\"eui-notifications__header-actions\">\n @if (isShowMarkAllAsReadButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n (click)=\"onMarkAllAsRead($event)\">\n <eui-icon-svg icon=\"checkmark-done:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowSettingsButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n (click)=\"onSettings($event)\">\n <eui-icon-svg icon=\"settings:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowRefreshButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n (click)=\"onRefresh($event)\">\n <eui-icon-svg icon=\"refresh:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </eui-overlay-header>\n\n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; track item) {\n <eui-notification-item\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item>\n }\n </ul>\n }\n </eui-overlay-body>\n\n @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n <eui-overlay-footer>\n @if (items?.length > 0 && isShowViewAllAction) {\n <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n </a>\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </a>\n </div>\n }\n }\n </eui-overlay-footer>\n }\n</eui-overlay>\n", styles: [".eui-overlay-header{background-color:var(--eui-c-neutral-bg-light);border-bottom:1px solid var(--eui-c-neutral-lightest)}.eui-notifications-items{margin:0;padding:0}.eui-notifications__trigger .eui-icon-svg svg{position:relative;top:var(--eui-s-2xs);transform:scale(1.1)}.eui-notifications__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-bg-light);color:var(--eui-c-text);cursor:default;display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-notifications__header-title{display:flex}.eui-notifications__header-title-label{font:var(--eui-f-l-bold)}.eui-notifications__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-m)}.eui-notifications__header-actions{align-items:center;display:flex;margin-left:auto}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-c-info-bg);border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;flex-direction:column;min-height:var(--eui-s-4xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-c-neutral-bg-light)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{margin:var(--eui-s-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"], dependencies: [{ kind: "component", type: i1.EuiOverlayHeaderComponent, selector: "eui-overlay-header" }, { kind: "component", type: i1.EuiOverlayBodyComponent, selector: "eui-overlay-body" }, { kind: "component", type: i1.EuiOverlayFooterComponent, selector: "eui-overlay-footer" }, { kind: "component", type: i1.EuiOverlayComponent, selector: "eui-overlay", inputs: ["isActive", "euiHighlighted", "hasClosedOnClickOutside", "position", "width", "fixedWidth"], outputs: ["activeState"] }, { kind: "component", type: i2.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i3.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i5.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i6.EuiNotificationItemComponent, selector: "eui-notification-item", inputs: ["markAsReadLabel", "item", "dateFormat", "isShowMarkAsRead"], outputs: ["itemClick", "itemMarkAsRead"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: EuiNotificationsComponent, selector: "eui-notifications", inputs: { count: "count", items: "items", unreadLabel: "unreadLabel", totalLabel: "totalLabel", markAsReadLabel: "markAsReadLabel", markAsUnReadLabel: "markAsUnReadLabel", markAllAsReadLabel: "markAllAsReadLabel", settingsLabel: "settingsLabel", refreshLabel: "refreshLabel", viewAllNotificationsLabel: "viewAllNotificationsLabel", headerTitleLabel: "headerTitleLabel", noNotificationFoundLabel: "noNotificationFoundLabel", nbUnreadCount: "nbUnreadCount", dateFormat: "dateFormat", noNotificationFoundLink: ["noNotificationFoundLink", "noNotificationFoundLink", booleanAttribute], isShowMarkAsRead: ["isShowMarkAsRead", "isShowMarkAsRead", booleanAttribute], isShowViewAllAction: ["isShowViewAllAction", "isShowViewAllAction", booleanAttribute], isHidePanelOnViewAllAction: ["isHidePanelOnViewAllAction", "isHidePanelOnViewAllAction", booleanAttribute], customUnreadCount: ["customUnreadCount", "customUnreadCount", booleanAttribute], isShowMarkAllAsReadButton: ["isShowMarkAllAsReadButton", "isShowMarkAllAsReadButton", booleanAttribute], isShowSettingsButton: ["isShowSettingsButton", "isShowSettingsButton", booleanAttribute], isShowRefreshButton: ["isShowRefreshButton", "isShowRefreshButton", booleanAttribute] }, outputs: { refreshClick: "refreshClick", notificationsClick: "notificationsClick", viewAllClick: "viewAllClick", settingsClick: "settingsClick", markAllAsReadClick: "markAllAsReadClick", noNotificationFoundClick: "noNotificationFoundClick", itemClick: "itemClick", itemMarkAsReadClick: "itemMarkAsReadClick" }, host: { listeners: { "body:click": "onHide()" }, properties: { "class": "this.string" } }, usesOnChanges: true, ngImport: i0, template: "<eui-icon-button\n class=\"eui-notifications__trigger\"\n icon=\"notifications:outline\"\n fillColor=\"white\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\">\n @if (count) {\n <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n }\n</eui-icon-button>\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications__header-title\">\n <div class=\"eui-notifications__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n @if (items) {\n <span\n class=\"eui-u-cursor-help eui-u-ml-s\"\n attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n </span>\n }\n <eui-badge>{{ items.length }}</eui-badge>\n </div>\n </div>\n\n @if (items) {\n <div class=\"eui-notifications__header-actions\">\n @if (isShowMarkAllAsReadButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n (click)=\"onMarkAllAsRead($event)\">\n <eui-icon-svg icon=\"checkmark-done:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowSettingsButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n (click)=\"onSettings($event)\">\n <eui-icon-svg icon=\"settings:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowRefreshButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n (click)=\"onRefresh($event)\">\n <eui-icon-svg icon=\"refresh:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </eui-overlay-header>\n\n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; let i = $index; track $index) {\n <eui-notification-item\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item>\n }\n </ul>\n }\n </eui-overlay-body>\n\n @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n <eui-overlay-footer>\n @if (items?.length > 0 && isShowViewAllAction) {\n <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n </a>\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </a>\n </div>\n }\n }\n </eui-overlay-footer>\n }\n</eui-overlay>\n", styles: [".eui-overlay-header{background-color:var(--eui-c-neutral-bg-light);border-bottom:1px solid var(--eui-c-neutral-lightest)}.eui-notifications-items{margin:0;padding:0}.eui-notifications__trigger .eui-icon-svg svg{position:relative;top:var(--eui-s-2xs);transform:scale(1.1)}.eui-notifications__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-bg-light);color:var(--eui-c-text);cursor:default;display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-notifications__header-title{display:flex}.eui-notifications__header-title-label{font:var(--eui-f-l-bold)}.eui-notifications__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-m)}.eui-notifications__header-actions{align-items:center;display:flex;margin-left:auto}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-c-info-bg);border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;flex-direction:column;min-height:var(--eui-s-4xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-c-neutral-bg-light)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{margin:var(--eui-s-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"], dependencies: [{ kind: "component", type: i1.EuiOverlayHeaderComponent, selector: "eui-overlay-header" }, { kind: "component", type: i1.EuiOverlayBodyComponent, selector: "eui-overlay-body" }, { kind: "component", type: i1.EuiOverlayFooterComponent, selector: "eui-overlay-footer" }, { kind: "component", type: i1.EuiOverlayComponent, selector: "eui-overlay", inputs: ["isActive", "euiHighlighted", "hasClosedOnClickOutside", "position", "width", "fixedWidth"], outputs: ["activeState"] }, { kind: "component", type: i2.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i3.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i5.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i6.EuiNotificationItemComponent, selector: "eui-notification-item", inputs: ["markAsReadLabel", "item", "dateFormat", "isShowMarkAsRead"], outputs: ["itemClick", "itemMarkAsRead"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
113
113
  }
114
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: EuiNotificationsComponent, decorators: [{
115
115
  type: Component,
116
- args: [{ selector: 'eui-notifications', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<eui-icon-button\n class=\"eui-notifications__trigger\"\n icon=\"notifications:outline\"\n fillColor=\"white\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\">\n @if (count) {\n <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n }\n</eui-icon-button>\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications__header-title\">\n <div class=\"eui-notifications__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n @if (items) {\n <span\n class=\"eui-u-cursor-help eui-u-ml-s\"\n attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n </span>\n }\n <eui-badge>{{ items.length }}</eui-badge>\n </div>\n </div>\n\n @if (items) {\n <div class=\"eui-notifications__header-actions\">\n @if (isShowMarkAllAsReadButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n (click)=\"onMarkAllAsRead($event)\">\n <eui-icon-svg icon=\"checkmark-done:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowSettingsButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n (click)=\"onSettings($event)\">\n <eui-icon-svg icon=\"settings:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowRefreshButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n (click)=\"onRefresh($event)\">\n <eui-icon-svg icon=\"refresh:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </eui-overlay-header>\n\n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; track item) {\n <eui-notification-item\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item>\n }\n </ul>\n }\n </eui-overlay-body>\n\n @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n <eui-overlay-footer>\n @if (items?.length > 0 && isShowViewAllAction) {\n <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n </a>\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </a>\n </div>\n }\n }\n </eui-overlay-footer>\n }\n</eui-overlay>\n", styles: [".eui-overlay-header{background-color:var(--eui-c-neutral-bg-light);border-bottom:1px solid var(--eui-c-neutral-lightest)}.eui-notifications-items{margin:0;padding:0}.eui-notifications__trigger .eui-icon-svg svg{position:relative;top:var(--eui-s-2xs);transform:scale(1.1)}.eui-notifications__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-bg-light);color:var(--eui-c-text);cursor:default;display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-notifications__header-title{display:flex}.eui-notifications__header-title-label{font:var(--eui-f-l-bold)}.eui-notifications__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-m)}.eui-notifications__header-actions{align-items:center;display:flex;margin-left:auto}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-c-info-bg);border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;flex-direction:column;min-height:var(--eui-s-4xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-c-neutral-bg-light)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{margin:var(--eui-s-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"] }]
116
+ args: [{ selector: 'eui-notifications', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<eui-icon-button\n class=\"eui-notifications__trigger\"\n icon=\"notifications:outline\"\n fillColor=\"white\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\">\n @if (count) {\n <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n }\n</eui-icon-button>\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications__header-title\">\n <div class=\"eui-notifications__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n @if (items) {\n <span\n class=\"eui-u-cursor-help eui-u-ml-s\"\n attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n </span>\n }\n <eui-badge>{{ items.length }}</eui-badge>\n </div>\n </div>\n\n @if (items) {\n <div class=\"eui-notifications__header-actions\">\n @if (isShowMarkAllAsReadButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n (click)=\"onMarkAllAsRead($event)\">\n <eui-icon-svg icon=\"checkmark-done:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowSettingsButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n (click)=\"onSettings($event)\">\n <eui-icon-svg icon=\"settings:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowRefreshButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n (click)=\"onRefresh($event)\">\n <eui-icon-svg icon=\"refresh:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </eui-overlay-header>\n\n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; let i = $index; track $index) {\n <eui-notification-item\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item>\n }\n </ul>\n }\n </eui-overlay-body>\n\n @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n <eui-overlay-footer>\n @if (items?.length > 0 && isShowViewAllAction) {\n <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n </a>\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </a>\n </div>\n }\n }\n </eui-overlay-footer>\n }\n</eui-overlay>\n", styles: [".eui-overlay-header{background-color:var(--eui-c-neutral-bg-light);border-bottom:1px solid var(--eui-c-neutral-lightest)}.eui-notifications-items{margin:0;padding:0}.eui-notifications__trigger .eui-icon-svg svg{position:relative;top:var(--eui-s-2xs);transform:scale(1.1)}.eui-notifications__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-bg-light);color:var(--eui-c-text);cursor:default;display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-notifications__header-title{display:flex}.eui-notifications__header-title-label{font:var(--eui-f-l-bold)}.eui-notifications__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-m)}.eui-notifications__header-actions{align-items:center;display:flex;margin-left:auto}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-c-info-bg);border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;flex-direction:column;min-height:var(--eui-s-4xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-c-neutral-bg-light)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{margin:var(--eui-s-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"] }]
117
117
  }], propDecorators: { refreshClick: [{
118
118
  type: Output
119
119
  }], notificationsClick: [{
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
189
189
  type: HostListener,
190
190
  args: ['body:click']
191
191
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGF5b3V0L2V1aS1ub3RpZmljYXRpb25zL2V1aS1ub3RpZmljYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xheW91dC9ldWktbm90aWZpY2F0aW9ucy9ldWktbm90aWZpY2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7O0FBV3pDLE1BQU0sT0FBTyx5QkFBeUI7SUFQdEM7UUFRYyxpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzVELHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2xFLGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDNUQsa0JBQWEsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUN6RSx1QkFBa0IsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUM5RSw2QkFBd0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN4RSxjQUFTLEdBQXFELElBQUksWUFBWSxFQUFzQyxDQUFDO1FBQ3JILHdCQUFtQixHQUFxRCxJQUFJLFlBQVksRUFBc0MsQ0FBQztRQUV6SSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4Qiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDN0Isd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QixVQUFLLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVILFdBQU0sR0FBRyxtQkFBbUIsQ0FBQztRQUUxQyxVQUFLLEdBQVcsSUFBSSxDQUFDO1FBQ3JCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixlQUFVLEdBQVcsSUFBSSxDQUFDO1FBQzFCLG9CQUFlLEdBQVcsSUFBSSxDQUFDO1FBQy9CLHNCQUFpQixHQUFXLElBQUksQ0FBQztRQUNqQyx1QkFBa0IsR0FBVyxJQUFJLENBQUM7UUFDbEMsa0JBQWEsR0FBVyxJQUFJLENBQUM7UUFDN0IsaUJBQVksR0FBVyxJQUFJLENBQUM7UUFDNUIsOEJBQXlCLEdBQVcsSUFBSSxDQUFDO1FBQ3pDLHFCQUFnQixHQUFXLElBQUksQ0FBQztRQUNoQyw2QkFBd0IsR0FBVyxJQUFJLENBQUM7UUFDeEMsa0JBQWEsR0FBVyxJQUFJLENBQUM7UUFDN0IsZUFBVSxHQUFHLFlBQVksQ0FBQztRQUNLLDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUNoQyxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzVCLCtCQUEwQixHQUFHLElBQUksQ0FBQztRQUNqQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsOEJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUM1Qix3QkFBbUIsR0FBRyxJQUFJLENBQUM7S0E0RXRFO0lBekVHLE1BQU07UUFDRixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQXlCO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDakQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzVCLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQztZQUNqRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDaEQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoRCxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFZO1FBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBd0M7UUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBWTtRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUNuQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7SUFFRCwwQkFBMEI7UUFDdEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUF3QztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxlQUFlLENBQUMsQ0FBYTtRQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVSxDQUFDLENBQWE7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBYSxFQUFFLElBQXdDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU8sZUFBZTtRQUNuQixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQ3hDLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sbUJBQW1CLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7K0dBbEhRLHlCQUF5QjttR0FBekIseUJBQXlCLG1sQkFnQ2QsZ0JBQWdCLDhEQUNoQixnQkFBZ0IsdUVBQ2hCLGdCQUFnQiw0RkFDaEIsZ0JBQWdCLGlFQUNoQixnQkFBZ0IseUZBQ2hCLGdCQUFnQiwwRUFDaEIsZ0JBQWdCLHVFQUNoQixnQkFBZ0Isb2NDaEV4Qyw0OEtBd0hBOzs0RkQvRmEseUJBQXlCO2tCQVByQyxTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxPQUFPLGlCQUNqQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQUczQixZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLHdCQUF3QjtzQkFBakMsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFRZSxNQUFNO3NCQUEzQixXQUFXO3VCQUFDLE9BQU87Z0JBRVgsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ2tDLHVCQUF1QjtzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxnQkFBZ0I7c0JBQXZELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsbUJBQW1CO3NCQUExRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNDLDBCQUEwQjtzQkFBaEUsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UseUJBQXlCO3NCQUFoRSxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLG9CQUFvQjtzQkFBM0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxtQkFBbUI7c0JBQTFELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBR3RDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29uc3VtZUV2ZW50IH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IFV4TGlua0xlZ2FjeSB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXRhZGF0YSB9IGZyb20gJy4vZXVpLW5vdGlmaWNhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLW5vdGlmaWNhdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktbm90aWZpY2F0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aU5vdGlmaWNhdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQE91dHB1dCgpIHJlZnJlc2hDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBub3RpZmljYXRpb25zQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgdmlld0FsbENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHNldHRpbmdzQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWFya0FsbEFzUmVhZENsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG5vTm90aWZpY2F0aW9uRm91bmRDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxVeExpbmtMZWdhY3k8Tm90aWZpY2F0aW9uTWV0YWRhdGE+PiA9IG5ldyBFdmVudEVtaXR0ZXI8VXhMaW5rTGVnYWN5PE5vdGlmaWNhdGlvbk1ldGFkYXRhPj4oKTtcbiAgICBAT3V0cHV0KCkgaXRlbU1hcmtBc1JlYWRDbGljazogRXZlbnRFbWl0dGVyPFV4TGlua0xlZ2FjeTxOb3RpZmljYXRpb25NZXRhZGF0YT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxVeExpbmtMZWdhY3k8Tm90aWZpY2F0aW9uTWV0YWRhdGE+PigpO1xuXG4gICAgaXNPdmVybGF5QWN0aXZlID0gZmFsc2U7XG4gICAgY3VycmVudERheU5vdGlmaWNhdGlvbnMgPSBbXTtcbiAgICBvbGRlc3ROb3RpZmljYXRpb25zID0gW107XG4gICAgdW5yZWFkTm90aWZpY2F0aW9ucyA9IFtdO1xuICAgIHRvZGF5OiBEYXRlID0gbmV3IERhdGUoKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBzdHJpbmcgPSAnZXVpLW5vdGlmaWNhdGlvbnMnO1xuXG4gICAgQElucHV0KCkgY291bnQ6IG51bWJlciA9IG51bGw7XG4gICAgQElucHV0KCkgaXRlbXMgPSBbXTtcbiAgICBASW5wdXQoKSB1bnJlYWRMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSB0b3RhbExhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIG1hcmtBc1JlYWRMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBtYXJrQXNVblJlYWRMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBtYXJrQWxsQXNSZWFkTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgc2V0dGluZ3NMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSByZWZyZXNoTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgdmlld0FsbE5vdGlmaWNhdGlvbnNMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBoZWFkZXJUaXRsZUxhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIG5vTm90aWZpY2F0aW9uRm91bmRMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBuYlVucmVhZENvdW50OiBudW1iZXIgPSBudWxsO1xuICAgIEBJbnB1dCgpIGRhdGVGb3JtYXQgPSAnZGQvTU0vWVlZWSc7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG5vTm90aWZpY2F0aW9uRm91bmRMaW5rID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2hvd01hcmtBc1JlYWQgPSB0cnVlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1Nob3dWaWV3QWxsQWN0aW9uID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlpc0hpZGVQYW5lbE9uVmlld0FsbEFjdGlvbiA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGN1c3RvbVVucmVhZENvdW50ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2hvd01hcmtBbGxBc1JlYWRCdXR0b24gPSB0cnVlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1Nob3dTZXR0aW5nc0J1dHRvbiA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2hvd1JlZnJlc2hCdXR0b24gPSB0cnVlO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignYm9keTpjbGljaycpXG4gICAgb25IaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3ZlcmxheUFjdGl2ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uQ2xpY2tlZChldmVudDogTW91c2VFdmVudCB8IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uc0NsaWNrLmVtaXQoKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICAgICAgdGhpcy5pc092ZXJsYXlBY3RpdmUgPSAhdGhpcy5pc092ZXJsYXlBY3RpdmU7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5jdXN0b21VbnJlYWRDb3VudCkge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tVW5yZWFkQ291bnQgPSBjaGFuZ2VzLmN1c3RvbVVucmVhZENvdW50LmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGlmICghY3VzdG9tVW5yZWFkQ291bnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5iVW5yZWFkQ291bnQgPSB0aGlzLl9nZXRVbnJlYWRDb3VudCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jdXN0b21VbnJlYWRDb3VudCkge1xuICAgICAgICAgICAgdGhpcy5uYlVucmVhZENvdW50ID0gdGhpcy5fZ2V0VW5yZWFkQ291bnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUmVmcmVzaChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoQ2xpY2suZW1pdCgpO1xuICAgICAgICBjb25zdW1lRXZlbnQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGxpbms6IFV4TGlua0xlZ2FjeTxOb3RpZmljYXRpb25NZXRhZGF0YT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdChsaW5rKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvblZpZXdBbGxDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aWV3QWxsQ2xpY2suZW1pdCgpO1xuICAgICAgICBpZiAoIXRoaXMuaXNIaWRlUGFuZWxPblZpZXdBbGxBY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk5vTm90aWZpY2F0aW9uRm91bmRDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub05vdGlmaWNhdGlvbkZvdW5kQ2xpY2suZW1pdCgpO1xuICAgIH1cblxuICAgIG9uSXRlbU1hcmtBc1JlYWQobGluazogVXhMaW5rTGVnYWN5PE5vdGlmaWNhdGlvbk1ldGFkYXRhPik6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1NYXJrQXNSZWFkQ2xpY2suZW1pdChsaW5rKTtcbiAgICB9XG5cbiAgICBvbk1hcmtBbGxBc1JlYWQoZTogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1hcmtBbGxBc1JlYWRDbGljay5lbWl0KGUpO1xuICAgICAgICBjb25zdW1lRXZlbnQoZSk7XG4gICAgfVxuXG4gICAgb25TZXR0aW5ncyhlOiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dGluZ3NDbGljay5lbWl0KGUpO1xuICAgICAgICBjb25zdW1lRXZlbnQoZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBVeExpbmtMZWdhY3k8Tm90aWZpY2F0aW9uTWV0YWRhdGE+KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VW5yZWFkQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdW5yZWFkTm90aWZpY2F0aW9ucyA9IHRoaXMuaXRlbXMuZmlsdGVyKChsaW5rKSA9PiB7XG4gICAgICAgICAgICBpZiAobGluay5tZXRhZGF0YSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBsaW5rLm1ldGFkYXRhLnJlYWQgPT09IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHVucmVhZE5vdGlmaWNhdGlvbnMubGVuZ3RoO1xuICAgIH1cbn1cbiIsIjxldWktaWNvbi1idXR0b25cbiAgICBjbGFzcz1cImV1aS1ub3RpZmljYXRpb25zX190cmlnZ2VyXCJcbiAgICBpY29uPVwibm90aWZpY2F0aW9uczpvdXRsaW5lXCJcbiAgICBmaWxsQ29sb3I9XCJ3aGl0ZVwiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkNsaWNrZWQoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uZXNjKT1cIm9uSGlkZSgpXCI+XG4gICAgQGlmIChjb3VudCkge1xuICAgICAgICA8ZXVpLWJhZGdlIGV1aURhbmdlciBbbWF4Q2hhckNvdW50XT1cIjJcIj57eyBjb3VudCB9fTwvZXVpLWJhZGdlPlxuICAgIH1cbjwvZXVpLWljb24tYnV0dG9uPlxuXG48ZXVpLW92ZXJsYXkgW2lzQWN0aXZlXT1cImlzT3ZlcmxheUFjdGl2ZVwiIGNsYXNzPVwiZXVpLW92ZXJsYXktb2Zmc2V0LS13aWR0aC0zMFwiPlxuICAgIDxldWktb3ZlcmxheS1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9uc19faGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLW5vdGlmaWNhdGlvbnNfX2hlYWRlci10aXRsZS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGhlYWRlclRpdGxlTGFiZWwgPyBoZWFkZXJUaXRsZUxhYmVsIDogKCdldWkuTVlOT1RJRklDQVRJT05TJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS11LWN1cnNvci1oZWxwIGV1aS11LW1sLXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgdW5yZWFkTGFiZWwgPyB1bnJlYWRMYWJlbCA6ICgnZXVpLk5PVElGSUNBVElPTlNVTlJFQUQnIHwgdHJhbnNsYXRlKSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IHVucmVhZExhYmVsID8gdW5yZWFkTGFiZWwgOiAoJ2V1aS5OT1RJRklDQVRJT05TVU5SRUFEJyB8IHRyYW5zbGF0ZSkgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8ZXVpLWJhZGdlPnt7IGl0ZW1zLmxlbmd0aCB9fTwvZXVpLWJhZGdlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9uc19faGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGlzU2hvd01hcmtBbGxBc1JlYWRCdXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBldWlQcmltYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICBldWlSb3VuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtYXJrQWxsQXNSZWFkTGFiZWwgPyBtYXJrQWxsQXNSZWFkTGFiZWwgOiAoJ2V1aS5OT1RJRklDQVRJT05NQVJLQUxMQVNSRUFEJyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBtYXJrQWxsQXNSZWFkTGFiZWwgPyBtYXJrQWxsQXNSZWFkTGFiZWwgOiAoJ2V1aS5OT1RJRklDQVRJT05NQVJLQUxMQVNSRUFEJyB8IHRyYW5zbGF0ZSkgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTWFya0FsbEFzUmVhZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJjaGVja21hcmstZG9uZTpvdXRsaW5lXCIgZmlsbENvbG9yPVwibmV1dHJhbFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpc1Nob3dTZXR0aW5nc0J1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aVByaW1hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aVJvdW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNldHRpbmdzTGFiZWwgPyBzZXR0aW5nc0xhYmVsIDogKCdldWkuU0VUVElOR1MnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IHNldHRpbmdzTGFiZWwgPyBzZXR0aW5nc0xhYmVsIDogKCdldWkuU0VUVElOR1MnIHwgdHJhbnNsYXRlKSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZXR0aW5ncygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJzZXR0aW5nczpvdXRsaW5lXCIgZmlsbENvbG9yPVwibmV1dHJhbFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpc1Nob3dSZWZyZXNoQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpUHJpbWFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpUm91bmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aVNpemVTXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVmcmVzaExhYmVsID8gcmVmcmVzaExhYmVsIDogKCdldWkuUkVGUkVTSCcgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgcmVmcmVzaExhYmVsID8gcmVmcmVzaExhYmVsIDogKCdldWkuUkVGUkVTSCcgfCB0cmFuc2xhdGUpIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblJlZnJlc2goJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwicmVmcmVzaDpvdXRsaW5lXCIgZmlsbENvbG9yPVwibmV1dHJhbFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZXVpLW92ZXJsYXktaGVhZGVyPlxuXG4gICAgPGV1aS1vdmVybGF5LWJvZHk+XG4gICAgICAgIEBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImV1aS1ub3RpZmljYXRpb25zLWl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICA8ZXVpLW5vdGlmaWNhdGlvbi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hcmtBc1JlYWRMYWJlbF09XCJtYXJrQXNSZWFkTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzU2hvd01hcmtBc1JlYWRdPVwiaXNTaG93TWFya0FzUmVhZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW1NYXJrQXNSZWFkKT1cIm9uSXRlbU1hcmtBc1JlYWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS1ub3RpZmljYXRpb24taXRlbT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICB9XG4gICAgPC9ldWktb3ZlcmxheS1ib2R5PlxuXG4gICAgQGlmICgoaXRlbXM/Lmxlbmd0aCA+IDAgJiYgaXNTaG93Vmlld0FsbEFjdGlvbikgfHwgaXRlbXM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8ZXVpLW92ZXJsYXktZm9vdGVyPlxuICAgICAgICAgICAgQGlmIChpdGVtcz8ubGVuZ3RoID4gMCAmJiBpc1Nob3dWaWV3QWxsQWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uVmlld0FsbENsaWNrKCRldmVudClcIiBjbGFzcz1cImV1aS11LXRleHQtbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHZpZXdBbGxOb3RpZmljYXRpb25zTGFiZWwgPyB2aWV3QWxsTm90aWZpY2F0aW9uc0xhYmVsIDogKCdldWkuVklFV0FMTE5PVElGSUNBVElPTlMnIHwgdHJhbnNsYXRlKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXRlbXM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIEBpZiAoIW5vTm90aWZpY2F0aW9uRm91bmRMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1eC1ub3RpZmljYXRpb25fX2l0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgbm9Ob3RpZmljYXRpb25Gb3VuZExhYmVsID8gbm9Ob3RpZmljYXRpb25Gb3VuZExhYmVsIDogKCdldWkuTk9OT1RJRklDQVRJT05GT1VORCcgfCB0cmFuc2xhdGUpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKG5vTm90aWZpY2F0aW9uRm91bmRMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1eC1ub3RpZmljYXRpb25fX2l0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uTm9Ob3RpZmljYXRpb25Gb3VuZENsaWNrKClcIiBjbGFzcz1cImV1aS11LXRleHQtbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG5vTm90aWZpY2F0aW9uRm91bmRMYWJlbCA/IG5vTm90aWZpY2F0aW9uRm91bmRMYWJlbCA6ICgnZXVpLk5PTk9USUZJQ0FUSU9ORk9VTkQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZXVpLW92ZXJsYXktZm9vdGVyPlxuICAgIH1cbjwvZXVpLW92ZXJsYXk+XG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGF5b3V0L2V1aS1ub3RpZmljYXRpb25zL2V1aS1ub3RpZmljYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xheW91dC9ldWktbm90aWZpY2F0aW9ucy9ldWktbm90aWZpY2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7O0FBV3pDLE1BQU0sT0FBTyx5QkFBeUI7SUFQdEM7UUFRYyxpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzVELHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2xFLGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDNUQsa0JBQWEsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUN6RSx1QkFBa0IsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUM5RSw2QkFBd0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN4RSxjQUFTLEdBQXFELElBQUksWUFBWSxFQUFzQyxDQUFDO1FBQ3JILHdCQUFtQixHQUFxRCxJQUFJLFlBQVksRUFBc0MsQ0FBQztRQUV6SSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4Qiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDN0Isd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QixVQUFLLEdBQVMsSUFBSSxJQUFJLEVB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QUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29uc3VtZUV2ZW50IH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IFV4TGlua0xlZ2FjeSB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXRhZGF0YSB9IGZyb20gJy4vZXVpLW5vdGlmaWNhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLW5vdGlmaWNhdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktbm90aWZpY2F0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aU5vdGlmaWNhdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQE91dHB1dCgpIHJlZnJlc2hDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBub3RpZmljYXRpb25zQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgdmlld0FsbENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHNldHRpbmdzQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWFya0FsbEFzUmVhZENsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG5vTm90aWZpY2F0aW9uRm91bmRDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxVeExpbmtMZWdhY3k8Tm90aWZpY2F0aW9uTWV0YWRhdGE+PiA9IG5ldyBFdmVudEVtaXR0ZXI8VXhMaW5rTGVnYWN5PE5vdGlmaWNhdGlvbk1ldGFkYXRhPj4oKTtcbiAgICBAT3V0cHV0KCkgaXRlbU1hcmtBc1JlYWRDbGljazogRXZlbnRFbWl0dGVyPFV4TGlua0xlZ2FjeTxOb3RpZmljYXRpb25NZXRhZGF0YT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxVeExpbmtMZWdhY3k8Tm90aWZpY2F0aW9uTWV0YWRhdGE+PigpO1xuXG4gICAgaXNPdmVybGF5QWN0aXZlID0gZmFsc2U7XG4gICAgY3VycmVudERheU5vdGlmaWNhdGlvbnMgPSBbXTtcbiAgICBvbGRlc3ROb3RpZmljYXRpb25zID0gW107XG4gICAgdW5yZWFkTm90aWZpY2F0aW9ucyA9IFtdO1xuICAgIHRvZGF5OiBEYXRlID0gbmV3IERhdGUoKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBzdHJpbmcgPSAnZXVpLW5vdGlmaWNhdGlvbnMnO1xuXG4gICAgQElucHV0KCkgY291bnQ6IG51bWJlciA9IG51bGw7XG4gICAgQElucHV0KCkgaXRlbXMgPSBbXTtcbiAgICBASW5wdXQoKSB1bnJlYWRMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSB0b3RhbExhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIG1hcmtBc1JlYWRMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBtYXJrQXNVblJlYWRMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBtYXJrQWxsQXNSZWFkTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgc2V0dGluZ3NMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSByZWZyZXNoTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgdmlld0FsbE5vdGlmaWNhdGlvbnNMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBoZWFkZXJUaXRsZUxhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIG5vTm90aWZpY2F0aW9uRm91bmRMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBuYlVucmVhZENvdW50OiBudW1iZXIgPSBudWxsO1xuICAgIEBJbnB1dCgpIGRhdGVGb3JtYXQgPSAnZGQvTU0vWVlZWSc7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG5vTm90aWZpY2F0aW9uRm91bmRMaW5rID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2hvd01hcmtBc1JlYWQgPSB0cnVlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1Nob3dWaWV3QWxsQWN0aW9uID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlpc0hpZGVQYW5lbE9uVmlld0FsbEFjdGlvbiA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGN1c3RvbVVucmVhZENvdW50ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2hvd01hcmtBbGxBc1JlYWRCdXR0b24gPSB0cnVlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1Nob3dTZXR0aW5nc0J1dHRvbiA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2hvd1JlZnJlc2hCdXR0b24gPSB0cnVlO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignYm9keTpjbGljaycpXG4gICAgb25IaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3ZlcmxheUFjdGl2ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uQ2xpY2tlZChldmVudDogTW91c2VFdmVudCB8IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uc0NsaWNrLmVtaXQoKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICAgICAgdGhpcy5pc092ZXJsYXlBY3RpdmUgPSAhdGhpcy5pc092ZXJsYXlBY3RpdmU7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5jdXN0b21VbnJlYWRDb3VudCkge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tVW5yZWFkQ291bnQgPSBjaGFuZ2VzLmN1c3RvbVVucmVhZENvdW50LmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGlmICghY3VzdG9tVW5yZWFkQ291bnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5iVW5yZWFkQ291bnQgPSB0aGlzLl9nZXRVbnJlYWRDb3VudCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jdXN0b21VbnJlYWRDb3VudCkge1xuICAgICAgICAgICAgdGhpcy5uYlVucmVhZENvdW50ID0gdGhpcy5fZ2V0VW5yZWFkQ291bnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUmVmcmVzaChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoQ2xpY2suZW1pdCgpO1xuICAgICAgICBjb25zdW1lRXZlbnQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGxpbms6IFV4TGlua0xlZ2FjeTxOb3RpZmljYXRpb25NZXRhZGF0YT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdChsaW5rKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvblZpZXdBbGxDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aWV3QWxsQ2xpY2suZW1pdCgpO1xuICAgICAgICBpZiAoIXRoaXMuaXNIaWRlUGFuZWxPblZpZXdBbGxBY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk5vTm90aWZpY2F0aW9uRm91bmRDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub05vdGlmaWNhdGlvbkZvdW5kQ2xpY2suZW1pdCgpO1xuICAgIH1cblxuICAgIG9uSXRlbU1hcmtBc1JlYWQobGluazogVXhMaW5rTGVnYWN5PE5vdGlmaWNhdGlvbk1ldGFkYXRhPik6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1NYXJrQXNSZWFkQ2xpY2suZW1pdChsaW5rKTtcbiAgICB9XG5cbiAgICBvbk1hcmtBbGxBc1JlYWQoZTogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1hcmtBbGxBc1JlYWRDbGljay5lbWl0KGUpO1xuICAgICAgICBjb25zdW1lRXZlbnQoZSk7XG4gICAgfVxuXG4gICAgb25TZXR0aW5ncyhlOiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dGluZ3NDbGljay5lbWl0KGUpO1xuICAgICAgICBjb25zdW1lRXZlbnQoZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBVeExpbmtMZWdhY3k8Tm90aWZpY2F0aW9uTWV0YWRhdGE+KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VW5yZWFkQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdW5yZWFkTm90aWZpY2F0aW9ucyA9IHRoaXMuaXRlbXMuZmlsdGVyKChsaW5rKSA9PiB7XG4gICAgICAgICAgICBpZiAobGluay5tZXRhZGF0YSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBsaW5rLm1ldGFkYXRhLnJlYWQgPT09IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHVucmVhZE5vdGlmaWNhdGlvbnMubGVuZ3RoO1xuICAgIH1cbn1cbiIsIjxldWktaWNvbi1idXR0b25cbiAgICBjbGFzcz1cImV1aS1ub3RpZmljYXRpb25zX190cmlnZ2VyXCJcbiAgICBpY29uPVwibm90aWZpY2F0aW9uczpvdXRsaW5lXCJcbiAgICBmaWxsQ29sb3I9XCJ3aGl0ZVwiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkNsaWNrZWQoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uZXNjKT1cIm9uSGlkZSgpXCI+XG4gICAgQGlmIChjb3VudCkge1xuICAgICAgICA8ZXVpLWJhZGdlIGV1aURhbmdlciBbbWF4Q2hhckNvdW50XT1cIjJcIj57eyBjb3VudCB9fTwvZXVpLWJhZGdlPlxuICAgIH1cbjwvZXVpLWljb24tYnV0dG9uPlxuXG48ZXVpLW92ZXJsYXkgW2lzQWN0aXZlXT1cImlzT3ZlcmxheUFjdGl2ZVwiIGNsYXNzPVwiZXVpLW92ZXJsYXktb2Zmc2V0LS13aWR0aC0zMFwiPlxuICAgIDxldWktb3ZlcmxheS1oZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9uc19faGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLW5vdGlmaWNhdGlvbnNfX2hlYWRlci10aXRsZS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGhlYWRlclRpdGxlTGFiZWwgPyBoZWFkZXJUaXRsZUxhYmVsIDogKCdldWkuTVlOT1RJRklDQVRJT05TJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS11LWN1cnNvci1oZWxwIGV1aS11LW1sLXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgdW5yZWFkTGFiZWwgPyB1bnJlYWRMYWJlbCA6ICgnZXVpLk5PVElGSUNBVElPTlNVTlJFQUQnIHwgdHJhbnNsYXRlKSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IHVucmVhZExhYmVsID8gdW5yZWFkTGFiZWwgOiAoJ2V1aS5OT1RJRklDQVRJT05TVU5SRUFEJyB8IHRyYW5zbGF0ZSkgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8ZXVpLWJhZGdlPnt7IGl0ZW1zLmxlbmd0aCB9fTwvZXVpLWJhZGdlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbm90aWZpY2F0aW9uc19faGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGlzU2hvd01hcmtBbGxBc1JlYWRCdXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBldWlQcmltYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICBldWlSb3VuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtYXJrQWxsQXNSZWFkTGFiZWwgPyBtYXJrQWxsQXNSZWFkTGFiZWwgOiAoJ2V1aS5OT1RJRklDQVRJT05NQVJLQUxMQVNSRUFEJyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBtYXJrQWxsQXNSZWFkTGFiZWwgPyBtYXJrQWxsQXNSZWFkTGFiZWwgOiAoJ2V1aS5OT1RJRklDQVRJT05NQVJLQUxMQVNSRUFEJyB8IHRyYW5zbGF0ZSkgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTWFya0FsbEFzUmVhZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJjaGVja21hcmstZG9uZTpvdXRsaW5lXCIgZmlsbENvbG9yPVwibmV1dHJhbFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpc1Nob3dTZXR0aW5nc0J1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aVByaW1hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aVJvdW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNldHRpbmdzTGFiZWwgPyBzZXR0aW5nc0xhYmVsIDogKCdldWkuU0VUVElOR1MnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IHNldHRpbmdzTGFiZWwgPyBzZXR0aW5nc0xhYmVsIDogKCdldWkuU0VUVElOR1MnIHwgdHJhbnNsYXRlKSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZXR0aW5ncygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJzZXR0aW5nczpvdXRsaW5lXCIgZmlsbENvbG9yPVwibmV1dHJhbFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpc1Nob3dSZWZyZXNoQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpUHJpbWFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpUm91bmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGV1aVNpemVTXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVmcmVzaExhYmVsID8gcmVmcmVzaExhYmVsIDogKCdldWkuUkVGUkVTSCcgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgcmVmcmVzaExhYmVsID8gcmVmcmVzaExhYmVsIDogKCdldWkuUkVGUkVTSCcgfCB0cmFuc2xhdGUpIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblJlZnJlc2goJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwicmVmcmVzaDpvdXRsaW5lXCIgZmlsbENvbG9yPVwibmV1dHJhbFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZXVpLW92ZXJsYXktaGVhZGVyPlxuXG4gICAgPGV1aS1vdmVybGF5LWJvZHk+XG4gICAgICAgIEBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImV1aS1ub3RpZmljYXRpb25zLWl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8ZXVpLW5vdGlmaWNhdGlvbi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hcmtBc1JlYWRMYWJlbF09XCJtYXJrQXNSZWFkTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzU2hvd01hcmtBc1JlYWRdPVwiaXNTaG93TWFya0FzUmVhZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW1NYXJrQXNSZWFkKT1cIm9uSXRlbU1hcmtBc1JlYWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS1ub3RpZmljYXRpb24taXRlbT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICB9XG4gICAgPC9ldWktb3ZlcmxheS1ib2R5PlxuXG4gICAgQGlmICgoaXRlbXM/Lmxlbmd0aCA+IDAgJiYgaXNTaG93Vmlld0FsbEFjdGlvbikgfHwgaXRlbXM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8ZXVpLW92ZXJsYXktZm9vdGVyPlxuICAgICAgICAgICAgQGlmIChpdGVtcz8ubGVuZ3RoID4gMCAmJiBpc1Nob3dWaWV3QWxsQWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uVmlld0FsbENsaWNrKCRldmVudClcIiBjbGFzcz1cImV1aS11LXRleHQtbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHZpZXdBbGxOb3RpZmljYXRpb25zTGFiZWwgPyB2aWV3QWxsTm90aWZpY2F0aW9uc0xhYmVsIDogKCdldWkuVklFV0FMTE5PVElGSUNBVElPTlMnIHwgdHJhbnNsYXRlKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXRlbXM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIEBpZiAoIW5vTm90aWZpY2F0aW9uRm91bmRMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1eC1ub3RpZmljYXRpb25fX2l0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgbm9Ob3RpZmljYXRpb25Gb3VuZExhYmVsID8gbm9Ob3RpZmljYXRpb25Gb3VuZExhYmVsIDogKCdldWkuTk9OT1RJRklDQVRJT05GT1VORCcgfCB0cmFuc2xhdGUpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKG5vTm90aWZpY2F0aW9uRm91bmRMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1eC1ub3RpZmljYXRpb25fX2l0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uTm9Ob3RpZmljYXRpb25Gb3VuZENsaWNrKClcIiBjbGFzcz1cImV1aS11LXRleHQtbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG5vTm90aWZpY2F0aW9uRm91bmRMYWJlbCA/IG5vTm90aWZpY2F0aW9uRm91bmRMYWJlbCA6ICgnZXVpLk5PTk9USUZJQ0FUSU9ORk9VTkQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZXVpLW92ZXJsYXktZm9vdGVyPlxuICAgIH1cbjwvZXVpLW92ZXJsYXk+XG4iXX0=
@@ -2310,11 +2310,11 @@ class EuiNotificationsComponent {
2310
2310
  return unreadNotifications.length;
2311
2311
  }
2312
2312
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: EuiNotificationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2313
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: EuiNotificationsComponent, selector: "eui-notifications", inputs: { count: "count", items: "items", unreadLabel: "unreadLabel", totalLabel: "totalLabel", markAsReadLabel: "markAsReadLabel", markAsUnReadLabel: "markAsUnReadLabel", markAllAsReadLabel: "markAllAsReadLabel", settingsLabel: "settingsLabel", refreshLabel: "refreshLabel", viewAllNotificationsLabel: "viewAllNotificationsLabel", headerTitleLabel: "headerTitleLabel", noNotificationFoundLabel: "noNotificationFoundLabel", nbUnreadCount: "nbUnreadCount", dateFormat: "dateFormat", noNotificationFoundLink: ["noNotificationFoundLink", "noNotificationFoundLink", booleanAttribute], isShowMarkAsRead: ["isShowMarkAsRead", "isShowMarkAsRead", booleanAttribute], isShowViewAllAction: ["isShowViewAllAction", "isShowViewAllAction", booleanAttribute], isHidePanelOnViewAllAction: ["isHidePanelOnViewAllAction", "isHidePanelOnViewAllAction", booleanAttribute], customUnreadCount: ["customUnreadCount", "customUnreadCount", booleanAttribute], isShowMarkAllAsReadButton: ["isShowMarkAllAsReadButton", "isShowMarkAllAsReadButton", booleanAttribute], isShowSettingsButton: ["isShowSettingsButton", "isShowSettingsButton", booleanAttribute], isShowRefreshButton: ["isShowRefreshButton", "isShowRefreshButton", booleanAttribute] }, outputs: { refreshClick: "refreshClick", notificationsClick: "notificationsClick", viewAllClick: "viewAllClick", settingsClick: "settingsClick", markAllAsReadClick: "markAllAsReadClick", noNotificationFoundClick: "noNotificationFoundClick", itemClick: "itemClick", itemMarkAsReadClick: "itemMarkAsReadClick" }, host: { listeners: { "body:click": "onHide()" }, properties: { "class": "this.string" } }, usesOnChanges: true, ngImport: i0, template: "<eui-icon-button\n class=\"eui-notifications__trigger\"\n icon=\"notifications:outline\"\n fillColor=\"white\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\">\n @if (count) {\n <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n }\n</eui-icon-button>\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications__header-title\">\n <div class=\"eui-notifications__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n @if (items) {\n <span\n class=\"eui-u-cursor-help eui-u-ml-s\"\n attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n </span>\n }\n <eui-badge>{{ items.length }}</eui-badge>\n </div>\n </div>\n\n @if (items) {\n <div class=\"eui-notifications__header-actions\">\n @if (isShowMarkAllAsReadButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n (click)=\"onMarkAllAsRead($event)\">\n <eui-icon-svg icon=\"checkmark-done:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowSettingsButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n (click)=\"onSettings($event)\">\n <eui-icon-svg icon=\"settings:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowRefreshButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n (click)=\"onRefresh($event)\">\n <eui-icon-svg icon=\"refresh:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </eui-overlay-header>\n\n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; track item) {\n <eui-notification-item\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item>\n }\n </ul>\n }\n </eui-overlay-body>\n\n @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n <eui-overlay-footer>\n @if (items?.length > 0 && isShowViewAllAction) {\n <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n </a>\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </a>\n </div>\n }\n }\n </eui-overlay-footer>\n }\n</eui-overlay>\n", styles: [".eui-overlay-header{background-color:var(--eui-c-neutral-bg-light);border-bottom:1px solid var(--eui-c-neutral-lightest)}.eui-notifications-items{margin:0;padding:0}.eui-notifications__trigger .eui-icon-svg svg{position:relative;top:var(--eui-s-2xs);transform:scale(1.1)}.eui-notifications__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-bg-light);color:var(--eui-c-text);cursor:default;display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-notifications__header-title{display:flex}.eui-notifications__header-title-label{font:var(--eui-f-l-bold)}.eui-notifications__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-m)}.eui-notifications__header-actions{align-items:center;display:flex;margin-left:auto}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-c-info-bg);border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;flex-direction:column;min-height:var(--eui-s-4xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-c-neutral-bg-light)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{margin:var(--eui-s-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"], dependencies: [{ kind: "component", type: i1$3.EuiOverlayHeaderComponent, selector: "eui-overlay-header" }, { kind: "component", type: i1$3.EuiOverlayBodyComponent, selector: "eui-overlay-body" }, { kind: "component", type: i1$3.EuiOverlayFooterComponent, selector: "eui-overlay-footer" }, { kind: "component", type: i1$3.EuiOverlayComponent, selector: "eui-overlay", inputs: ["isActive", "euiHighlighted", "hasClosedOnClickOutside", "position", "width", "fixedWidth"], outputs: ["activeState"] }, { kind: "component", type: i2$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i3$3.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i2$2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i5.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: EuiNotificationItemComponent, selector: "eui-notification-item", inputs: ["markAsReadLabel", "item", "dateFormat", "isShowMarkAsRead"], outputs: ["itemClick", "itemMarkAsRead"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
2313
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: EuiNotificationsComponent, selector: "eui-notifications", inputs: { count: "count", items: "items", unreadLabel: "unreadLabel", totalLabel: "totalLabel", markAsReadLabel: "markAsReadLabel", markAsUnReadLabel: "markAsUnReadLabel", markAllAsReadLabel: "markAllAsReadLabel", settingsLabel: "settingsLabel", refreshLabel: "refreshLabel", viewAllNotificationsLabel: "viewAllNotificationsLabel", headerTitleLabel: "headerTitleLabel", noNotificationFoundLabel: "noNotificationFoundLabel", nbUnreadCount: "nbUnreadCount", dateFormat: "dateFormat", noNotificationFoundLink: ["noNotificationFoundLink", "noNotificationFoundLink", booleanAttribute], isShowMarkAsRead: ["isShowMarkAsRead", "isShowMarkAsRead", booleanAttribute], isShowViewAllAction: ["isShowViewAllAction", "isShowViewAllAction", booleanAttribute], isHidePanelOnViewAllAction: ["isHidePanelOnViewAllAction", "isHidePanelOnViewAllAction", booleanAttribute], customUnreadCount: ["customUnreadCount", "customUnreadCount", booleanAttribute], isShowMarkAllAsReadButton: ["isShowMarkAllAsReadButton", "isShowMarkAllAsReadButton", booleanAttribute], isShowSettingsButton: ["isShowSettingsButton", "isShowSettingsButton", booleanAttribute], isShowRefreshButton: ["isShowRefreshButton", "isShowRefreshButton", booleanAttribute] }, outputs: { refreshClick: "refreshClick", notificationsClick: "notificationsClick", viewAllClick: "viewAllClick", settingsClick: "settingsClick", markAllAsReadClick: "markAllAsReadClick", noNotificationFoundClick: "noNotificationFoundClick", itemClick: "itemClick", itemMarkAsReadClick: "itemMarkAsReadClick" }, host: { listeners: { "body:click": "onHide()" }, properties: { "class": "this.string" } }, usesOnChanges: true, ngImport: i0, template: "<eui-icon-button\n class=\"eui-notifications__trigger\"\n icon=\"notifications:outline\"\n fillColor=\"white\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\">\n @if (count) {\n <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n }\n</eui-icon-button>\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications__header-title\">\n <div class=\"eui-notifications__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n @if (items) {\n <span\n class=\"eui-u-cursor-help eui-u-ml-s\"\n attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n </span>\n }\n <eui-badge>{{ items.length }}</eui-badge>\n </div>\n </div>\n\n @if (items) {\n <div class=\"eui-notifications__header-actions\">\n @if (isShowMarkAllAsReadButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n (click)=\"onMarkAllAsRead($event)\">\n <eui-icon-svg icon=\"checkmark-done:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowSettingsButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n (click)=\"onSettings($event)\">\n <eui-icon-svg icon=\"settings:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowRefreshButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n (click)=\"onRefresh($event)\">\n <eui-icon-svg icon=\"refresh:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </eui-overlay-header>\n\n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; let i = $index; track $index) {\n <eui-notification-item\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item>\n }\n </ul>\n }\n </eui-overlay-body>\n\n @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n <eui-overlay-footer>\n @if (items?.length > 0 && isShowViewAllAction) {\n <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n </a>\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </a>\n </div>\n }\n }\n </eui-overlay-footer>\n }\n</eui-overlay>\n", styles: [".eui-overlay-header{background-color:var(--eui-c-neutral-bg-light);border-bottom:1px solid var(--eui-c-neutral-lightest)}.eui-notifications-items{margin:0;padding:0}.eui-notifications__trigger .eui-icon-svg svg{position:relative;top:var(--eui-s-2xs);transform:scale(1.1)}.eui-notifications__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-bg-light);color:var(--eui-c-text);cursor:default;display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-notifications__header-title{display:flex}.eui-notifications__header-title-label{font:var(--eui-f-l-bold)}.eui-notifications__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-m)}.eui-notifications__header-actions{align-items:center;display:flex;margin-left:auto}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-c-info-bg);border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;flex-direction:column;min-height:var(--eui-s-4xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-c-neutral-bg-light)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{margin:var(--eui-s-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"], dependencies: [{ kind: "component", type: i1$3.EuiOverlayHeaderComponent, selector: "eui-overlay-header" }, { kind: "component", type: i1$3.EuiOverlayBodyComponent, selector: "eui-overlay-body" }, { kind: "component", type: i1$3.EuiOverlayFooterComponent, selector: "eui-overlay-footer" }, { kind: "component", type: i1$3.EuiOverlayComponent, selector: "eui-overlay", inputs: ["isActive", "euiHighlighted", "hasClosedOnClickOutside", "position", "width", "fixedWidth"], outputs: ["activeState"] }, { kind: "component", type: i2$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i3$3.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i2$2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i5.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: EuiNotificationItemComponent, selector: "eui-notification-item", inputs: ["markAsReadLabel", "item", "dateFormat", "isShowMarkAsRead"], outputs: ["itemClick", "itemMarkAsRead"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
2314
2314
  }
2315
2315
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: EuiNotificationsComponent, decorators: [{
2316
2316
  type: Component,
2317
- args: [{ selector: 'eui-notifications', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<eui-icon-button\n class=\"eui-notifications__trigger\"\n icon=\"notifications:outline\"\n fillColor=\"white\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\">\n @if (count) {\n <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n }\n</eui-icon-button>\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications__header-title\">\n <div class=\"eui-notifications__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n @if (items) {\n <span\n class=\"eui-u-cursor-help eui-u-ml-s\"\n attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n </span>\n }\n <eui-badge>{{ items.length }}</eui-badge>\n </div>\n </div>\n\n @if (items) {\n <div class=\"eui-notifications__header-actions\">\n @if (isShowMarkAllAsReadButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n (click)=\"onMarkAllAsRead($event)\">\n <eui-icon-svg icon=\"checkmark-done:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowSettingsButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n (click)=\"onSettings($event)\">\n <eui-icon-svg icon=\"settings:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowRefreshButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n (click)=\"onRefresh($event)\">\n <eui-icon-svg icon=\"refresh:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </eui-overlay-header>\n\n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; track item) {\n <eui-notification-item\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item>\n }\n </ul>\n }\n </eui-overlay-body>\n\n @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n <eui-overlay-footer>\n @if (items?.length > 0 && isShowViewAllAction) {\n <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n </a>\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </a>\n </div>\n }\n }\n </eui-overlay-footer>\n }\n</eui-overlay>\n", styles: [".eui-overlay-header{background-color:var(--eui-c-neutral-bg-light);border-bottom:1px solid var(--eui-c-neutral-lightest)}.eui-notifications-items{margin:0;padding:0}.eui-notifications__trigger .eui-icon-svg svg{position:relative;top:var(--eui-s-2xs);transform:scale(1.1)}.eui-notifications__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-bg-light);color:var(--eui-c-text);cursor:default;display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-notifications__header-title{display:flex}.eui-notifications__header-title-label{font:var(--eui-f-l-bold)}.eui-notifications__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-m)}.eui-notifications__header-actions{align-items:center;display:flex;margin-left:auto}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-c-info-bg);border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;flex-direction:column;min-height:var(--eui-s-4xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-c-neutral-bg-light)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{margin:var(--eui-s-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"] }]
2317
+ args: [{ selector: 'eui-notifications', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<eui-icon-button\n class=\"eui-notifications__trigger\"\n icon=\"notifications:outline\"\n fillColor=\"white\"\n (click)=\"onClicked($event)\"\n (keydown.enter)=\"onClicked($event)\"\n (keydown.esc)=\"onHide()\">\n @if (count) {\n <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n }\n</eui-icon-button>\n\n<eui-overlay [isActive]=\"isOverlayActive\" class=\"eui-overlay-offset--width-30\">\n <eui-overlay-header>\n <div class=\"eui-notifications__header-title\">\n <div class=\"eui-notifications__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n @if (items) {\n <span\n class=\"eui-u-cursor-help eui-u-ml-s\"\n attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n </span>\n }\n <eui-badge>{{ items.length }}</eui-badge>\n </div>\n </div>\n\n @if (items) {\n <div class=\"eui-notifications__header-actions\">\n @if (isShowMarkAllAsReadButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n (click)=\"onMarkAllAsRead($event)\">\n <eui-icon-svg icon=\"checkmark-done:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowSettingsButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n (click)=\"onSettings($event)\">\n <eui-icon-svg icon=\"settings:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n @if (isShowRefreshButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n (click)=\"onRefresh($event)\">\n <eui-icon-svg icon=\"refresh:outline\" fillColor=\"neutral\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </eui-overlay-header>\n\n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; let i = $index; track $index) {\n <eui-notification-item\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item>\n }\n </ul>\n }\n </eui-overlay-body>\n\n @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n <eui-overlay-footer>\n @if (items?.length > 0 && isShowViewAllAction) {\n <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n </a>\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </a>\n </div>\n }\n }\n </eui-overlay-footer>\n }\n</eui-overlay>\n", styles: [".eui-overlay-header{background-color:var(--eui-c-neutral-bg-light);border-bottom:1px solid var(--eui-c-neutral-lightest)}.eui-notifications-items{margin:0;padding:0}.eui-notifications__trigger .eui-icon-svg svg{position:relative;top:var(--eui-s-2xs);transform:scale(1.1)}.eui-notifications__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-bg-light);color:var(--eui-c-text);cursor:default;display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-notifications__header-title{display:flex}.eui-notifications__header-title-label{font:var(--eui-f-l-bold)}.eui-notifications__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-m)}.eui-notifications__header-actions{align-items:center;display:flex;margin-left:auto}.eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-notification-item-content{background-color:var(--eui-c-info-bg);border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;flex-direction:column;min-height:var(--eui-s-4xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-notification-item-content:hover{background-color:var(--eui-c-neutral-bg-light)!important}.eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-notification-item-content-top__date{display:flex;align-items:center}.eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-notification-item-content-middle{margin:var(--eui-s-2xs) 0}.eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-2xs)}.eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"] }]
2318
2318
  }], propDecorators: { refreshClick: [{
2319
2319
  type: Output
2320
2320
  }], notificationsClick: [{