@fundamental-ngx/btp 0.46.0 → 0.46.1-rc.1

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.
@@ -155,7 +155,7 @@ export class ToolHeaderComponent extends ToolHeaderComponentClass {
155
155
  provide: ToolHeaderComponentClass,
156
156
  useExisting: ToolHeaderComponent
157
157
  }
158
- ], queries: [{ propertyName: "_toolHeaderActionsDirective", first: true, predicate: ToolHeaderActionsDirective, descendants: true }, { propertyName: "_toolHeaderLogoDirective", first: true, predicate: ToolHeaderLogoDirective, descendants: true }, { propertyName: "_searchField", first: true, predicate: SearchFieldComponent, descendants: true }, { propertyName: "_toolHeaderUser", first: true, predicate: ToolHeaderUserDirective, descendants: true }, { propertyName: "_toolHeaderProductSwitch", first: true, predicate: FD_PRODUCT_SWITCH_COMPONENT, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().backButtonVisible\">\n <button fd-button fdbToolHeaderButton glyph=\"slim-arrow-left\" (click)=\"searchFieldExpanded.set(false)\"></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().menuButtonVisible && showMenuButton\">\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().logoVisible\">\n <ng-container *ngIf=\"_toolHeaderLogoDirective; else defaultLogo\">\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n </ng-container>\n <ng-template #defaultLogo>\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n </ng-template>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().productNameVisible\">\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().secondTitleVisible && secondTitle\">\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n</div>\n\n<div fdbToolHeaderGroup center *ngIf=\"fdbToolHeaderState().searchFieldVisible\">\n <ng-content select=\"fdb-search-field\"></ng-content>\n</div>\n\n<div fdbToolHeaderGroup actions>\n <fd-overflow-layout fdbToolHeaderElement [style.justify-content]=\"'end'\">\n <ng-container *ngIf=\"fdbToolHeaderState().searchFieldToggleActionVisible\">\n <div fdbToolHeaderElement *fdOverflowItemRef=\"let hidden\" [forceVisibility]=\"true\" fdOverflowLayoutItem>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().providedActionsVisible\">\n <ng-container *ngFor=\"let action of _toolHeaderActionsDirective?._actions()\">\n <div\n fdbToolHeaderElement\n *fdOverflowItemRef=\"let hidden\"\n [forceVisibility]=\"!!action.forceVisibility\"\n fdOverflowLayoutItem\n >\n <ng-template\n [ngIf]=\"!!action.templateRef\"\n [ngIfThen]=\"$any(action.templateRef)\"\n [ngIfElse]=\"defaultActionButtonTemplate\"\n ></ng-template>\n <ng-template #defaultActionButtonTemplate>\n <button\n fd-button\n fdbToolHeaderButton\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [ariaLabel]=\"action.label\"\n >\n <span class=\"fd-button__badge\" *ngIf=\"action.hasBadge\"></span>\n </button>\n </ng-template>\n <div\n class=\"fd-tool-header__separator\"\n *ngIf=\"action.hasSeparator && fdbToolHeaderState().separatorsBetweenActionsVisible\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n\n <fdb-navigation-menu-popover *fdOverflowExpand=\"let overflowItems\" fdbToolHeaderElement>\n <button *fdbNavigationMenuPopoverControl fd-button fdbToolHeaderButton glyph=\"overflow\"></button>\n <ul *fdPopoverBody fdkFocusableList [wrap]=\"true\" fdb-navigation-menu>\n <ng-container *ngFor=\"let item of overflowItems\">\n <ng-container *ngIf=\"_toolHeaderActionsDirective?._actions() as actions\">\n <li\n *ngIf=\"\n fdbToolHeaderState().searchFieldToggleActionVisible\n ? actions[item.globalIndex - 1]\n : actions[item.globalIndex] as action\n \"\n fdb-navigation-menu-item\n fdkFocusableItem\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [label]=\"action.label\"\n ></li>\n </ng-container>\n </ng-container>\n </ul>\n </fdb-navigation-menu-popover>\n </fd-overflow-layout>\n <ng-container *ngIf=\"fdbToolHeaderState().userAvatarVisible && _toolHeaderUser\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-container>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().voiceInputVisible\">\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n</div>\n", styles: ["@import\"../../../../../../node_modules/fundamental-styles/dist/tool-header.css\";.fd-popover__body.fdb-tool-header-actions-overflow-popover-body{--fdPopover_Offset: .3875rem;width:auto;height:auto;padding:.5rem;background:var(--sapGroup_ContentBackground);border:none;border-radius:.5rem;box-shadow:var(--sapMenu_Shadow1)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu{--fdMenu_Item_Spacing_Left: 0}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link{--fdMenu_Link_Height: 2rem;border-radius:.375rem}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:after{display:none}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:.375rem;inset:.125rem;content:\"\";pointer-events:none;position:absolute}\n"], dependencies: [{ kind: "directive", type: ToolHeaderGroupDirective, selector: "[fdbToolHeaderGroup]", inputs: ["center", "actions"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "reverseHiddenItems", "enableKeyboardNavigation", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "directive", type: OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "directive", type: PopoverBodyDirective, selector: "[fdPopoverBody]" }, { kind: "directive", type: ToolHeaderElementDirective, selector: "[fdbToolHeaderElement]" }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ToolHeaderButtonDirective, selector: "[fd-button][fdbToolHeaderButton]", inputs: ["hasBadge"] }, { kind: "directive", type: ToolHeaderLogoDirective, selector: "[fdbToolHeaderLogo]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "component", type: NavigationMenuComponent, selector: "fdb-navigation-menu, ul[fdb-navigation-menu]" }, { kind: "component", type: NavigationMenuItemComponent, selector: "fdb-navigation-menu-item, li[fdb-navigation-menu-item]", inputs: ["glyph", "label"] }, { kind: "directive", type: FocusableListDirective, selector: "[fdkFocusableList]", inputs: ["focusable", "navigationDirection", "contentDirection", "wrap", "listFocusedEventAnnouncer"], outputs: ["itemFocused"], exportAs: ["fdkFocusableList"] }, { kind: "directive", type: FocusableItemDirective, selector: "[fdkFocusableItem]", inputs: ["fdkFocusableItem", "cellFocusedEventAnnouncer"], outputs: ["cellFocused"] }, { kind: "component", type: NavigationMenuPopoverComponent, selector: "fdb-navigation-menu-popover" }, { kind: "directive", type: NavigationMenuPopoverControlDirective, selector: "[fdbNavigationMenuPopoverControl]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
158
+ ], queries: [{ propertyName: "_toolHeaderActionsDirective", first: true, predicate: ToolHeaderActionsDirective, descendants: true }, { propertyName: "_toolHeaderLogoDirective", first: true, predicate: ToolHeaderLogoDirective, descendants: true }, { propertyName: "_searchField", first: true, predicate: SearchFieldComponent, descendants: true }, { propertyName: "_toolHeaderUser", first: true, predicate: ToolHeaderUserDirective, descendants: true }, { propertyName: "_toolHeaderProductSwitch", first: true, predicate: FD_PRODUCT_SWITCH_COMPONENT, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().backButtonVisible\">\n <button fd-button fdbToolHeaderButton glyph=\"slim-arrow-left\" (click)=\"searchFieldExpanded.set(false)\"></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().menuButtonVisible && showMenuButton\">\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().logoVisible\">\n <ng-container *ngIf=\"_toolHeaderLogoDirective; else defaultLogo\">\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n </ng-container>\n <ng-template #defaultLogo>\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n </ng-template>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().productNameVisible\">\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().secondTitleVisible && secondTitle\">\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n</div>\n\n<div fdbToolHeaderGroup center *ngIf=\"fdbToolHeaderState().searchFieldVisible\">\n <ng-content select=\"fdb-search-field\"></ng-content>\n</div>\n\n<div fdbToolHeaderGroup actions>\n <fd-overflow-layout fdbToolHeaderElement [style.justify-content]=\"'end'\">\n <ng-container *ngIf=\"fdbToolHeaderState().searchFieldToggleActionVisible\">\n <div fdbToolHeaderElement *fdOverflowItemRef=\"let hidden\" [forceVisibility]=\"true\" fdOverflowLayoutItem>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().providedActionsVisible\">\n <ng-container *ngFor=\"let action of _toolHeaderActionsDirective?._actions()\">\n <div\n fdbToolHeaderElement\n *fdOverflowItemRef=\"let hidden\"\n [forceVisibility]=\"!!action.forceVisibility\"\n fdOverflowLayoutItem\n >\n <ng-template\n [ngIf]=\"!!action.templateRef\"\n [ngIfThen]=\"$any(action.templateRef)\"\n [ngIfElse]=\"defaultActionButtonTemplate\"\n ></ng-template>\n <ng-template #defaultActionButtonTemplate>\n <button\n fd-button\n fdbToolHeaderButton\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [ariaLabel]=\"action.label\"\n >\n <span class=\"fd-button__badge\" *ngIf=\"action.hasBadge\"></span>\n </button>\n </ng-template>\n <div\n class=\"fd-tool-header__separator\"\n *ngIf=\"action.hasSeparator && fdbToolHeaderState().separatorsBetweenActionsVisible\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n\n <fdb-navigation-menu-popover *fdOverflowExpand=\"let overflowItems\" fdbToolHeaderElement>\n <button *fdbNavigationMenuPopoverControl fd-button fdbToolHeaderButton glyph=\"overflow\"></button>\n <ul *fdPopoverBody fdkFocusableList [wrap]=\"true\" fdb-navigation-menu>\n <ng-container *ngFor=\"let item of overflowItems\">\n <ng-container *ngIf=\"_toolHeaderActionsDirective?._actions() as actions\">\n <li\n *ngIf=\"\n fdbToolHeaderState().searchFieldToggleActionVisible\n ? actions[item.globalIndex - 1]\n : actions[item.globalIndex] as action\n \"\n fdb-navigation-menu-item\n fdkFocusableItem\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [label]=\"action.label\"\n ></li>\n </ng-container>\n </ng-container>\n </ul>\n </fdb-navigation-menu-popover>\n </fd-overflow-layout>\n <ng-container *ngIf=\"fdbToolHeaderState().userAvatarVisible && _toolHeaderUser\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-container>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().voiceInputVisible\">\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-tool-header{--fdToolHeader_Min_Height:var(--sapToolHeader_Min_Height_Cozy);--fdToolHeader_Padding_Left:1.5rem;--fdToolHeader_Padding_Right:1.25rem;-webkit-box-sizing:border-box;-webkit-box-shadow:var(--sapToolHeader_Shadow1);background:var(--sapShellColor);border:0;border:.0625rem solid var(--fdToolHeader_Border_Color);border-radius:var(--sapToolHeader_Border_Radius);box-shadow:var(--sapToolHeader_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.75rem;height:auto;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdToolHeader_Min_Height);padding:0;padding:var(--sapToolHeader_Paddings_Y) var(--fdToolHeader_Padding_Right) var(--sapToolHeader_Paddings_Y) var(--fdToolHeader_Padding_Left);width:100%}.fd-tool-header:after,.fd-tool-header:before{box-sizing:inherit;font-size:inherit}.fd-tool-header[dir=rtl],[dir=rtl] .fd-tool-header{padding-left:var(--fdToolHeader_Padding_Right);padding-right:var(--fdToolHeader_Padding_Left)}.fd-tool-header__group{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-flex:1;-ms-flex:1;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex:1;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.375rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tool-header__group:after,.fd-tool-header__group:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__group--center,.fd-tool-header__group--menu{flex:0}.fd-tool-header__group--actions{justify-content:flex-end}.fd-tool-header__group--hidden{display:none}.fd-tool-header__element{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tool-header__element:after,.fd-tool-header__element:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__element--hidden{display:none}.fd-tool-header__logo{-webkit-box-sizing:border-box;background-repeat:no-repeat;background-size:contain;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:auto}.fd-tool-header__logo:after,.fd-tool-header__logo:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__logo.is-focus,.fd-tool-header__logo:focus{border-radius:.25rem;outline:var(--sapContent_FocusStyle) var(--sapContent_FocusWidth) var(--sapContent_FocusColor);outline-offset:.125rem;z-index:5}.fd-tool-header__separator{-webkit-box-sizing:border-box;background:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.75rem;line-height:var(--sapContent_LineHeight);margin:0;max-height:.75rem;max-width:.75rem;min-height:.75rem;min-width:.75rem;padding:0;width:.75rem}.fd-tool-header__separator:after,.fd-tool-header__separator:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__product-name{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapToolHeader_Product_Name_Color);font-family:var(--sapFontFamily);font-family:var(--sapFontBlackFamily);font-size:var(--sapFontSize);font-size:var(--sapToolHeader_Product_Name_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.625rem;margin:0;padding:0;vertical-align:baseline}.fd-tool-header__product-name:after,.fd-tool-header__product-name:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__second-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapToolHeader_Second_Title_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapToolHeader_Second_Title_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;margin-top:var(--sapToolHeader_Second_Title_Offset);padding:0;vertical-align:baseline}.fd-tool-header__second-title:after,.fd-tool-header__second-title:before{box-sizing:inherit;font-size:inherit}.fd-tool-header--menu{--fdToolHeader_Padding_Left:.75rem}.fd-tool-header[class*=-compact],[class*=-compact] .fd-tool-header:not([class*=-cozy]){--fdToolHeader_Min_Height:var(--sapToolHeader_Min_Height_Compact)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body{--fdPopover_Offset: .3875rem;width:auto;height:auto;padding:.5rem;background:var(--sapGroup_ContentBackground);border:none;border-radius:.5rem;box-shadow:var(--sapMenu_Shadow1)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu{--fdMenu_Item_Spacing_Left: 0}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link{--fdMenu_Link_Height: 2rem;border-radius:.375rem}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:after{display:none}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:.375rem;inset:.125rem;content:\"\";pointer-events:none;position:absolute}\n"], dependencies: [{ kind: "directive", type: ToolHeaderGroupDirective, selector: "[fdbToolHeaderGroup]", inputs: ["center", "actions"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "reverseHiddenItems", "enableKeyboardNavigation", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "directive", type: OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "directive", type: PopoverBodyDirective, selector: "[fdPopoverBody]" }, { kind: "directive", type: ToolHeaderElementDirective, selector: "[fdbToolHeaderElement]" }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ToolHeaderButtonDirective, selector: "[fd-button][fdbToolHeaderButton]", inputs: ["hasBadge"] }, { kind: "directive", type: ToolHeaderLogoDirective, selector: "[fdbToolHeaderLogo]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "component", type: NavigationMenuComponent, selector: "fdb-navigation-menu, ul[fdb-navigation-menu]" }, { kind: "component", type: NavigationMenuItemComponent, selector: "fdb-navigation-menu-item, li[fdb-navigation-menu-item]", inputs: ["glyph", "label"] }, { kind: "directive", type: FocusableListDirective, selector: "[fdkFocusableList]", inputs: ["focusable", "navigationDirection", "contentDirection", "wrap", "listFocusedEventAnnouncer"], outputs: ["itemFocused"], exportAs: ["fdkFocusableList"] }, { kind: "directive", type: FocusableItemDirective, selector: "[fdkFocusableItem]", inputs: ["fdkFocusableItem", "cellFocusedEventAnnouncer"], outputs: ["cellFocused"] }, { kind: "component", type: NavigationMenuPopoverComponent, selector: "fdb-navigation-menu-popover" }, { kind: "directive", type: NavigationMenuPopoverControlDirective, selector: "[fdbNavigationMenuPopoverControl]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
159
159
  }
160
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ToolHeaderComponent, decorators: [{
161
161
  type: Component,
@@ -177,7 +177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
177
177
  provide: ToolHeaderComponentClass,
178
178
  useExisting: ToolHeaderComponent
179
179
  }
180
- ], template: "<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().backButtonVisible\">\n <button fd-button fdbToolHeaderButton glyph=\"slim-arrow-left\" (click)=\"searchFieldExpanded.set(false)\"></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().menuButtonVisible && showMenuButton\">\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().logoVisible\">\n <ng-container *ngIf=\"_toolHeaderLogoDirective; else defaultLogo\">\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n </ng-container>\n <ng-template #defaultLogo>\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n </ng-template>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().productNameVisible\">\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().secondTitleVisible && secondTitle\">\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n</div>\n\n<div fdbToolHeaderGroup center *ngIf=\"fdbToolHeaderState().searchFieldVisible\">\n <ng-content select=\"fdb-search-field\"></ng-content>\n</div>\n\n<div fdbToolHeaderGroup actions>\n <fd-overflow-layout fdbToolHeaderElement [style.justify-content]=\"'end'\">\n <ng-container *ngIf=\"fdbToolHeaderState().searchFieldToggleActionVisible\">\n <div fdbToolHeaderElement *fdOverflowItemRef=\"let hidden\" [forceVisibility]=\"true\" fdOverflowLayoutItem>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().providedActionsVisible\">\n <ng-container *ngFor=\"let action of _toolHeaderActionsDirective?._actions()\">\n <div\n fdbToolHeaderElement\n *fdOverflowItemRef=\"let hidden\"\n [forceVisibility]=\"!!action.forceVisibility\"\n fdOverflowLayoutItem\n >\n <ng-template\n [ngIf]=\"!!action.templateRef\"\n [ngIfThen]=\"$any(action.templateRef)\"\n [ngIfElse]=\"defaultActionButtonTemplate\"\n ></ng-template>\n <ng-template #defaultActionButtonTemplate>\n <button\n fd-button\n fdbToolHeaderButton\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [ariaLabel]=\"action.label\"\n >\n <span class=\"fd-button__badge\" *ngIf=\"action.hasBadge\"></span>\n </button>\n </ng-template>\n <div\n class=\"fd-tool-header__separator\"\n *ngIf=\"action.hasSeparator && fdbToolHeaderState().separatorsBetweenActionsVisible\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n\n <fdb-navigation-menu-popover *fdOverflowExpand=\"let overflowItems\" fdbToolHeaderElement>\n <button *fdbNavigationMenuPopoverControl fd-button fdbToolHeaderButton glyph=\"overflow\"></button>\n <ul *fdPopoverBody fdkFocusableList [wrap]=\"true\" fdb-navigation-menu>\n <ng-container *ngFor=\"let item of overflowItems\">\n <ng-container *ngIf=\"_toolHeaderActionsDirective?._actions() as actions\">\n <li\n *ngIf=\"\n fdbToolHeaderState().searchFieldToggleActionVisible\n ? actions[item.globalIndex - 1]\n : actions[item.globalIndex] as action\n \"\n fdb-navigation-menu-item\n fdkFocusableItem\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [label]=\"action.label\"\n ></li>\n </ng-container>\n </ng-container>\n </ul>\n </fdb-navigation-menu-popover>\n </fd-overflow-layout>\n <ng-container *ngIf=\"fdbToolHeaderState().userAvatarVisible && _toolHeaderUser\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-container>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().voiceInputVisible\">\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n</div>\n", styles: ["@import\"../../../../../../node_modules/fundamental-styles/dist/tool-header.css\";.fd-popover__body.fdb-tool-header-actions-overflow-popover-body{--fdPopover_Offset: .3875rem;width:auto;height:auto;padding:.5rem;background:var(--sapGroup_ContentBackground);border:none;border-radius:.5rem;box-shadow:var(--sapMenu_Shadow1)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu{--fdMenu_Item_Spacing_Left: 0}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link{--fdMenu_Link_Height: 2rem;border-radius:.375rem}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:after{display:none}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:.375rem;inset:.125rem;content:\"\";pointer-events:none;position:absolute}\n"] }]
180
+ ], template: "<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().backButtonVisible\">\n <button fd-button fdbToolHeaderButton glyph=\"slim-arrow-left\" (click)=\"searchFieldExpanded.set(false)\"></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().menuButtonVisible && showMenuButton\">\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().logoVisible\">\n <ng-container *ngIf=\"_toolHeaderLogoDirective; else defaultLogo\">\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n </ng-container>\n <ng-template #defaultLogo>\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n </ng-template>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().productNameVisible\">\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().secondTitleVisible && secondTitle\">\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n</div>\n\n<div fdbToolHeaderGroup center *ngIf=\"fdbToolHeaderState().searchFieldVisible\">\n <ng-content select=\"fdb-search-field\"></ng-content>\n</div>\n\n<div fdbToolHeaderGroup actions>\n <fd-overflow-layout fdbToolHeaderElement [style.justify-content]=\"'end'\">\n <ng-container *ngIf=\"fdbToolHeaderState().searchFieldToggleActionVisible\">\n <div fdbToolHeaderElement *fdOverflowItemRef=\"let hidden\" [forceVisibility]=\"true\" fdOverflowLayoutItem>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().providedActionsVisible\">\n <ng-container *ngFor=\"let action of _toolHeaderActionsDirective?._actions()\">\n <div\n fdbToolHeaderElement\n *fdOverflowItemRef=\"let hidden\"\n [forceVisibility]=\"!!action.forceVisibility\"\n fdOverflowLayoutItem\n >\n <ng-template\n [ngIf]=\"!!action.templateRef\"\n [ngIfThen]=\"$any(action.templateRef)\"\n [ngIfElse]=\"defaultActionButtonTemplate\"\n ></ng-template>\n <ng-template #defaultActionButtonTemplate>\n <button\n fd-button\n fdbToolHeaderButton\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [ariaLabel]=\"action.label\"\n >\n <span class=\"fd-button__badge\" *ngIf=\"action.hasBadge\"></span>\n </button>\n </ng-template>\n <div\n class=\"fd-tool-header__separator\"\n *ngIf=\"action.hasSeparator && fdbToolHeaderState().separatorsBetweenActionsVisible\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n\n <fdb-navigation-menu-popover *fdOverflowExpand=\"let overflowItems\" fdbToolHeaderElement>\n <button *fdbNavigationMenuPopoverControl fd-button fdbToolHeaderButton glyph=\"overflow\"></button>\n <ul *fdPopoverBody fdkFocusableList [wrap]=\"true\" fdb-navigation-menu>\n <ng-container *ngFor=\"let item of overflowItems\">\n <ng-container *ngIf=\"_toolHeaderActionsDirective?._actions() as actions\">\n <li\n *ngIf=\"\n fdbToolHeaderState().searchFieldToggleActionVisible\n ? actions[item.globalIndex - 1]\n : actions[item.globalIndex] as action\n \"\n fdb-navigation-menu-item\n fdkFocusableItem\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [label]=\"action.label\"\n ></li>\n </ng-container>\n </ng-container>\n </ul>\n </fdb-navigation-menu-popover>\n </fd-overflow-layout>\n <ng-container *ngIf=\"fdbToolHeaderState().userAvatarVisible && _toolHeaderUser\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-container>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().voiceInputVisible\">\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-tool-header{--fdToolHeader_Min_Height:var(--sapToolHeader_Min_Height_Cozy);--fdToolHeader_Padding_Left:1.5rem;--fdToolHeader_Padding_Right:1.25rem;-webkit-box-sizing:border-box;-webkit-box-shadow:var(--sapToolHeader_Shadow1);background:var(--sapShellColor);border:0;border:.0625rem solid var(--fdToolHeader_Border_Color);border-radius:var(--sapToolHeader_Border_Radius);box-shadow:var(--sapToolHeader_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.75rem;height:auto;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdToolHeader_Min_Height);padding:0;padding:var(--sapToolHeader_Paddings_Y) var(--fdToolHeader_Padding_Right) var(--sapToolHeader_Paddings_Y) var(--fdToolHeader_Padding_Left);width:100%}.fd-tool-header:after,.fd-tool-header:before{box-sizing:inherit;font-size:inherit}.fd-tool-header[dir=rtl],[dir=rtl] .fd-tool-header{padding-left:var(--fdToolHeader_Padding_Right);padding-right:var(--fdToolHeader_Padding_Left)}.fd-tool-header__group{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-flex:1;-ms-flex:1;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex:1;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.375rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tool-header__group:after,.fd-tool-header__group:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__group--center,.fd-tool-header__group--menu{flex:0}.fd-tool-header__group--actions{justify-content:flex-end}.fd-tool-header__group--hidden{display:none}.fd-tool-header__element{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tool-header__element:after,.fd-tool-header__element:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__element--hidden{display:none}.fd-tool-header__logo{-webkit-box-sizing:border-box;background-repeat:no-repeat;background-size:contain;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:auto}.fd-tool-header__logo:after,.fd-tool-header__logo:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__logo.is-focus,.fd-tool-header__logo:focus{border-radius:.25rem;outline:var(--sapContent_FocusStyle) var(--sapContent_FocusWidth) var(--sapContent_FocusColor);outline-offset:.125rem;z-index:5}.fd-tool-header__separator{-webkit-box-sizing:border-box;background:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.75rem;line-height:var(--sapContent_LineHeight);margin:0;max-height:.75rem;max-width:.75rem;min-height:.75rem;min-width:.75rem;padding:0;width:.75rem}.fd-tool-header__separator:after,.fd-tool-header__separator:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__product-name{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapToolHeader_Product_Name_Color);font-family:var(--sapFontFamily);font-family:var(--sapFontBlackFamily);font-size:var(--sapFontSize);font-size:var(--sapToolHeader_Product_Name_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.625rem;margin:0;padding:0;vertical-align:baseline}.fd-tool-header__product-name:after,.fd-tool-header__product-name:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__second-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapToolHeader_Second_Title_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapToolHeader_Second_Title_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;margin-top:var(--sapToolHeader_Second_Title_Offset);padding:0;vertical-align:baseline}.fd-tool-header__second-title:after,.fd-tool-header__second-title:before{box-sizing:inherit;font-size:inherit}.fd-tool-header--menu{--fdToolHeader_Padding_Left:.75rem}.fd-tool-header[class*=-compact],[class*=-compact] .fd-tool-header:not([class*=-cozy]){--fdToolHeader_Min_Height:var(--sapToolHeader_Min_Height_Compact)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body{--fdPopover_Offset: .3875rem;width:auto;height:auto;padding:.5rem;background:var(--sapGroup_ContentBackground);border:none;border-radius:.5rem;box-shadow:var(--sapMenu_Shadow1)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu{--fdMenu_Item_Spacing_Left: 0}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link{--fdMenu_Link_Height: 2rem;border-radius:.375rem}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:after{display:none}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:.375rem;inset:.125rem;content:\"\";pointer-events:none;position:absolute}\n"] }]
181
181
  }], propDecorators: { productName: [{
182
182
  type: Input,
183
183
  args: [{ required: true }]
@@ -224,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
224
224
  type: HostListener,
225
225
  args: ['document:click', ['$event']]
226
226
  }] } });
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9idHAvdG9vbC1oZWFkZXIvc3JjL2NvbXBvbmVudHMvdG9vbC1oZWFkZXIvdG9vbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9idHAvdG9vbC1oZWFkZXIvc3JjL2NvbXBvbmVudHMvdG9vbC1oZWFkZXIvdG9vbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9EO0FBQ3BELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUM5QixxQ0FBcUMsRUFDeEMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9B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QixFQUFFO3dCQUNqQzs0QkFDSSxPQUFPLEVBQUUsd0JBQXdCOzRCQUNqQyxXQUFXLHFCQUFxQjt5QkFDbkM7cUJBQ0o7OEJBTTBCLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUloQixXQUFXO3NCQUFuQixLQUFLO2dCQUlGLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxNQUFNO2dCQVNULFlBQVk7c0JBRGYsS0FBSzt1QkFBQyxhQUFhO2dCQVdwQixjQUFjO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBUzNDLG9CQUFvQjtzQkFEbkIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFPM0MsU0FBUztzQkFEUixNQUFNO2dCQVNQLFVBQVU7c0JBRFQsTUFBTTtnQkFTUCxZQUFZO3NCQURYLE1BQU07Z0JBT1AsZUFBZTtzQkFEZCxNQUFNO2dCQU9QLFNBQVM7c0JBRFIsTUFBTTtnQkFLUCwyQkFBMkI7c0JBRDFCLFlBQVk7dUJBQUMsMEJBQTBCO2dCQUt4Qyx3QkFBd0I7c0JBRHZCLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUtqQyxZQUFZO3NCQURmLFlBQVk7dUJBQUMsb0JBQW9CO2dCQU9sQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUtyQyx3QkFBd0I7c0JBRHZCLFlBQVk7dUJBQUMsMkJBQTJCO2dCQWV6QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBOYXZpZ2F0aW9uTWVudUNvbXBvbmVudCxcbiAgICBOYXZpZ2F0aW9uTWVudUl0ZW1Db21wb25lbnQsXG4gICAgTmF2aWdhdGlvbk1lbnVQb3BvdmVyQ29tcG9uZW50LFxuICAgIE5hdmlnYXRpb25NZW51UG9wb3ZlckNvbnRyb2xEaXJlY3RpdmVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9idHAvbmF2aWdhdGlvbi1tZW51JztcbmltcG9ydCB7IFNlYXJjaEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9idHAvc2VhcmNoLWZpZWxkJztcbmltcG9ydCB7IEZkYlZpZXdNb2RlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9idHAvc2hhcmVkJztcbmltcG9ydCB7IEZEX1BST0RVQ1RfU1dJVENIX0NPTVBPTkVOVCwgRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSwgRm9jdXNhYmxlTGlzdERpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaWNvbic7XG5pbXBvcnQge1xuICAgIEdseXBoTWVudUFkZG9uRGlyZWN0aXZlLFxuICAgIE1lbnVBZGRvbkRpcmVjdGl2ZSxcbiAgICBNZW51Q29tcG9uZW50LFxuICAgIE1lbnVJbnRlcmFjdGl2ZUNvbXBvbmVudCxcbiAgICBNZW51SXRlbUNvbXBvbmVudCxcbiAgICBNZW51VGl0bGVEaXJlY3RpdmUsXG4gICAgTWVudVRyaWdnZXJEaXJlY3RpdmVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHtcbiAgICBPdmVyZmxvd0V4cGFuZERpcmVjdGl2ZSxcbiAgICBPdmVyZmxvd0l0ZW1SZWZEaXJlY3RpdmUsXG4gICAgT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQsXG4gICAgT3ZlcmZsb3dMYXlvdXRJdGVtRGlyZWN0aXZlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9vdmVyZmxvdy1sYXlvdXQnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlEaXJlY3RpdmUsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgRmRUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZmlyc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2xIZWFkZXJBY3Rpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90b29sLWhlYWRlci1hY3Rpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sSGVhZGVyQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90b29sLWhlYWRlci1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvb2xIZWFkZXJFbGVtZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90b29sLWhlYWRlci1lbGVtZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sSGVhZGVyR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Rvb2wtaGVhZGVyLWdyb3VwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sSGVhZGVyTG9nb0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdG9vbC1oZWFkZXItbG9nby5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVG9vbEhlYWRlclVzZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Rvb2wtaGVhZGVyLXVzZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvb2xIZWFkZXJDb21wb25lbnRDbGFzcyB9IGZyb20gJy4uLy4uL3Rvb2wtaGVhZGVyLWNvbXBvbmVudC5jbGFzcyc7XG5cbmNvbnN0IGltcG9ydHMgPSBbXG4gICAgVG9vbEhlYWRlckdyb3VwRGlyZWN0aXZlLFxuICAgIE5nSWYsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBPdmVyZmxvd0xheW91dENvbXBvbmVudCxcbiAgICBOZ0Zvck9mLFxuICAgIE92ZXJmbG93TGF5b3V0SXRlbURpcmVjdGl2ZSxcbiAgICBPdmVyZmxvd0l0ZW1SZWZEaXJlY3RpdmUsXG4gICAgT3ZlcmZsb3dFeHBhbmREaXJlY3RpdmUsXG4gICAgUG9wb3ZlckNvbXBvbmVudCxcbiAgICBQb3BvdmVyQ29udHJvbENvbXBvbmVudCxcbiAgICBQb3BvdmVyQm9keURpcmVjdGl2ZSxcbiAgICBNZW51VHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBNZW51Q29tcG9uZW50LFxuICAgIE1lbnVJdGVtQ29tcG9uZW50LFxuICAgIE1lbnVJbnRlcmFjdGl2ZUNvbXBvbmVudCxcbiAgICBNZW51VGl0bGVEaXJlY3RpdmUsXG4gICAgTWVudUFkZG9uRGlyZWN0aXZlLFxuICAgIEdseXBoTWVudUFkZG9uRGlyZWN0aXZlLFxuICAgIFRvb2xIZWFkZXJFbGVtZW50RGlyZWN0aXZlLFxuICAgIEljb25Db21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFRvb2xIZWFkZXJCdXR0b25EaXJlY3RpdmUsXG4gICAgVG9vbEhlYWRlckxvZ29EaXJlY3RpdmUsXG4gICAgRmRUcmFuc2xhdGVQaXBlXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkYi10b29sLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2wtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90b29sLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdG9vbC1oZWFkZXInLFxuICAgICAgICAnW2NsYXNzLmZkLXRvb2wtaGVhZGVyLS1tZW51XSc6ICdzaG93TWVudUJ1dHRvbidcbiAgICB9LFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgaW1wb3J0cyxcbiAgICAgICAgTmF2aWdhdGlvbk1lbnVDb21wb25lbnQsXG4gICAgICAgIE5hdmlnYXRpb25NZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgRm9jdXNhYmxlTGlzdERpcmVjdGl2ZSxcbiAgICAgICAgRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICAgICAgTmF2aWdhdGlvbk1lbnVQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBOYXZpZ2F0aW9uTWVudVBvcG92ZXJDb250cm9sRGlyZWN0aXZlLFxuICAgICAgICBBc3luY1BpcGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCksXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRvb2xIZWFkZXJDb21wb25lbnRDbGFzcyxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUb29sSGVhZGVyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBUb29sSGVhZGVyQ29tcG9uZW50Q2xhc3MgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIChyZXF1aXJlZCkgdGhlIFByb2R1Y3QgTmFtZSBpcyB0aGUgb2ZmaWNpYWwgbmFtZSBvZiB0aGUgdG9vbC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwcm9kdWN0TmFtZSE6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTZWNvbmQgVGl0bGUgaXMgYW4gb3B0aW9uYWwgc2Vjb25kIHRleHQgaWRlbnRpZmllciBvZiB0aGUgdG9vbC5cbiAgICAgKiovXG4gICAgQElucHV0KCkgc2Vjb25kVGl0bGU/OiBzdHJpbmc7XG5cbiAgICAvKiogTW9kZSAqL1xuICAgIEBJbnB1dCgnbW9kZScpXG4gICAgc2V0IF9tb2RlKG1vZGU6IEZkYlZpZXdNb2RlKSB7XG4gICAgICAgIGlmIChtb2RlICE9PSB0aGlzLm1vZGUoKSkge1xuICAgICAgICAgICAgdGhpcy5tb2RlLnNldChtb2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KCdvcmllbnRhdGlvbicpXG4gICAgc2V0IF9vcmllbnRhdGlvbihvcmllbnRhdGlvbjogJ2xhbmRzY2FwZScgfCAncG9ydHJhaXQnKSB7XG4gICAgICAgIGlmIChvcmllbnRhdGlvbiAhPT0gdGhpcy5vcmllbnRhdGlvbigpKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLnNldChvcmllbnRhdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIG1lbnUgYnV0dG9uXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzaG93TWVudUJ1dHRvbjogQm9vbGVhbklucHV0O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBzaG93IHRoZSB2b2ljZSBpbnB1dCBhY3Rpb24gYnV0dG9uIG9uXG4gICAgICogdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHRvb2wgaGVhZGVyLCB3aGVuIHRoZSBtb2RlIGlzIG1vYmlsZVxuICAgICAqIGFuZCB0aGUgc2VhcmNoIGlucHV0IGlzIGV4cGFuZGVkXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzaG93Vm9pY2VJbnB1dEFjdGlvbjogQm9vbGVhbklucHV0ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgbWVudSBidXR0b24gaXMgY2xpY2tlZFxuICAgICAqKi9cbiAgICBAT3V0cHV0KClcbiAgICBtZW51Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdXNlciBpbnRlbmRzIHRvIGV4cGFuZCB0aGUgbWVudS5cbiAgICAgKiBIYXBwZW5zIHdoZW4gdXNlciBjbGlja3MgYHJpZ2h0IGFycm93YCBrZXkgb24gdGhlIG1lbnUgYnV0dG9uXG4gICAgICogaWYgb24gbHRyIG9yIGBsZWZ0IGFycm93YCBrZXkgaWYgb24gcnRsLlxuICAgICAqKi9cbiAgICBAT3V0cHV0KClcbiAgICBtZW51RXhwYW5kID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHVzZXIgaW50ZW5kcyB0byBjb2xsYXBzZSB0aGUgbWVudS5cbiAgICAgKiBIYXBwZW5zIHdoZW4gdXNlciBjbGlja3MgYGxlZnQgYXJyb3dgIGtleSBvbiB0aGUgbWVudSBidXR0b25cbiAgICAgKiBpZiBvbiBsdHIgb3IgYHJpZ2h0IGFycm93YCBrZXkgaWYgb24gcnRsLlxuICAgICAqKi9cbiAgICBAT3V0cHV0KClcbiAgICBtZW51Q29sbGFwc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG1pY3JvcGhvbmUgYnV0dG9uIGlzIGNsaWNrZWRcbiAgICAgKiovXG4gICAgQE91dHB1dCgpXG4gICAgbWljcm9waG9uZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBkZWZhdWx0IGxvZ28gaXMgY2xpY2tlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGxvZ29DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUb29sSGVhZGVyQWN0aW9uc0RpcmVjdGl2ZSlcbiAgICBfdG9vbEhlYWRlckFjdGlvbnNEaXJlY3RpdmU/OiBUb29sSGVhZGVyQWN0aW9uc0RpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUb29sSGVhZGVyTG9nb0RpcmVjdGl2ZSlcbiAgICBfdG9vbEhlYWRlckxvZ29EaXJlY3RpdmU/OiBUb29sSGVhZGVyTG9nb0RpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChTZWFyY2hGaWVsZENvbXBvbmVudClcbiAgICBzZXQgX3NlYXJjaEZpZWxkKHNlYXJjaEZpZWxkOiBTZWFyY2hGaWVsZENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnNlYXJjaEZpZWxkLnNldChzZWFyY2hGaWVsZCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFRvb2xIZWFkZXJVc2VyRGlyZWN0aXZlKVxuICAgIF90b29sSGVhZGVyVXNlcj86IFRvb2xIZWFkZXJVc2VyRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKEZEX1BST0RVQ1RfU1dJVENIX0NPTVBPTkVOVClcbiAgICBfdG9vbEhlYWRlclByb2R1Y3RTd2l0Y2g/OiB1bmtub3duO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZWFyY2hGaWVsZE91dHNpZGVDbGlja1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaGFuZGxlciwgcmVzcG9uc2libGUgZm9yIGNsb3NpbmcgdGhlIHNlYXJjaCBmaWVsZFxuICAgICAqIG9uIG91dHNpZGUgY2xpY2tcbiAgICAgKiBAaGlkZGVuXG4gICAgICoqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgICBfb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hGaWVsZEV4cGFuZGVkKCkpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGUoKSA9PT0gJ3RhYmxldCcgJiZcbiAgICAgICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uKCkgPT09ICdwb3J0cmFpdCcgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaEZpZWxkKCkgJiZcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICAgICAgICAgICFldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaEZpZWxkKCkhLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoRmllbGRFeHBhbmRlZC5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlYXJjaEZpZWxkT3V0c2lkZUNsaWNrU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hGaWVsZE91dHNpZGVDbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhwYW5kIHRoZSBzZWFyY2ggZmllbGRcbiAgICAgKiovXG4gICAgZXhwYW5kU2VhcmNoRmllbGQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoRmllbGRFeHBhbmRlZC5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaEZpZWxkKCk/LmZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF9oYW5kbGVNZW51TGVmdEFycm93S2V5KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcnRsKCkpIHtcbiAgICAgICAgICAgIHRoaXMubWVudUV4cGFuZC5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVDb2xsYXBzZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBfaGFuZGxlTWVudVJpZ2h0QXJyb3dLZXkoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9ydGwoKSkge1xuICAgICAgICAgICAgdGhpcy5tZW51Q29sbGFwc2UuZW1pdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZW51RXhwYW5kLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgZmRiVG9vbEhlYWRlckdyb3VwIFtjbGFzcy5mZC10b29sLWhlYWRlci0tbWVudV09XCJzaG93TWVudUJ1dHRvblwiPlxuICAgIDxkaXYgZmRiVG9vbEhlYWRlckVsZW1lbnQgKm5nSWY9XCJmZGJUb29sSGVhZGVyU3RhdGUoKS5iYWNrQnV0dG9uVmlzaWJsZVwiPlxuICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZGJUb29sSGVhZGVyQnV0dG9uIGdseXBoPVwic2xpbS1hcnJvdy1sZWZ0XCIgKGNsaWNrKT1cInNlYXJjaEZpZWxkRXhwYW5kZWQuc2V0KGZhbHNlKVwiPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZmRiVG9vbEhlYWRlckVsZW1lbnQgKm5nSWY9XCJmZGJUb29sSGVhZGVyU3RhdGUoKS5tZW51QnV0dG9uVmlzaWJsZSAmJiBzaG93TWVudUJ1dHRvblwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIGZkYlRvb2xIZWFkZXJCdXR0b25cbiAgICAgICAgICAgIFt0aXRsZV09XCInYnRwVG9vbEhlYWRlci5tZW51QnV0dG9uQXJpYUxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ2J0cFRvb2xIZWFkZXIubWVudUJ1dHRvbkFyaWFMYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBnbHlwaD1cIm1lbnUyXCJcbiAgICAgICAgICAgIChrZXlkb3duLmFycm93TGVmdCk9XCJfaGFuZGxlTWVudUxlZnRBcnJvd0tleSgpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmFycm93UmlnaHQpPVwiX2hhbmRsZU1lbnVSaWdodEFycm93S2V5KClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm1lbnVDbGljay5lbWl0KClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBmZGJUb29sSGVhZGVyRWxlbWVudCAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLmxvZ29WaXNpYmxlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfdG9vbEhlYWRlckxvZ29EaXJlY3RpdmU7IGVsc2UgZGVmYXVsdExvZ29cIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZGJUb29sSGVhZGVyTG9nb11cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMb2dvPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGZkYlRvb2xIZWFkZXJMb2dvXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImxvZ29DbGljay5lbWl0KClcIlxuICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vdW5wa2cuY29tL2Z1bmRhbWVudGFsLXN0eWxlcy9kaXN0L2ltYWdlcy9zYXAtbG9nby5wbmdcIlxuICAgICAgICAgICAgICAgIHNyY3NldD1cIlxuICAgICAgICAgICAgICAgICAgICBodHRwczovL3VucGtnLmNvbS9mdW5kYW1lbnRhbC1zdHlsZXMvZGlzdC9pbWFnZXMvc2FwLWxvZ29AMngucG5nIDF4LFxuICAgICAgICAgICAgICAgICAgICBodHRwczovL3VucGtnLmNvbS9mdW5kYW1lbnRhbC1zdHlsZXMvZGlzdC9pbWFnZXMvc2FwLWxvZ29AM3gucG5nIDJ4LFxuICAgICAgICAgICAgICAgICAgICBodHRwczovL3VucGtnLmNvbS9mdW5kYW1lbnRhbC1zdHlsZXMvZGlzdC9pbWFnZXMvc2FwLWxvZ29ANHgucG5nIDN4XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBhbHQ9XCJTQVAgbG9nb1wiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNBUCBsb2dvXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cIlNBUCBsb2dvXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBmZGJUb29sSGVhZGVyRWxlbWVudCAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLnByb2R1Y3ROYW1lVmlzaWJsZVwiPlxuICAgICAgICA8aDEgY2xhc3M9XCJmZC10b29sLWhlYWRlcl9fcHJvZHVjdC1uYW1lXCI+XG4gICAgICAgICAgICB7eyBwcm9kdWN0TmFtZSB9fVxuICAgICAgICA8L2gxPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZmRiVG9vbEhlYWRlckVsZW1lbnQgKm5nSWY9XCJmZGJUb29sSGVhZGVyU3RhdGUoKS5zZWNvbmRUaXRsZVZpc2libGUgJiYgc2Vjb25kVGl0bGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRvb2wtaGVhZGVyX19zZWNvbmQtdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IHNlY29uZFRpdGxlIH19XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgZmRiVG9vbEhlYWRlckdyb3VwIGNlbnRlciAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLnNlYXJjaEZpZWxkVmlzaWJsZVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkYi1zZWFyY2gtZmllbGRcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGRpdiBmZGJUb29sSGVhZGVyR3JvdXAgYWN0aW9ucz5cbiAgICA8ZmQtb3ZlcmZsb3ctbGF5b3V0IGZkYlRvb2xIZWFkZXJFbGVtZW50IFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiJ2VuZCdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLnNlYXJjaEZpZWxkVG9nZ2xlQWN0aW9uVmlzaWJsZVwiPlxuICAgICAgICAgICAgPGRpdiBmZGJUb29sSGVhZGVyRWxlbWVudCAqZmRPdmVyZmxvd0l0ZW1SZWY9XCJsZXQgaGlkZGVuXCIgW2ZvcmNlVmlzaWJpbGl0eV09XCJ0cnVlXCIgZmRPdmVyZmxvd0xheW91dEl0ZW0+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmRiVG9vbEhlYWRlckJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGV4cGFuZFNlYXJjaEZpZWxkKClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLnByb3ZpZGVkQWN0aW9uc1Zpc2libGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBfdG9vbEhlYWRlckFjdGlvbnNEaXJlY3RpdmU/Ll9hY3Rpb25zKClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGZkYlRvb2xIZWFkZXJFbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICpmZE92ZXJmbG93SXRlbVJlZj1cImxldCBoaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICBbZm9yY2VWaXNpYmlsaXR5XT1cIiEhYWN0aW9uLmZvcmNlVmlzaWJpbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dMYXlvdXRJdGVtXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0lmXT1cIiEhYWN0aW9uLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0lmVGhlbl09XCIkYW55KGFjdGlvbi50ZW1wbGF0ZVJlZilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nSWZFbHNlXT1cImRlZmF1bHRBY3Rpb25CdXR0b25UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRBY3Rpb25CdXR0b25UZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZGJUb29sSGVhZGVyQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cImFjdGlvbi5nbHlwaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5jbGlja0NhbGxiYWNrKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiYWN0aW9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWJ1dHRvbl9fYmFkZ2VcIiAqbmdJZj1cImFjdGlvbi5oYXNCYWRnZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXRvb2wtaGVhZGVyX19zZXBhcmF0b3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24uaGFzU2VwYXJhdG9yICYmIGZkYlRvb2xIZWFkZXJTdGF0ZSgpLnNlcGFyYXRvcnNCZXR3ZWVuQWN0aW9uc1Zpc2libGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGZkYi1uYXZpZ2F0aW9uLW1lbnUtcG9wb3ZlciAqZmRPdmVyZmxvd0V4cGFuZD1cImxldCBvdmVyZmxvd0l0ZW1zXCIgZmRiVG9vbEhlYWRlckVsZW1lbnQ+XG4gICAgICAgICAgICA8YnV0dG9uICpmZGJOYXZpZ2F0aW9uTWVudVBvcG92ZXJDb250cm9sIGZkLWJ1dHRvbiBmZGJUb29sSGVhZGVyQnV0dG9uIGdseXBoPVwib3ZlcmZsb3dcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDx1bCAqZmRQb3BvdmVyQm9keSBmZGtGb2N1c2FibGVMaXN0IFt3cmFwXT1cInRydWVcIiBmZGItbmF2aWdhdGlvbi1tZW51PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3ZlcmZsb3dJdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3Rvb2xIZWFkZXJBY3Rpb25zRGlyZWN0aXZlPy5fYWN0aW9ucygpIGFzIGFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkYlRvb2xIZWFkZXJTdGF0ZSgpLnNlYXJjaEZpZWxkVG9nZ2xlQWN0aW9uVmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBhY3Rpb25zW2l0ZW0uZ2xvYmFsSW5kZXggLSAxXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhY3Rpb25zW2l0ZW0uZ2xvYmFsSW5kZXhdIGFzIGFjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRiLW5hdmlnYXRpb24tbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRrRm9jdXNhYmxlSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCJhY3Rpb24uZ2x5cGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uY2xpY2tDYWxsYmFjaygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiYWN0aW9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZmRiLW5hdmlnYXRpb24tbWVudS1wb3BvdmVyPlxuICAgIDwvZmQtb3ZlcmZsb3ctbGF5b3V0PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZGJUb29sSGVhZGVyU3RhdGUoKS51c2VyQXZhdGFyVmlzaWJsZSAmJiBfdG9vbEhlYWRlclVzZXJcIj5cbiAgICAgICAgPGRpdiBmZGJUb29sSGVhZGVyRWxlbWVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC10b29sLWhlYWRlcl9fc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmRiVG9vbEhlYWRlclVzZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmRiVG9vbEhlYWRlclN0YXRlKCkucHJvZHVjdFN3aXRjaFZpc2libGUgJiYgX3Rvb2xIZWFkZXJQcm9kdWN0U3dpdGNoXCI+XG4gICAgICAgIDxkaXYgZmRiVG9vbEhlYWRlckVsZW1lbnQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtdG9vbC1oZWFkZXJfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmRiLXRvb2wtaGVhZGVyLXByb2R1Y3Qtc3dpdGNoLCBmZC1wcm9kdWN0LXN3aXRjaFwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBmZGJUb29sSGVhZGVyRWxlbWVudCAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLnZvaWNlSW5wdXRWaXNpYmxlXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgZmRiVG9vbEhlYWRlckJ1dHRvblxuICAgICAgICAgICAgZ2x5cGg9XCJtaWNyb3Bob25lXCJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ1NlYXJjaCB3aXRoIHZvaWNlJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwibWljcm9waG9uZUNsaWNrLmVtaXQoKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9idHAvdG9vbC1oZWFkZXIvc3JjL2NvbXBvbmVudHMvdG9vbC1oZWFkZXIvdG9vbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9idHAvdG9vbC1oZWFkZXIvc3JjL2NvbXBvbmVudHMvdG9vbC1oZWFkZXIvdG9vbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9EO0FBQ3BELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUM5QixxQ0FBcUMsRUFDeEMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9B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QixFQUFFO3dCQUNqQzs0QkFDSSxPQUFPLEVBQUUsd0JBQXdCOzRCQUNqQyxXQUFXLHFCQUFxQjt5QkFDbkM7cUJBQ0o7OEJBTTBCLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUloQixXQUFXO3NCQUFuQixLQUFLO2dCQUlGLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxNQUFNO2dCQVNULFlBQVk7c0JBRGYsS0FBSzt1QkFBQyxhQUFhO2dCQVdwQixjQUFjO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBUzNDLG9CQUFvQjtzQkFEbkIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFPM0MsU0FBUztzQkFEUixNQUFNO2dCQVNQLFVBQVU7c0JBRFQsTUFBTTtnQkFTUCxZQUFZO3NCQURYLE1BQU07Z0JBT1AsZUFBZTtzQkFEZCxNQUFNO2dCQU9QLFNBQVM7c0JBRFIsTUFBTTtnQkFLUCwyQkFBMkI7c0JBRDFCLFlBQVk7dUJBQUMsMEJBQTBCO2dCQUt4Qyx3QkFBd0I7c0JBRHZCLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUtqQyxZQUFZO3NCQURmLFlBQVk7dUJBQUMsb0JBQW9CO2dCQU9sQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUtyQyx3QkFBd0I7c0JBRHZCLFlBQVk7dUJBQUMsMkJBQTJCO2dCQWV6QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBOYXZpZ2F0aW9uTWVudUNvbXBvbmVudCxcbiAgICBOYXZpZ2F0aW9uTWVudUl0ZW1Db21wb25lbnQsXG4gICAgTmF2aWdhdGlvbk1lbnVQb3BvdmVyQ29tcG9uZW50LFxuICAgIE5hdmlnYXRpb25NZW51UG9wb3ZlckNvbnRyb2xEaXJlY3RpdmVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9idHAvbmF2aWdhdGlvbi1tZW51JztcbmltcG9ydCB7IFNlYXJjaEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9idHAvc2VhcmNoLWZpZWxkJztcbmltcG9ydCB7IEZkYlZpZXdNb2RlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9idHAvc2hhcmVkJztcbmltcG9ydCB7IEZEX1BST0RVQ1RfU1dJVENIX0NPTVBPTkVOVCwgRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSwgRm9jdXNhYmxlTGlzdERpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaWNvbic7XG5pbXBvcnQge1xuICAgIEdseXBoTWVudUFkZG9uRGlyZWN0aXZlLFxuICAgIE1lbnVBZGRvbkRpcmVjdGl2ZSxcbiAgICBNZW51Q29tcG9uZW50LFxuICAgIE1lbnVJbnRlcmFjdGl2ZUNvbXBvbmVudCxcbiAgICBNZW51SXRlbUNvbXBvbmVudCxcbiAgICBNZW51VGl0bGVEaXJlY3RpdmUsXG4gICAgTWVudVRyaWdnZXJEaXJlY3RpdmVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHtcbiAgICBPdmVyZmxvd0V4cGFuZERpcmVjdGl2ZSxcbiAgICBPdmVyZmxvd0l0ZW1SZWZEaXJlY3RpdmUsXG4gICAgT3ZlcmZsb3dMYXlvdXRDb21wb25lbnQsXG4gICAgT3ZlcmZsb3dMYXlvdXRJdGVtRGlyZWN0aXZlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9vdmVyZmxvdy1sYXlvdXQnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlEaXJlY3RpdmUsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgRmRUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZmlyc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2xIZWFkZXJBY3Rpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90b29sLWhlYWRlci1hY3Rpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sSGVhZGVyQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90b29sLWhlYWRlci1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvb2xIZWFkZXJFbGVtZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90b29sLWhlYWRlci1lbGVtZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sSGVhZGVyR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Rvb2wtaGVhZGVyLWdyb3VwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sSGVhZGVyTG9nb0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdG9vbC1oZWFkZXItbG9nby5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVG9vbEhlYWRlclVzZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Rvb2wtaGVhZGVyLXVzZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvb2xIZWFkZXJDb21wb25lbnRDbGFzcyB9IGZyb20gJy4uLy4uL3Rvb2wtaGVhZGVyLWNvbXBvbmVudC5jbGFzcyc7XG5cbmNvbnN0IGltcG9ydHMgPSBbXG4gICAgVG9vbEhlYWRlckdyb3VwRGlyZWN0aXZlLFxuICAgIE5nSWYsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBPdmVyZmxvd0xheW91dENvbXBvbmVudCxcbiAgICBOZ0Zvck9mLFxuICAgIE92ZXJmbG93TGF5b3V0SXRlbURpcmVjdGl2ZSxcbiAgICBPdmVyZmxvd0l0ZW1SZWZEaXJlY3RpdmUsXG4gICAgT3ZlcmZsb3dFeHBhbmREaXJlY3RpdmUsXG4gICAgUG9wb3ZlckNvbXBvbmVudCxcbiAgICBQb3BvdmVyQ29udHJvbENvbXBvbmVudCxcbiAgICBQb3BvdmVyQm9keURpcmVjdGl2ZSxcbiAgICBNZW51VHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBNZW51Q29tcG9uZW50LFxuICAgIE1lbnVJdGVtQ29tcG9uZW50LFxuICAgIE1lbnVJbnRlcmFjdGl2ZUNvbXBvbmVudCxcbiAgICBNZW51VGl0bGVEaXJlY3RpdmUsXG4gICAgTWVudUFkZG9uRGlyZWN0aXZlLFxuICAgIEdseXBoTWVudUFkZG9uRGlyZWN0aXZlLFxuICAgIFRvb2xIZWFkZXJFbGVtZW50RGlyZWN0aXZlLFxuICAgIEljb25Db21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFRvb2xIZWFkZXJCdXR0b25EaXJlY3RpdmUsXG4gICAgVG9vbEhlYWRlckxvZ29EaXJlY3RpdmUsXG4gICAgRmRUcmFuc2xhdGVQaXBlXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkYi10b29sLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2wtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90b29sLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdG9vbC1oZWFkZXInLFxuICAgICAgICAnW2NsYXNzLmZkLXRvb2wtaGVhZGVyLS1tZW51XSc6ICdzaG93TWVudUJ1dHRvbidcbiAgICB9LFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgaW1wb3J0cyxcbiAgICAgICAgTmF2aWdhdGlvbk1lbnVDb21wb25lbnQsXG4gICAgICAgIE5hdmlnYXRpb25NZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgRm9jdXNhYmxlTGlzdERpcmVjdGl2ZSxcbiAgICAgICAgRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICAgICAgTmF2aWdhdGlvbk1lbnVQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBOYXZpZ2F0aW9uTWVudVBvcG92ZXJDb250cm9sRGlyZWN0aXZlLFxuICAgICAgICBBc3luY1BpcGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCksXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRvb2xIZWFkZXJDb21wb25lbnRDbGFzcyxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUb29sSGVhZGVyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBUb29sSGVhZGVyQ29tcG9uZW50Q2xhc3MgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIChyZXF1aXJlZCkgdGhlIFByb2R1Y3QgTmFtZSBpcyB0aGUgb2ZmaWNpYWwgbmFtZSBvZiB0aGUgdG9vbC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwcm9kdWN0TmFtZSE6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTZWNvbmQgVGl0bGUgaXMgYW4gb3B0aW9uYWwgc2Vjb25kIHRleHQgaWRlbnRpZmllciBvZiB0aGUgdG9vbC5cbiAgICAgKiovXG4gICAgQElucHV0KCkgc2Vjb25kVGl0bGU/OiBzdHJpbmc7XG5cbiAgICAvKiogTW9kZSAqL1xuICAgIEBJbnB1dCgnbW9kZScpXG4gICAgc2V0IF9tb2RlKG1vZGU6IEZkYlZpZXdNb2RlKSB7XG4gICAgICAgIGlmIChtb2RlICE9PSB0aGlzLm1vZGUoKSkge1xuICAgICAgICAgICAgdGhpcy5tb2RlLnNldChtb2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KCdvcmllbnRhdGlvbicpXG4gICAgc2V0IF9vcmllbnRhdGlvbihvcmllbnRhdGlvbjogJ2xhbmRzY2FwZScgfCAncG9ydHJhaXQnKSB7XG4gICAgICAgIGlmIChvcmllbnRhdGlvbiAhPT0gdGhpcy5vcmllbnRhdGlvbigpKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLnNldChvcmllbnRhdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIG1lbnUgYnV0dG9uXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzaG93TWVudUJ1dHRvbjogQm9vbGVhbklucHV0O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBzaG93IHRoZSB2b2ljZSBpbnB1dCBhY3Rpb24gYnV0dG9uIG9uXG4gICAgICogdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHRvb2wgaGVhZGVyLCB3aGVuIHRoZSBtb2RlIGlzIG1vYmlsZVxuICAgICAqIGFuZCB0aGUgc2VhcmNoIGlucHV0IGlzIGV4cGFuZGVkXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzaG93Vm9pY2VJbnB1dEFjdGlvbjogQm9vbGVhbklucHV0ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgbWVudSBidXR0b24gaXMgY2xpY2tlZFxuICAgICAqKi9cbiAgICBAT3V0cHV0KClcbiAgICBtZW51Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdXNlciBpbnRlbmRzIHRvIGV4cGFuZCB0aGUgbWVudS5cbiAgICAgKiBIYXBwZW5zIHdoZW4gdXNlciBjbGlja3MgYHJpZ2h0IGFycm93YCBrZXkgb24gdGhlIG1lbnUgYnV0dG9uXG4gICAgICogaWYgb24gbHRyIG9yIGBsZWZ0IGFycm93YCBrZXkgaWYgb24gcnRsLlxuICAgICAqKi9cbiAgICBAT3V0cHV0KClcbiAgICBtZW51RXhwYW5kID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHVzZXIgaW50ZW5kcyB0byBjb2xsYXBzZSB0aGUgbWVudS5cbiAgICAgKiBIYXBwZW5zIHdoZW4gdXNlciBjbGlja3MgYGxlZnQgYXJyb3dgIGtleSBvbiB0aGUgbWVudSBidXR0b25cbiAgICAgKiBpZiBvbiBsdHIgb3IgYHJpZ2h0IGFycm93YCBrZXkgaWYgb24gcnRsLlxuICAgICAqKi9cbiAgICBAT3V0cHV0KClcbiAgICBtZW51Q29sbGFwc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG1pY3JvcGhvbmUgYnV0dG9uIGlzIGNsaWNrZWRcbiAgICAgKiovXG4gICAgQE91dHB1dCgpXG4gICAgbWljcm9waG9uZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBkZWZhdWx0IGxvZ28gaXMgY2xpY2tlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGxvZ29DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUb29sSGVhZGVyQWN0aW9uc0RpcmVjdGl2ZSlcbiAgICBfdG9vbEhlYWRlckFjdGlvbnNEaXJlY3RpdmU/OiBUb29sSGVhZGVyQWN0aW9uc0RpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUb29sSGVhZGVyTG9nb0RpcmVjdGl2ZSlcbiAgICBfdG9vbEhlYWRlckxvZ29EaXJlY3RpdmU/OiBUb29sSGVhZGVyTG9nb0RpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChTZWFyY2hGaWVsZENvbXBvbmVudClcbiAgICBzZXQgX3NlYXJjaEZpZWxkKHNlYXJjaEZpZWxkOiBTZWFyY2hGaWVsZENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnNlYXJjaEZpZWxkLnNldChzZWFyY2hGaWVsZCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFRvb2xIZWFkZXJVc2VyRGlyZWN0aXZlKVxuICAgIF90b29sSGVhZGVyVXNlcj86IFRvb2xIZWFkZXJVc2VyRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKEZEX1BST0RVQ1RfU1dJVENIX0NPTVBPTkVOVClcbiAgICBfdG9vbEhlYWRlclByb2R1Y3RTd2l0Y2g/OiB1bmtub3duO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZWFyY2hGaWVsZE91dHNpZGVDbGlja1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaGFuZGxlciwgcmVzcG9uc2libGUgZm9yIGNsb3NpbmcgdGhlIHNlYXJjaCBmaWVsZFxuICAgICAqIG9uIG91dHNpZGUgY2xpY2tcbiAgICAgKiBAaGlkZGVuXG4gICAgICoqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgICBfb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hGaWVsZEV4cGFuZGVkKCkpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGUoKSA9PT0gJ3RhYmxldCcgJiZcbiAgICAgICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uKCkgPT09ICdwb3J0cmFpdCcgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaEZpZWxkKCkgJiZcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICAgICAgICAgICFldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaEZpZWxkKCkhLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoRmllbGRFeHBhbmRlZC5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlYXJjaEZpZWxkT3V0c2lkZUNsaWNrU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hGaWVsZE91dHNpZGVDbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhwYW5kIHRoZSBzZWFyY2ggZmllbGRcbiAgICAgKiovXG4gICAgZXhwYW5kU2VhcmNoRmllbGQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoRmllbGRFeHBhbmRlZC5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaEZpZWxkKCk/LmZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF9oYW5kbGVNZW51TGVmdEFycm93S2V5KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcnRsKCkpIHtcbiAgICAgICAgICAgIHRoaXMubWVudUV4cGFuZC5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVDb2xsYXBzZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBfaGFuZGxlTWVudVJpZ2h0QXJyb3dLZXkoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9ydGwoKSkge1xuICAgICAgICAgICAgdGhpcy5tZW51Q29sbGFwc2UuZW1pdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZW51RXhwYW5kLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgZmRiVG9vbEhlYWRlckdyb3VwIFtjbGFzcy5mZC10b29sLWhlYWRlci0tbWVudV09XCJzaG93TWVudUJ1dHRvblwiPlxuICAgIDxkaXYgZmRiVG9vbEhlYWRlckVsZW1lbnQgKm5nSWY9XCJmZGJUb29sSGVhZGVyU3RhdGUoKS5iYWNrQnV0dG9uVmlzaWJsZVwiPlxuICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZGJUb29sSGVhZGVyQnV0dG9uIGdseXBoPVwic2xpbS1hcnJvdy1sZWZ0XCIgKGNsaWNrKT1cInNlYXJjaEZpZWxkRXhwYW5kZWQuc2V0KGZhbHNlKVwiPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZmRiVG9vbEhlYWRlckVsZW1lbnQgKm5nSWY9XCJmZGJUb29sSGVhZGVyU3RhdGUoKS5tZW51QnV0dG9uVmlzaWJsZSAmJiBzaG93TWVudUJ1dHRvblwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIGZkYlRvb2xIZWFkZXJCdXR0b25cbiAgICAgICAgICAgIFt0aXRsZV09XCInYnRwVG9vbEhlYWRlci5tZW51QnV0dG9uQXJpYUxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ2J0cFRvb2xIZWFkZXIubWVudUJ1dHRvbkFyaWFMYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBnbHlwaD1cIm1lbnUyXCJcbiAgICAgICAgICAgIChrZXlkb3duLmFycm93TGVmdCk9XCJfaGFuZGxlTWVudUxlZnRBcnJvd0tleSgpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmFycm93UmlnaHQpPVwiX2hhbmRsZU1lbnVSaWdodEFycm93S2V5KClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm1lbnVDbGljay5lbWl0KClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBmZGJUb29sSGVhZGVyRWxlbWVudCAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLmxvZ29WaXNpYmxlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfdG9vbEhlYWRlckxvZ29EaXJlY3RpdmU7IGVsc2UgZGVmYXVsdExvZ29cIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZGJUb29sSGVhZGVyTG9nb11cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMb2dvPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGZkYlRvb2xIZWFkZXJMb2dvXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImxvZ29DbGljay5lbWl0KClcIlxuICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vdW5wa2cuY29tL2Z1bmRhbWVudGFsLXN0eWxlcy9kaXN0L2ltYWdlcy9zYXAtbG9nby5wbmdcIlxuICAgICAgICAgICAgICAgIHNyY3NldD1cIlxuICAgICAgICAgICAgICAgICAgICBodHRwczovL3VucGtnLmNvbS9mdW5kYW1lbnRhbC1zdHlsZXMvZGlzdC9pbWFnZXMvc2FwLWxvZ29AMngucG5nIDF4LFxuICAgICAgICAgICAgICAgICAgICBodHRwczovL3VucGtnLmNvbS9mdW5kYW1lbnRhbC1zdHlsZXMvZGlzdC9pbWFnZXMvc2FwLWxvZ29AM3gucG5nIDJ4LFxuICAgICAgICAgICAgICAgICAgICBodHRwczovL3VucGtnLmNvbS9mdW5kYW1lbnRhbC1zdHlsZXMvZGlzdC9pbWFnZXMvc2FwLWxvZ29ANHgucG5nIDN4XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBhbHQ9XCJTQVAgbG9nb1wiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNBUCBsb2dvXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cIlNBUCBsb2dvXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBmZGJUb29sSGVhZGVyRWxlbWVudCAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLnByb2R1Y3ROYW1lVmlzaWJsZVwiPlxuICAgICAgICA8aDEgY2xhc3M9XCJmZC10b29sLWhlYWRlcl9fcHJvZHVjdC1uYW1lXCI+XG4gICAgICAgICAgICB7eyBwcm9kdWN0TmFtZSB9fVxuICAgICAgICA8L2gxPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZmRiVG9vbEhlYWRlckVsZW1lbnQgKm5nSWY9XCJmZGJUb29sSGVhZGVyU3RhdGUoKS5zZWNvbmRUaXRsZVZpc2libGUgJiYgc2Vjb25kVGl0bGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRvb2wtaGVhZGVyX19zZWNvbmQtdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IHNlY29uZFRpdGxlIH19XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgZmRiVG9vbEhlYWRlckdyb3VwIGNlbnRlciAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLnNlYXJjaEZpZWxkVmlzaWJsZVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkYi1zZWFyY2gtZmllbGRcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGRpdiBmZGJUb29sSGVhZGVyR3JvdXAgYWN0aW9ucz5cbiAgICA8ZmQtb3ZlcmZsb3ctbGF5b3V0IGZkYlRvb2xIZWFkZXJFbGVtZW50IFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiJ2VuZCdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLnNlYXJjaEZpZWxkVG9nZ2xlQWN0aW9uVmlzaWJsZVwiPlxuICAgICAgICAgICAgPGRpdiBmZGJUb29sSGVhZGVyRWxlbWVudCAqZmRPdmVyZmxvd0l0ZW1SZWY9XCJsZXQgaGlkZGVuXCIgW2ZvcmNlVmlzaWJpbGl0eV09XCJ0cnVlXCIgZmRPdmVyZmxvd0xheW91dEl0ZW0+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmRiVG9vbEhlYWRlckJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGV4cGFuZFNlYXJjaEZpZWxkKClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLnByb3ZpZGVkQWN0aW9uc1Zpc2libGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBfdG9vbEhlYWRlckFjdGlvbnNEaXJlY3RpdmU/Ll9hY3Rpb25zKClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGZkYlRvb2xIZWFkZXJFbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICpmZE92ZXJmbG93SXRlbVJlZj1cImxldCBoaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICBbZm9yY2VWaXNpYmlsaXR5XT1cIiEhYWN0aW9uLmZvcmNlVmlzaWJpbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dMYXlvdXRJdGVtXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0lmXT1cIiEhYWN0aW9uLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0lmVGhlbl09XCIkYW55KGFjdGlvbi50ZW1wbGF0ZVJlZilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nSWZFbHNlXT1cImRlZmF1bHRBY3Rpb25CdXR0b25UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRBY3Rpb25CdXR0b25UZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZGJUb29sSGVhZGVyQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cImFjdGlvbi5nbHlwaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5jbGlja0NhbGxiYWNrKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiYWN0aW9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWJ1dHRvbl9fYmFkZ2VcIiAqbmdJZj1cImFjdGlvbi5oYXNCYWRnZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXRvb2wtaGVhZGVyX19zZXBhcmF0b3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24uaGFzU2VwYXJhdG9yICYmIGZkYlRvb2xIZWFkZXJTdGF0ZSgpLnNlcGFyYXRvcnNCZXR3ZWVuQWN0aW9uc1Zpc2libGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGZkYi1uYXZpZ2F0aW9uLW1lbnUtcG9wb3ZlciAqZmRPdmVyZmxvd0V4cGFuZD1cImxldCBvdmVyZmxvd0l0ZW1zXCIgZmRiVG9vbEhlYWRlckVsZW1lbnQ+XG4gICAgICAgICAgICA8YnV0dG9uICpmZGJOYXZpZ2F0aW9uTWVudVBvcG92ZXJDb250cm9sIGZkLWJ1dHRvbiBmZGJUb29sSGVhZGVyQnV0dG9uIGdseXBoPVwib3ZlcmZsb3dcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDx1bCAqZmRQb3BvdmVyQm9keSBmZGtGb2N1c2FibGVMaXN0IFt3cmFwXT1cInRydWVcIiBmZGItbmF2aWdhdGlvbi1tZW51PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3ZlcmZsb3dJdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3Rvb2xIZWFkZXJBY3Rpb25zRGlyZWN0aXZlPy5fYWN0aW9ucygpIGFzIGFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkYlRvb2xIZWFkZXJTdGF0ZSgpLnNlYXJjaEZpZWxkVG9nZ2xlQWN0aW9uVmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBhY3Rpb25zW2l0ZW0uZ2xvYmFsSW5kZXggLSAxXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhY3Rpb25zW2l0ZW0uZ2xvYmFsSW5kZXhdIGFzIGFjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRiLW5hdmlnYXRpb24tbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRrRm9jdXNhYmxlSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCJhY3Rpb24uZ2x5cGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uY2xpY2tDYWxsYmFjaygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiYWN0aW9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZmRiLW5hdmlnYXRpb24tbWVudS1wb3BvdmVyPlxuICAgIDwvZmQtb3ZlcmZsb3ctbGF5b3V0PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZGJUb29sSGVhZGVyU3RhdGUoKS51c2VyQXZhdGFyVmlzaWJsZSAmJiBfdG9vbEhlYWRlclVzZXJcIj5cbiAgICAgICAgPGRpdiBmZGJUb29sSGVhZGVyRWxlbWVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC10b29sLWhlYWRlcl9fc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmRiVG9vbEhlYWRlclVzZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmRiVG9vbEhlYWRlclN0YXRlKCkucHJvZHVjdFN3aXRjaFZpc2libGUgJiYgX3Rvb2xIZWFkZXJQcm9kdWN0U3dpdGNoXCI+XG4gICAgICAgIDxkaXYgZmRiVG9vbEhlYWRlckVsZW1lbnQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtdG9vbC1oZWFkZXJfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmRiLXRvb2wtaGVhZGVyLXByb2R1Y3Qtc3dpdGNoLCBmZC1wcm9kdWN0LXN3aXRjaFwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBmZGJUb29sSGVhZGVyRWxlbWVudCAqbmdJZj1cImZkYlRvb2xIZWFkZXJTdGF0ZSgpLnZvaWNlSW5wdXRWaXNpYmxlXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgZmRiVG9vbEhlYWRlckJ1dHRvblxuICAgICAgICAgICAgZ2x5cGg9XCJtaWNyb3Bob25lXCJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ1NlYXJjaCB3aXRoIHZvaWNlJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwibWljcm9waG9uZUNsaWNrLmVtaXQoKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -533,7 +533,7 @@ class ToolHeaderComponent extends ToolHeaderComponentClass {
533
533
  provide: ToolHeaderComponentClass,
534
534
  useExisting: ToolHeaderComponent
535
535
  }
536
- ], queries: [{ propertyName: "_toolHeaderActionsDirective", first: true, predicate: ToolHeaderActionsDirective, descendants: true }, { propertyName: "_toolHeaderLogoDirective", first: true, predicate: ToolHeaderLogoDirective, descendants: true }, { propertyName: "_searchField", first: true, predicate: SearchFieldComponent, descendants: true }, { propertyName: "_toolHeaderUser", first: true, predicate: ToolHeaderUserDirective, descendants: true }, { propertyName: "_toolHeaderProductSwitch", first: true, predicate: FD_PRODUCT_SWITCH_COMPONENT$1, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().backButtonVisible\">\n <button fd-button fdbToolHeaderButton glyph=\"slim-arrow-left\" (click)=\"searchFieldExpanded.set(false)\"></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().menuButtonVisible && showMenuButton\">\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().logoVisible\">\n <ng-container *ngIf=\"_toolHeaderLogoDirective; else defaultLogo\">\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n </ng-container>\n <ng-template #defaultLogo>\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n </ng-template>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().productNameVisible\">\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().secondTitleVisible && secondTitle\">\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n</div>\n\n<div fdbToolHeaderGroup center *ngIf=\"fdbToolHeaderState().searchFieldVisible\">\n <ng-content select=\"fdb-search-field\"></ng-content>\n</div>\n\n<div fdbToolHeaderGroup actions>\n <fd-overflow-layout fdbToolHeaderElement [style.justify-content]=\"'end'\">\n <ng-container *ngIf=\"fdbToolHeaderState().searchFieldToggleActionVisible\">\n <div fdbToolHeaderElement *fdOverflowItemRef=\"let hidden\" [forceVisibility]=\"true\" fdOverflowLayoutItem>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().providedActionsVisible\">\n <ng-container *ngFor=\"let action of _toolHeaderActionsDirective?._actions()\">\n <div\n fdbToolHeaderElement\n *fdOverflowItemRef=\"let hidden\"\n [forceVisibility]=\"!!action.forceVisibility\"\n fdOverflowLayoutItem\n >\n <ng-template\n [ngIf]=\"!!action.templateRef\"\n [ngIfThen]=\"$any(action.templateRef)\"\n [ngIfElse]=\"defaultActionButtonTemplate\"\n ></ng-template>\n <ng-template #defaultActionButtonTemplate>\n <button\n fd-button\n fdbToolHeaderButton\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [ariaLabel]=\"action.label\"\n >\n <span class=\"fd-button__badge\" *ngIf=\"action.hasBadge\"></span>\n </button>\n </ng-template>\n <div\n class=\"fd-tool-header__separator\"\n *ngIf=\"action.hasSeparator && fdbToolHeaderState().separatorsBetweenActionsVisible\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n\n <fdb-navigation-menu-popover *fdOverflowExpand=\"let overflowItems\" fdbToolHeaderElement>\n <button *fdbNavigationMenuPopoverControl fd-button fdbToolHeaderButton glyph=\"overflow\"></button>\n <ul *fdPopoverBody fdkFocusableList [wrap]=\"true\" fdb-navigation-menu>\n <ng-container *ngFor=\"let item of overflowItems\">\n <ng-container *ngIf=\"_toolHeaderActionsDirective?._actions() as actions\">\n <li\n *ngIf=\"\n fdbToolHeaderState().searchFieldToggleActionVisible\n ? actions[item.globalIndex - 1]\n : actions[item.globalIndex] as action\n \"\n fdb-navigation-menu-item\n fdkFocusableItem\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [label]=\"action.label\"\n ></li>\n </ng-container>\n </ng-container>\n </ul>\n </fdb-navigation-menu-popover>\n </fd-overflow-layout>\n <ng-container *ngIf=\"fdbToolHeaderState().userAvatarVisible && _toolHeaderUser\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-container>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().voiceInputVisible\">\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n</div>\n", styles: ["@import\"../../../../../../node_modules/fundamental-styles/dist/tool-header.css\";.fd-popover__body.fdb-tool-header-actions-overflow-popover-body{--fdPopover_Offset: .3875rem;width:auto;height:auto;padding:.5rem;background:var(--sapGroup_ContentBackground);border:none;border-radius:.5rem;box-shadow:var(--sapMenu_Shadow1)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu{--fdMenu_Item_Spacing_Left: 0}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link{--fdMenu_Link_Height: 2rem;border-radius:.375rem}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:after{display:none}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:.375rem;inset:.125rem;content:\"\";pointer-events:none;position:absolute}\n"], dependencies: [{ kind: "directive", type: ToolHeaderGroupDirective, selector: "[fdbToolHeaderGroup]", inputs: ["center", "actions"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "reverseHiddenItems", "enableKeyboardNavigation", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "directive", type: OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "directive", type: PopoverBodyDirective, selector: "[fdPopoverBody]" }, { kind: "directive", type: ToolHeaderElementDirective, selector: "[fdbToolHeaderElement]" }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ToolHeaderButtonDirective, selector: "[fd-button][fdbToolHeaderButton]", inputs: ["hasBadge"] }, { kind: "directive", type: ToolHeaderLogoDirective, selector: "[fdbToolHeaderLogo]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "component", type: NavigationMenuComponent, selector: "fdb-navigation-menu, ul[fdb-navigation-menu]" }, { kind: "component", type: NavigationMenuItemComponent, selector: "fdb-navigation-menu-item, li[fdb-navigation-menu-item]", inputs: ["glyph", "label"] }, { kind: "directive", type: FocusableListDirective, selector: "[fdkFocusableList]", inputs: ["focusable", "navigationDirection", "contentDirection", "wrap", "listFocusedEventAnnouncer"], outputs: ["itemFocused"], exportAs: ["fdkFocusableList"] }, { kind: "directive", type: FocusableItemDirective, selector: "[fdkFocusableItem]", inputs: ["fdkFocusableItem", "cellFocusedEventAnnouncer"], outputs: ["cellFocused"] }, { kind: "component", type: NavigationMenuPopoverComponent, selector: "fdb-navigation-menu-popover" }, { kind: "directive", type: NavigationMenuPopoverControlDirective, selector: "[fdbNavigationMenuPopoverControl]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
536
+ ], queries: [{ propertyName: "_toolHeaderActionsDirective", first: true, predicate: ToolHeaderActionsDirective, descendants: true }, { propertyName: "_toolHeaderLogoDirective", first: true, predicate: ToolHeaderLogoDirective, descendants: true }, { propertyName: "_searchField", first: true, predicate: SearchFieldComponent, descendants: true }, { propertyName: "_toolHeaderUser", first: true, predicate: ToolHeaderUserDirective, descendants: true }, { propertyName: "_toolHeaderProductSwitch", first: true, predicate: FD_PRODUCT_SWITCH_COMPONENT$1, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().backButtonVisible\">\n <button fd-button fdbToolHeaderButton glyph=\"slim-arrow-left\" (click)=\"searchFieldExpanded.set(false)\"></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().menuButtonVisible && showMenuButton\">\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().logoVisible\">\n <ng-container *ngIf=\"_toolHeaderLogoDirective; else defaultLogo\">\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n </ng-container>\n <ng-template #defaultLogo>\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n </ng-template>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().productNameVisible\">\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().secondTitleVisible && secondTitle\">\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n</div>\n\n<div fdbToolHeaderGroup center *ngIf=\"fdbToolHeaderState().searchFieldVisible\">\n <ng-content select=\"fdb-search-field\"></ng-content>\n</div>\n\n<div fdbToolHeaderGroup actions>\n <fd-overflow-layout fdbToolHeaderElement [style.justify-content]=\"'end'\">\n <ng-container *ngIf=\"fdbToolHeaderState().searchFieldToggleActionVisible\">\n <div fdbToolHeaderElement *fdOverflowItemRef=\"let hidden\" [forceVisibility]=\"true\" fdOverflowLayoutItem>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().providedActionsVisible\">\n <ng-container *ngFor=\"let action of _toolHeaderActionsDirective?._actions()\">\n <div\n fdbToolHeaderElement\n *fdOverflowItemRef=\"let hidden\"\n [forceVisibility]=\"!!action.forceVisibility\"\n fdOverflowLayoutItem\n >\n <ng-template\n [ngIf]=\"!!action.templateRef\"\n [ngIfThen]=\"$any(action.templateRef)\"\n [ngIfElse]=\"defaultActionButtonTemplate\"\n ></ng-template>\n <ng-template #defaultActionButtonTemplate>\n <button\n fd-button\n fdbToolHeaderButton\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [ariaLabel]=\"action.label\"\n >\n <span class=\"fd-button__badge\" *ngIf=\"action.hasBadge\"></span>\n </button>\n </ng-template>\n <div\n class=\"fd-tool-header__separator\"\n *ngIf=\"action.hasSeparator && fdbToolHeaderState().separatorsBetweenActionsVisible\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n\n <fdb-navigation-menu-popover *fdOverflowExpand=\"let overflowItems\" fdbToolHeaderElement>\n <button *fdbNavigationMenuPopoverControl fd-button fdbToolHeaderButton glyph=\"overflow\"></button>\n <ul *fdPopoverBody fdkFocusableList [wrap]=\"true\" fdb-navigation-menu>\n <ng-container *ngFor=\"let item of overflowItems\">\n <ng-container *ngIf=\"_toolHeaderActionsDirective?._actions() as actions\">\n <li\n *ngIf=\"\n fdbToolHeaderState().searchFieldToggleActionVisible\n ? actions[item.globalIndex - 1]\n : actions[item.globalIndex] as action\n \"\n fdb-navigation-menu-item\n fdkFocusableItem\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [label]=\"action.label\"\n ></li>\n </ng-container>\n </ng-container>\n </ul>\n </fdb-navigation-menu-popover>\n </fd-overflow-layout>\n <ng-container *ngIf=\"fdbToolHeaderState().userAvatarVisible && _toolHeaderUser\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-container>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().voiceInputVisible\">\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-tool-header{--fdToolHeader_Min_Height:var(--sapToolHeader_Min_Height_Cozy);--fdToolHeader_Padding_Left:1.5rem;--fdToolHeader_Padding_Right:1.25rem;-webkit-box-sizing:border-box;-webkit-box-shadow:var(--sapToolHeader_Shadow1);background:var(--sapShellColor);border:0;border:.0625rem solid var(--fdToolHeader_Border_Color);border-radius:var(--sapToolHeader_Border_Radius);box-shadow:var(--sapToolHeader_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.75rem;height:auto;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdToolHeader_Min_Height);padding:0;padding:var(--sapToolHeader_Paddings_Y) var(--fdToolHeader_Padding_Right) var(--sapToolHeader_Paddings_Y) var(--fdToolHeader_Padding_Left);width:100%}.fd-tool-header:after,.fd-tool-header:before{box-sizing:inherit;font-size:inherit}.fd-tool-header[dir=rtl],[dir=rtl] .fd-tool-header{padding-left:var(--fdToolHeader_Padding_Right);padding-right:var(--fdToolHeader_Padding_Left)}.fd-tool-header__group{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-flex:1;-ms-flex:1;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex:1;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.375rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tool-header__group:after,.fd-tool-header__group:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__group--center,.fd-tool-header__group--menu{flex:0}.fd-tool-header__group--actions{justify-content:flex-end}.fd-tool-header__group--hidden{display:none}.fd-tool-header__element{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tool-header__element:after,.fd-tool-header__element:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__element--hidden{display:none}.fd-tool-header__logo{-webkit-box-sizing:border-box;background-repeat:no-repeat;background-size:contain;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:auto}.fd-tool-header__logo:after,.fd-tool-header__logo:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__logo.is-focus,.fd-tool-header__logo:focus{border-radius:.25rem;outline:var(--sapContent_FocusStyle) var(--sapContent_FocusWidth) var(--sapContent_FocusColor);outline-offset:.125rem;z-index:5}.fd-tool-header__separator{-webkit-box-sizing:border-box;background:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.75rem;line-height:var(--sapContent_LineHeight);margin:0;max-height:.75rem;max-width:.75rem;min-height:.75rem;min-width:.75rem;padding:0;width:.75rem}.fd-tool-header__separator:after,.fd-tool-header__separator:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__product-name{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapToolHeader_Product_Name_Color);font-family:var(--sapFontFamily);font-family:var(--sapFontBlackFamily);font-size:var(--sapFontSize);font-size:var(--sapToolHeader_Product_Name_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.625rem;margin:0;padding:0;vertical-align:baseline}.fd-tool-header__product-name:after,.fd-tool-header__product-name:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__second-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapToolHeader_Second_Title_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapToolHeader_Second_Title_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;margin-top:var(--sapToolHeader_Second_Title_Offset);padding:0;vertical-align:baseline}.fd-tool-header__second-title:after,.fd-tool-header__second-title:before{box-sizing:inherit;font-size:inherit}.fd-tool-header--menu{--fdToolHeader_Padding_Left:.75rem}.fd-tool-header[class*=-compact],[class*=-compact] .fd-tool-header:not([class*=-cozy]){--fdToolHeader_Min_Height:var(--sapToolHeader_Min_Height_Compact)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body{--fdPopover_Offset: .3875rem;width:auto;height:auto;padding:.5rem;background:var(--sapGroup_ContentBackground);border:none;border-radius:.5rem;box-shadow:var(--sapMenu_Shadow1)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu{--fdMenu_Item_Spacing_Left: 0}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link{--fdMenu_Link_Height: 2rem;border-radius:.375rem}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:after{display:none}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:.375rem;inset:.125rem;content:\"\";pointer-events:none;position:absolute}\n"], dependencies: [{ kind: "directive", type: ToolHeaderGroupDirective, selector: "[fdbToolHeaderGroup]", inputs: ["center", "actions"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "reverseHiddenItems", "enableKeyboardNavigation", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "directive", type: OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "directive", type: PopoverBodyDirective, selector: "[fdPopoverBody]" }, { kind: "directive", type: ToolHeaderElementDirective, selector: "[fdbToolHeaderElement]" }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ToolHeaderButtonDirective, selector: "[fd-button][fdbToolHeaderButton]", inputs: ["hasBadge"] }, { kind: "directive", type: ToolHeaderLogoDirective, selector: "[fdbToolHeaderLogo]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "component", type: NavigationMenuComponent, selector: "fdb-navigation-menu, ul[fdb-navigation-menu]" }, { kind: "component", type: NavigationMenuItemComponent, selector: "fdb-navigation-menu-item, li[fdb-navigation-menu-item]", inputs: ["glyph", "label"] }, { kind: "directive", type: FocusableListDirective, selector: "[fdkFocusableList]", inputs: ["focusable", "navigationDirection", "contentDirection", "wrap", "listFocusedEventAnnouncer"], outputs: ["itemFocused"], exportAs: ["fdkFocusableList"] }, { kind: "directive", type: FocusableItemDirective, selector: "[fdkFocusableItem]", inputs: ["fdkFocusableItem", "cellFocusedEventAnnouncer"], outputs: ["cellFocused"] }, { kind: "component", type: NavigationMenuPopoverComponent, selector: "fdb-navigation-menu-popover" }, { kind: "directive", type: NavigationMenuPopoverControlDirective, selector: "[fdbNavigationMenuPopoverControl]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
537
537
  }
538
538
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ToolHeaderComponent, decorators: [{
539
539
  type: Component,
@@ -555,7 +555,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
555
555
  provide: ToolHeaderComponentClass,
556
556
  useExisting: ToolHeaderComponent
557
557
  }
558
- ], template: "<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().backButtonVisible\">\n <button fd-button fdbToolHeaderButton glyph=\"slim-arrow-left\" (click)=\"searchFieldExpanded.set(false)\"></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().menuButtonVisible && showMenuButton\">\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().logoVisible\">\n <ng-container *ngIf=\"_toolHeaderLogoDirective; else defaultLogo\">\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n </ng-container>\n <ng-template #defaultLogo>\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n </ng-template>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().productNameVisible\">\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().secondTitleVisible && secondTitle\">\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n</div>\n\n<div fdbToolHeaderGroup center *ngIf=\"fdbToolHeaderState().searchFieldVisible\">\n <ng-content select=\"fdb-search-field\"></ng-content>\n</div>\n\n<div fdbToolHeaderGroup actions>\n <fd-overflow-layout fdbToolHeaderElement [style.justify-content]=\"'end'\">\n <ng-container *ngIf=\"fdbToolHeaderState().searchFieldToggleActionVisible\">\n <div fdbToolHeaderElement *fdOverflowItemRef=\"let hidden\" [forceVisibility]=\"true\" fdOverflowLayoutItem>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().providedActionsVisible\">\n <ng-container *ngFor=\"let action of _toolHeaderActionsDirective?._actions()\">\n <div\n fdbToolHeaderElement\n *fdOverflowItemRef=\"let hidden\"\n [forceVisibility]=\"!!action.forceVisibility\"\n fdOverflowLayoutItem\n >\n <ng-template\n [ngIf]=\"!!action.templateRef\"\n [ngIfThen]=\"$any(action.templateRef)\"\n [ngIfElse]=\"defaultActionButtonTemplate\"\n ></ng-template>\n <ng-template #defaultActionButtonTemplate>\n <button\n fd-button\n fdbToolHeaderButton\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [ariaLabel]=\"action.label\"\n >\n <span class=\"fd-button__badge\" *ngIf=\"action.hasBadge\"></span>\n </button>\n </ng-template>\n <div\n class=\"fd-tool-header__separator\"\n *ngIf=\"action.hasSeparator && fdbToolHeaderState().separatorsBetweenActionsVisible\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n\n <fdb-navigation-menu-popover *fdOverflowExpand=\"let overflowItems\" fdbToolHeaderElement>\n <button *fdbNavigationMenuPopoverControl fd-button fdbToolHeaderButton glyph=\"overflow\"></button>\n <ul *fdPopoverBody fdkFocusableList [wrap]=\"true\" fdb-navigation-menu>\n <ng-container *ngFor=\"let item of overflowItems\">\n <ng-container *ngIf=\"_toolHeaderActionsDirective?._actions() as actions\">\n <li\n *ngIf=\"\n fdbToolHeaderState().searchFieldToggleActionVisible\n ? actions[item.globalIndex - 1]\n : actions[item.globalIndex] as action\n \"\n fdb-navigation-menu-item\n fdkFocusableItem\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [label]=\"action.label\"\n ></li>\n </ng-container>\n </ng-container>\n </ul>\n </fdb-navigation-menu-popover>\n </fd-overflow-layout>\n <ng-container *ngIf=\"fdbToolHeaderState().userAvatarVisible && _toolHeaderUser\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-container>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().voiceInputVisible\">\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n</div>\n", styles: ["@import\"../../../../../../node_modules/fundamental-styles/dist/tool-header.css\";.fd-popover__body.fdb-tool-header-actions-overflow-popover-body{--fdPopover_Offset: .3875rem;width:auto;height:auto;padding:.5rem;background:var(--sapGroup_ContentBackground);border:none;border-radius:.5rem;box-shadow:var(--sapMenu_Shadow1)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu{--fdMenu_Item_Spacing_Left: 0}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link{--fdMenu_Link_Height: 2rem;border-radius:.375rem}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:after{display:none}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:.375rem;inset:.125rem;content:\"\";pointer-events:none;position:absolute}\n"] }]
558
+ ], template: "<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().backButtonVisible\">\n <button fd-button fdbToolHeaderButton glyph=\"slim-arrow-left\" (click)=\"searchFieldExpanded.set(false)\"></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().menuButtonVisible && showMenuButton\">\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().logoVisible\">\n <ng-container *ngIf=\"_toolHeaderLogoDirective; else defaultLogo\">\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n </ng-container>\n <ng-template #defaultLogo>\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n </ng-template>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().productNameVisible\">\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().secondTitleVisible && secondTitle\">\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n</div>\n\n<div fdbToolHeaderGroup center *ngIf=\"fdbToolHeaderState().searchFieldVisible\">\n <ng-content select=\"fdb-search-field\"></ng-content>\n</div>\n\n<div fdbToolHeaderGroup actions>\n <fd-overflow-layout fdbToolHeaderElement [style.justify-content]=\"'end'\">\n <ng-container *ngIf=\"fdbToolHeaderState().searchFieldToggleActionVisible\">\n <div fdbToolHeaderElement *fdOverflowItemRef=\"let hidden\" [forceVisibility]=\"true\" fdOverflowLayoutItem>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().providedActionsVisible\">\n <ng-container *ngFor=\"let action of _toolHeaderActionsDirective?._actions()\">\n <div\n fdbToolHeaderElement\n *fdOverflowItemRef=\"let hidden\"\n [forceVisibility]=\"!!action.forceVisibility\"\n fdOverflowLayoutItem\n >\n <ng-template\n [ngIf]=\"!!action.templateRef\"\n [ngIfThen]=\"$any(action.templateRef)\"\n [ngIfElse]=\"defaultActionButtonTemplate\"\n ></ng-template>\n <ng-template #defaultActionButtonTemplate>\n <button\n fd-button\n fdbToolHeaderButton\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [ariaLabel]=\"action.label\"\n >\n <span class=\"fd-button__badge\" *ngIf=\"action.hasBadge\"></span>\n </button>\n </ng-template>\n <div\n class=\"fd-tool-header__separator\"\n *ngIf=\"action.hasSeparator && fdbToolHeaderState().separatorsBetweenActionsVisible\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n\n <fdb-navigation-menu-popover *fdOverflowExpand=\"let overflowItems\" fdbToolHeaderElement>\n <button *fdbNavigationMenuPopoverControl fd-button fdbToolHeaderButton glyph=\"overflow\"></button>\n <ul *fdPopoverBody fdkFocusableList [wrap]=\"true\" fdb-navigation-menu>\n <ng-container *ngFor=\"let item of overflowItems\">\n <ng-container *ngIf=\"_toolHeaderActionsDirective?._actions() as actions\">\n <li\n *ngIf=\"\n fdbToolHeaderState().searchFieldToggleActionVisible\n ? actions[item.globalIndex - 1]\n : actions[item.globalIndex] as action\n \"\n fdb-navigation-menu-item\n fdkFocusableItem\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [label]=\"action.label\"\n ></li>\n </ng-container>\n </ng-container>\n </ul>\n </fdb-navigation-menu-popover>\n </fd-overflow-layout>\n <ng-container *ngIf=\"fdbToolHeaderState().userAvatarVisible && _toolHeaderUser\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-container>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().voiceInputVisible\">\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-tool-header{--fdToolHeader_Min_Height:var(--sapToolHeader_Min_Height_Cozy);--fdToolHeader_Padding_Left:1.5rem;--fdToolHeader_Padding_Right:1.25rem;-webkit-box-sizing:border-box;-webkit-box-shadow:var(--sapToolHeader_Shadow1);background:var(--sapShellColor);border:0;border:.0625rem solid var(--fdToolHeader_Border_Color);border-radius:var(--sapToolHeader_Border_Radius);box-shadow:var(--sapToolHeader_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.75rem;height:auto;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdToolHeader_Min_Height);padding:0;padding:var(--sapToolHeader_Paddings_Y) var(--fdToolHeader_Padding_Right) var(--sapToolHeader_Paddings_Y) var(--fdToolHeader_Padding_Left);width:100%}.fd-tool-header:after,.fd-tool-header:before{box-sizing:inherit;font-size:inherit}.fd-tool-header[dir=rtl],[dir=rtl] .fd-tool-header{padding-left:var(--fdToolHeader_Padding_Right);padding-right:var(--fdToolHeader_Padding_Left)}.fd-tool-header__group{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-flex:1;-ms-flex:1;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex:1;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.375rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tool-header__group:after,.fd-tool-header__group:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__group--center,.fd-tool-header__group--menu{flex:0}.fd-tool-header__group--actions{justify-content:flex-end}.fd-tool-header__group--hidden{display:none}.fd-tool-header__element{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tool-header__element:after,.fd-tool-header__element:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__element--hidden{display:none}.fd-tool-header__logo{-webkit-box-sizing:border-box;background-repeat:no-repeat;background-size:contain;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:auto}.fd-tool-header__logo:after,.fd-tool-header__logo:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__logo.is-focus,.fd-tool-header__logo:focus{border-radius:.25rem;outline:var(--sapContent_FocusStyle) var(--sapContent_FocusWidth) var(--sapContent_FocusColor);outline-offset:.125rem;z-index:5}.fd-tool-header__separator{-webkit-box-sizing:border-box;background:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.75rem;line-height:var(--sapContent_LineHeight);margin:0;max-height:.75rem;max-width:.75rem;min-height:.75rem;min-width:.75rem;padding:0;width:.75rem}.fd-tool-header__separator:after,.fd-tool-header__separator:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__product-name{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapToolHeader_Product_Name_Color);font-family:var(--sapFontFamily);font-family:var(--sapFontBlackFamily);font-size:var(--sapFontSize);font-size:var(--sapToolHeader_Product_Name_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.625rem;margin:0;padding:0;vertical-align:baseline}.fd-tool-header__product-name:after,.fd-tool-header__product-name:before{box-sizing:inherit;font-size:inherit}.fd-tool-header__second-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapToolHeader_Second_Title_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapToolHeader_Second_Title_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;margin-top:var(--sapToolHeader_Second_Title_Offset);padding:0;vertical-align:baseline}.fd-tool-header__second-title:after,.fd-tool-header__second-title:before{box-sizing:inherit;font-size:inherit}.fd-tool-header--menu{--fdToolHeader_Padding_Left:.75rem}.fd-tool-header[class*=-compact],[class*=-compact] .fd-tool-header:not([class*=-cozy]){--fdToolHeader_Min_Height:var(--sapToolHeader_Min_Height_Compact)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body{--fdPopover_Offset: .3875rem;width:auto;height:auto;padding:.5rem;background:var(--sapGroup_ContentBackground);border:none;border-radius:.5rem;box-shadow:var(--sapMenu_Shadow1)}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu{--fdMenu_Item_Spacing_Left: 0}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link{--fdMenu_Link_Height: 2rem;border-radius:.375rem}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:after{display:none}.fd-popover__body.fdb-tool-header-actions-overflow-popover-body .fd-menu .fd-menu__link:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:.375rem;inset:.125rem;content:\"\";pointer-events:none;position:absolute}\n"] }]
559
559
  }], propDecorators: { productName: [{
560
560
  type: Input,
561
561
  args: [{ required: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-btp-tool-header.mjs","sources":["../../../../libs/btp/tool-header/src/directives/tool-header-button.directive.ts","../../../../libs/btp/tool-header/src/components/tool-header-product-switch.component.ts","../../../../libs/btp/tool-header/src/directives/tool-header-action.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-actions.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-element.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-group.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-logo.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-user.directive.ts","../../../../libs/btp/tool-header/src/tool-header-component.class.ts","../../../../libs/btp/tool-header/src/components/tool-header/tool-header.component.ts","../../../../libs/btp/tool-header/src/components/tool-header/tool-header.component.html","../../../../libs/btp/tool-header/src/directives/tool-header-auto-mode.directive.ts","../../../../libs/btp/tool-header/src/fundamental-ngx-btp-tool-header.ts"],"sourcesContent":["import { Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\n\nlet itemCounter = 0;\n\n@Directive({\n selector: '[fd-button][fdbToolHeaderButton]',\n host: {\n class: 'fd-button--tool-header'\n },\n standalone: true\n})\nexport class ToolHeaderButtonDirective implements HasElementRef {\n /**\n * Whether the button has a badge.\n * @param hasBadge\n */\n @Input()\n set hasBadge(hasBadge: boolean) {\n if (hasBadge) {\n if (!this._badge) {\n this._badge = this.renderer.createElement('span');\n this.renderer.addClass(this._badge, 'fd-button__badge');\n this.renderer.setAttribute(this._badge, 'id', this._badgeId);\n this.renderer.appendChild(this.elementRef.nativeElement, this._badge);\n }\n } else {\n if (this._badge) {\n this.renderer.removeChild(this.elementRef.nativeElement, this._badge);\n this._badge = undefined;\n }\n }\n }\n\n /** @hidden */\n elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /** @hidden */\n private _badgeId = `fdbToolHeaderButton-badge-${itemCounter++}`;\n\n /** @hidden */\n private _badge?: HTMLElement;\n\n /** @hidden */\n private renderer: Renderer2 = inject(Renderer2);\n\n /** @hidden */\n constructor() {\n inject(ButtonComponent, { host: true }).fdType = 'transparent';\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n BasePopoverClass,\n PopoverBodyComponent,\n PopoverComponent,\n PopoverControlComponent\n} from '@fundamental-ngx/core/popover';\nimport {\n FD_PRODUCT_SWITCH_COMPONENT,\n ProductSwitchButtonDirective,\n ProductSwitchComponent\n} from '@fundamental-ngx/core/product-switch';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ToolHeaderButtonDirective } from '../directives/tool-header-button.directive';\n\n@Component({\n selector: 'fdb-tool-header-product-switch',\n imports: [\n ButtonComponent,\n FdTranslatePipe,\n PopoverBodyComponent,\n PopoverComponent,\n PopoverControlComponent,\n ToolHeaderButtonDirective,\n ProductSwitchComponent,\n ProductSwitchButtonDirective\n ],\n template: `\n <fd-product-switch\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"isOpenChange.emit($event)\"\n [disabled]=\"disabled\"\n [triggers]=\"triggers\"\n [focusTrapped]=\"false\"\n [focusAutoCapture]=\"true\"\n [noArrow]=\"noArrow\"\n [disableScrollbar]=\"true\"\n >\n <button\n *fdProductSwitchButton\n fd-button\n fdbToolHeaderButton\n [attr.aria-label]=\"'coreProductSwitch.ariaLabel' | fdTranslate\"\n [attr.title]=\"'coreProductSwitch.ariaLabel' | fdTranslate\"\n glyph=\"grid\"\n fdType=\"transparent\"\n ></button>\n <ng-content></ng-content>\n </fd-product-switch>\n `,\n providers: [\n {\n provide: FD_PRODUCT_SWITCH_COMPONENT,\n useExisting: ToolHeaderProductSwitchComponent\n }\n ],\n standalone: true\n})\nexport class ToolHeaderProductSwitchComponent extends BasePopoverClass {\n /** Placement of a popover. */\n @Input()\n override placement: Placement = 'bottom-end';\n\n /** Whether the product switch is disabled. */\n @Input()\n override disabled = false;\n}\n","import { Directive, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { FdbToolHeaderActionButton } from '../tool-header-action-button.type';\n\n@Directive({\n selector: '[fdbToolHeaderAction]',\n standalone: true\n})\nexport class ToolHeaderActionDirective implements FdbToolHeaderActionButton {\n /**\n * Glyph which will be used for the action when in overflow mode.\n */\n @Input({ required: true })\n glyph: string;\n\n /**\n * Label which will be used for the action when in overflow mode.\n */\n @Input({ required: true })\n label: string;\n\n /**\n * Whether the action should have a separator next to it\n */\n @Input()\n hasSeparator = false;\n\n /**\n * Whether the action is always visible.\n */\n @Input()\n forceVisibility?: boolean;\n\n /**\n * Event emitted when the action is clicked when in overflow mode.\n **/\n @Output()\n clicked = new EventEmitter<void>();\n\n /** @hidden */\n constructor(readonly templateRef: TemplateRef<any>) {}\n\n /**\n * Function to be called when the action is clicked\n * when in overflow mode.\n **/\n clickCallback = (): void => this.clicked.emit();\n}\n","/* eslint-disable @angular-eslint/no-input-rename */\nimport { ContentChildren, DestroyRef, Directive, inject, Input, QueryList, Signal } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, combineLatest, map, startWith, Subscription } from 'rxjs';\nimport { FdbToolHeaderActionButton } from '../tool-header-action-button.type';\nimport { ToolHeaderActionDirective } from './tool-header-action.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fdb-tool-header-actions',\n standalone: true\n})\nexport class ToolHeaderActionsDirective {\n /**\n * Actions to be displayed in the header.\n */\n @Input()\n set actions(actions: FdbToolHeaderActionButton[] | Array<FdbToolHeaderActionButton[]>) {\n this._inputActions$.next(\n (actions as any).reduce(\n (\n acc: FdbToolHeaderActionButton[],\n actionOrActionGroup: FdbToolHeaderActionButton[] | FdbToolHeaderActionButton,\n index: number\n ) => {\n if (Array.isArray(actionOrActionGroup)) {\n acc.push(...actionOrActionGroup);\n if (index !== (actions as any).length - 1) {\n acc[acc.length - 1].hasSeparator = true;\n }\n } else {\n acc.push(actionOrActionGroup);\n }\n return acc;\n },\n []\n )\n );\n }\n\n /** @hidden */\n @ContentChildren(ToolHeaderActionDirective)\n set _actionsFromContent(actions: QueryList<ToolHeaderActionDirective>) {\n if (this._contentActionsSubscription) {\n this._contentActionsSubscription.unsubscribe();\n this._contentActionsSubscription = undefined;\n }\n this._contentActionsSubscription = actions.changes\n .pipe(\n startWith(actions),\n map((ql: QueryList<ToolHeaderActionDirective>) => ql.toArray()),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((_actions: ToolHeaderActionDirective[]) => {\n this._contentActions$.next(_actions);\n });\n }\n\n /** @hidden */\n _actions: Signal<FdbToolHeaderActionButton[]>;\n /** @hidden */\n protected _contentActions$ = new BehaviorSubject<FdbToolHeaderActionButton[]>([]);\n\n /** @hidden */\n protected _inputActions$ = new BehaviorSubject<FdbToolHeaderActionButton[]>([]);\n\n /** @hidden */\n private _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private _contentActionsSubscription?: Subscription;\n\n /** @hidden */\n constructor() {\n this._actions = toSignal(\n combineLatest([this._contentActions$, this._inputActions$]).pipe(\n map(([contentActions, inputActions]) => [...contentActions, ...inputActions])\n ),\n { requireSync: true }\n );\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderElement]',\n host: {\n class: 'fd-tool-header__element'\n },\n standalone: true\n})\nexport class ToolHeaderElementDirective {}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderGroup]',\n host: {\n class: 'fd-tool-header__group',\n '[class.fd-tool-header__group--center]': 'center',\n '[class.fd-tool-header__group--actions]': 'actions'\n },\n standalone: true\n})\nexport class ToolHeaderGroupDirective {\n /** @hidden */\n @Input({ transform: coerceBooleanProperty })\n center: BooleanInput;\n\n /** @hidden */\n @Input({ transform: coerceBooleanProperty })\n actions: BooleanInput;\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderLogo]',\n host: {\n '[attr.role]': '\"button\"',\n '[attr.tabindex]': '0',\n class: 'fd-tool-header__logo'\n },\n standalone: true\n})\nexport class ToolHeaderLogoDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderUser]',\n standalone: true\n})\nexport class ToolHeaderUserDirective {}\n","import { computed, inject, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SearchFieldComponent } from '@fundamental-ngx/btp/search-field';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FdbToolHeaderState } from './tool-header-state.type';\n\nexport abstract class ToolHeaderComponentClass {\n /** Mode signal */\n mode = signal<FdbViewMode>('');\n\n /** @hidden */\n orientation = signal<'landscape' | 'portrait'>('landscape');\n\n /** @hidden */\n protected fdbToolHeaderState = computed<FdbToolHeaderState>(() => {\n if (this.mode() === 'phone') {\n return {\n backButtonVisible: this.searchFieldExpanded(),\n menuButtonVisible: !this.searchFieldExpanded(),\n logoVisible: !this.searchFieldExpanded(),\n productNameVisible: false,\n secondTitleVisible: false,\n searchFieldVisible: this.searchFieldExpanded(),\n searchFieldToggleActionVisible: !!this.searchField() && !this.searchFieldExpanded(),\n providedActionsVisible: !this.searchFieldExpanded(),\n userAvatarVisible: !this.searchFieldExpanded(),\n productSwitchVisible: !this.searchFieldExpanded(),\n voiceInputVisible: this.searchFieldExpanded(),\n separatorsBetweenActionsVisible: false\n };\n }\n if (this.mode() === 'tablet') {\n const isPortrait = this.orientation() === 'portrait';\n const isLandscape = !isPortrait;\n const searchFieldVisible = this.searchFieldExpanded() || isLandscape;\n const searchFieldToggleActionVisible = !searchFieldVisible && !!this.searchField();\n\n return {\n backButtonVisible: false,\n menuButtonVisible: true,\n logoVisible: true,\n productNameVisible: isPortrait ? !this.searchFieldExpanded() : true,\n secondTitleVisible: isLandscape ? false : !this.searchFieldExpanded(),\n searchFieldVisible,\n searchFieldToggleActionVisible,\n providedActionsVisible: true,\n userAvatarVisible: true,\n productSwitchVisible: true,\n voiceInputVisible: false,\n separatorsBetweenActionsVisible: this.orientation() === 'landscape'\n };\n }\n return {\n backButtonVisible: false,\n menuButtonVisible: true,\n logoVisible: true,\n productNameVisible: true,\n secondTitleVisible: true,\n searchFieldVisible: true,\n searchFieldToggleActionVisible: false,\n providedActionsVisible: true,\n userAvatarVisible: true,\n productSwitchVisible: true,\n voiceInputVisible: false,\n separatorsBetweenActionsVisible: true\n };\n });\n\n /** Search field signal */\n protected searchField = signal<SearchFieldComponent | null>(null);\n\n /** @hidden */\n protected searchFieldExpanded = signal<boolean>(false);\n\n /**\n * RTL signal\n * @hidden\n */\n protected _rtl = toSignal(inject(RtlService).rtl);\n}\n","/* eslint-disable @angular-eslint/no-input-rename */\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n HostListener,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport {\n NavigationMenuComponent,\n NavigationMenuItemComponent,\n NavigationMenuPopoverComponent,\n NavigationMenuPopoverControlDirective\n} from '@fundamental-ngx/btp/navigation-menu';\nimport { SearchFieldComponent } from '@fundamental-ngx/btp/search-field';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { FD_PRODUCT_SWITCH_COMPONENT, FocusableItemDirective, FocusableListDirective } from '@fundamental-ngx/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport {\n GlyphMenuAddonDirective,\n MenuAddonDirective,\n MenuComponent,\n MenuInteractiveComponent,\n MenuItemComponent,\n MenuTitleDirective,\n MenuTriggerDirective\n} from '@fundamental-ngx/core/menu';\nimport {\n OverflowExpandDirective,\n OverflowItemRefDirective,\n OverflowLayoutComponent,\n OverflowLayoutItemDirective\n} from '@fundamental-ngx/core/overflow-layout';\nimport { PopoverBodyDirective, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Subscription, first } from 'rxjs';\nimport { ToolHeaderActionsDirective } from '../../directives/tool-header-actions.directive';\nimport { ToolHeaderButtonDirective } from '../../directives/tool-header-button.directive';\nimport { ToolHeaderElementDirective } from '../../directives/tool-header-element.directive';\nimport { ToolHeaderGroupDirective } from '../../directives/tool-header-group.directive';\nimport { ToolHeaderLogoDirective } from '../../directives/tool-header-logo.directive';\nimport { ToolHeaderUserDirective } from '../../directives/tool-header-user.directive';\nimport { ToolHeaderComponentClass } from '../../tool-header-component.class';\n\nconst imports = [\n ToolHeaderGroupDirective,\n NgIf,\n NgTemplateOutlet,\n OverflowLayoutComponent,\n NgForOf,\n OverflowLayoutItemDirective,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n PopoverComponent,\n PopoverControlComponent,\n PopoverBodyDirective,\n MenuTriggerDirective,\n MenuComponent,\n MenuItemComponent,\n MenuInteractiveComponent,\n MenuTitleDirective,\n MenuAddonDirective,\n GlyphMenuAddonDirective,\n ToolHeaderElementDirective,\n IconComponent,\n ButtonComponent,\n ToolHeaderButtonDirective,\n ToolHeaderLogoDirective,\n FdTranslatePipe\n];\n\n@Component({\n selector: 'fdb-tool-header',\n templateUrl: './tool-header.component.html',\n styleUrls: ['./tool-header.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-tool-header',\n '[class.fd-tool-header--menu]': 'showMenuButton'\n },\n imports: [\n imports,\n NavigationMenuComponent,\n NavigationMenuItemComponent,\n FocusableListDirective,\n FocusableItemDirective,\n NavigationMenuPopoverComponent,\n NavigationMenuPopoverControlDirective,\n AsyncPipe\n ],\n providers: [\n contentDensityObserverProviders(),\n {\n provide: ToolHeaderComponentClass,\n useExisting: ToolHeaderComponent\n }\n ]\n})\nexport class ToolHeaderComponent extends ToolHeaderComponentClass implements OnDestroy {\n /**\n * (required) the Product Name is the official name of the tool.\n */\n @Input({ required: true }) productName!: string;\n /**\n * Second Title is an optional second text identifier of the tool.\n **/\n @Input() secondTitle?: string;\n\n /** Mode */\n @Input('mode')\n set _mode(mode: FdbViewMode) {\n if (mode !== this.mode()) {\n this.mode.set(mode);\n }\n }\n\n /** @hidden */\n @Input('orientation')\n set _orientation(orientation: 'landscape' | 'portrait') {\n if (orientation !== this.orientation()) {\n this.orientation.set(orientation);\n }\n }\n\n /**\n * Whether to show the menu button\n */\n @Input({ transform: coerceBooleanProperty })\n showMenuButton: BooleanInput;\n\n /**\n * Whether to show the voice input action button on\n * the right side of the tool header, when the mode is mobile\n * and the search input is expanded\n */\n @Input({ transform: coerceBooleanProperty })\n showVoiceInputAction: BooleanInput = true;\n\n /**\n * Event emitted when the menu button is clicked\n **/\n @Output()\n menuClick = new EventEmitter<void>();\n\n /**\n * Event emitted when user intends to expand the menu.\n * Happens when user clicks `right arrow` key on the menu button\n * if on ltr or `left arrow` key if on rtl.\n **/\n @Output()\n menuExpand = new EventEmitter<void>();\n\n /**\n * Event emitted when user intends to collapse the menu.\n * Happens when user clicks `left arrow` key on the menu button\n * if on ltr or `right arrow` key if on rtl.\n **/\n @Output()\n menuCollapse = new EventEmitter<void>();\n\n /**\n * Event emitted when the microphone button is clicked\n **/\n @Output()\n microphoneClick = new EventEmitter<void>();\n\n /**\n * Event emitted when the default logo is clicked\n */\n @Output()\n logoClick = new EventEmitter<void>();\n\n /** @hidden */\n @ContentChild(ToolHeaderActionsDirective)\n _toolHeaderActionsDirective?: ToolHeaderActionsDirective;\n\n /** @hidden */\n @ContentChild(ToolHeaderLogoDirective)\n _toolHeaderLogoDirective?: ToolHeaderLogoDirective;\n\n /** @hidden */\n @ContentChild(SearchFieldComponent)\n set _searchField(searchField: SearchFieldComponent) {\n this.searchField.set(searchField);\n }\n\n /** @hidden */\n @ContentChild(ToolHeaderUserDirective)\n _toolHeaderUser?: ToolHeaderUserDirective;\n\n /** @hidden */\n @ContentChild(FD_PRODUCT_SWITCH_COMPONENT)\n _toolHeaderProductSwitch?: unknown;\n\n /** @hidden */\n private _searchFieldOutsideClickSubscription?: Subscription;\n\n /** @hidden */\n private _ngZone = inject(NgZone);\n\n /**\n * The handler, responsible for closing the search field\n * on outside click\n * @hidden\n **/\n @HostListener('document:click', ['$event'])\n _onClick(event: MouseEvent): void {\n if (this.searchFieldExpanded()) {\n if (\n this.mode() === 'tablet' &&\n this.orientation() === 'portrait' &&\n this.searchField() &&\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n !event.composedPath().includes(this.searchField()!.elementRef.nativeElement)\n ) {\n this.searchFieldExpanded.set(false);\n }\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._searchFieldOutsideClickSubscription) {\n this._searchFieldOutsideClickSubscription.unsubscribe();\n }\n }\n\n /**\n * Expand the search field\n **/\n expandSearchField(): void {\n this.searchFieldExpanded.set(true);\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this.searchField()?.focus();\n });\n }\n\n /** @hidden */\n protected _handleMenuLeftArrowKey(): void {\n if (this._rtl()) {\n this.menuExpand.emit();\n } else {\n this.menuCollapse.emit();\n }\n }\n\n /** @hidden */\n protected _handleMenuRightArrowKey(): void {\n if (this._rtl()) {\n this.menuCollapse.emit();\n } else {\n this.menuExpand.emit();\n }\n }\n}\n","<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().backButtonVisible\">\n <button fd-button fdbToolHeaderButton glyph=\"slim-arrow-left\" (click)=\"searchFieldExpanded.set(false)\"></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().menuButtonVisible && showMenuButton\">\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().logoVisible\">\n <ng-container *ngIf=\"_toolHeaderLogoDirective; else defaultLogo\">\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n </ng-container>\n <ng-template #defaultLogo>\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n </ng-template>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().productNameVisible\">\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().secondTitleVisible && secondTitle\">\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n</div>\n\n<div fdbToolHeaderGroup center *ngIf=\"fdbToolHeaderState().searchFieldVisible\">\n <ng-content select=\"fdb-search-field\"></ng-content>\n</div>\n\n<div fdbToolHeaderGroup actions>\n <fd-overflow-layout fdbToolHeaderElement [style.justify-content]=\"'end'\">\n <ng-container *ngIf=\"fdbToolHeaderState().searchFieldToggleActionVisible\">\n <div fdbToolHeaderElement *fdOverflowItemRef=\"let hidden\" [forceVisibility]=\"true\" fdOverflowLayoutItem>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().providedActionsVisible\">\n <ng-container *ngFor=\"let action of _toolHeaderActionsDirective?._actions()\">\n <div\n fdbToolHeaderElement\n *fdOverflowItemRef=\"let hidden\"\n [forceVisibility]=\"!!action.forceVisibility\"\n fdOverflowLayoutItem\n >\n <ng-template\n [ngIf]=\"!!action.templateRef\"\n [ngIfThen]=\"$any(action.templateRef)\"\n [ngIfElse]=\"defaultActionButtonTemplate\"\n ></ng-template>\n <ng-template #defaultActionButtonTemplate>\n <button\n fd-button\n fdbToolHeaderButton\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [ariaLabel]=\"action.label\"\n >\n <span class=\"fd-button__badge\" *ngIf=\"action.hasBadge\"></span>\n </button>\n </ng-template>\n <div\n class=\"fd-tool-header__separator\"\n *ngIf=\"action.hasSeparator && fdbToolHeaderState().separatorsBetweenActionsVisible\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n\n <fdb-navigation-menu-popover *fdOverflowExpand=\"let overflowItems\" fdbToolHeaderElement>\n <button *fdbNavigationMenuPopoverControl fd-button fdbToolHeaderButton glyph=\"overflow\"></button>\n <ul *fdPopoverBody fdkFocusableList [wrap]=\"true\" fdb-navigation-menu>\n <ng-container *ngFor=\"let item of overflowItems\">\n <ng-container *ngIf=\"_toolHeaderActionsDirective?._actions() as actions\">\n <li\n *ngIf=\"\n fdbToolHeaderState().searchFieldToggleActionVisible\n ? actions[item.globalIndex - 1]\n : actions[item.globalIndex] as action\n \"\n fdb-navigation-menu-item\n fdkFocusableItem\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [label]=\"action.label\"\n ></li>\n </ng-container>\n </ng-container>\n </ul>\n </fdb-navigation-menu-popover>\n </fd-overflow-layout>\n <ng-container *ngIf=\"fdbToolHeaderState().userAvatarVisible && _toolHeaderUser\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-container>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().voiceInputVisible\">\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n</div>\n","import { computed, Directive, ElementRef, EventEmitter, inject, Input, Output, signal } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { HasElementRef, ResizeObserverService, ResponsiveBreakpoints } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityDirective, ContentDensityMode } from '@fundamental-ngx/core/content-density';\nimport { distinctUntilChanged, map, startWith } from 'rxjs';\nimport { ToolHeaderComponent } from '../components/tool-header/tool-header.component';\n\ninterface FdbToolHeaderModeConfig {\n desktop: number;\n tabletLandscape: [number, number];\n tabletPortrait: [number, number];\n phone: number;\n}\n\nconst DEFAULT_CONFIG: FdbToolHeaderModeConfig = {\n desktop: ResponsiveBreakpoints.L + 1,\n tabletLandscape: [ResponsiveBreakpoints.M + 1, ResponsiveBreakpoints.L],\n tabletPortrait: [ResponsiveBreakpoints.S + 1, ResponsiveBreakpoints.M],\n phone: ResponsiveBreakpoints.S\n};\n\n@Directive({\n selector: 'fdb-tool-header[fdbToolHeaderAutoMode]',\n exportAs: 'fdbToolHeaderAutoMode',\n hostDirectives: [ContentDensityDirective],\n standalone: true\n})\nexport class ToolHeaderAutoModeDirective implements HasElementRef {\n /**\n * What sizes should be used to determine mode.\n * Sizes mean the width of the tool header, not the whole screen.\n **/\n @Input() set config(config: Partial<FdbToolHeaderModeConfig>) {\n this._config.set({ ...DEFAULT_CONFIG, ...config });\n }\n\n /**\n * Current mode of the ToolHeaderComponent\n */\n @Output()\n modeChange = new EventEmitter<FdbViewMode>();\n\n /**\n * Current orientation of the ToolHeaderComponent\n */\n @Output()\n orientationChange = new EventEmitter<'landscape' | 'portrait'>();\n\n /**\n * Current content density of the ToolHeaderComponent\n */\n @Output()\n contentDensityChange = new EventEmitter<ContentDensityMode>();\n\n /**\n * Reference to the element on which the directive is applied.\n */\n elementRef: ElementRef = inject(ElementRef);\n\n /**\n * Current configuration of the directive.\n */\n protected _config = signal(DEFAULT_CONFIG);\n\n /** @hidden */\n protected _contentDensity = inject(ContentDensityDirective);\n\n /**\n * Signal of the Width of the element\n */\n protected _elementWidth = toSignal(\n inject(ResizeObserverService)\n .observe(this.elementRef.nativeElement)\n .pipe(\n map((entries) => entries[0].contentRect.width),\n startWith(this.elementRef.nativeElement.clientWidth)\n ),\n { requireSync: true }\n );\n /**\n * Reference to the ToolHeaderComponent\n */\n protected _toolHeaderComponent = inject(ToolHeaderComponent, { host: true });\n\n /**\n * Current mode of the ToolHeaderComponent\n */\n protected _currentMode = computed(() => this._getMode(this._elementWidth(), this._config()));\n\n /**\n * @hidden\n */\n constructor() {\n toObservable(this._currentMode)\n .pipe(\n distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]),\n takeUntilDestroyed()\n )\n .subscribe((_mode) => {\n const [mode, orientation = 'landscape'] = _mode;\n this._toolHeaderComponent._mode = mode;\n this._toolHeaderComponent._orientation = orientation;\n const contentDensity = mode ? ContentDensityMode.COMPACT : ContentDensityMode.COZY;\n this._contentDensity.fdContentDensity = contentDensity;\n this.modeChange.emit(mode);\n this.orientationChange.emit(orientation);\n this.contentDensityChange.emit(contentDensity);\n });\n }\n\n /**\n * What mode should be used for the given width and configuration\n * @param width\n * @param config\n * @private\n */\n private _getMode(width: number, config: FdbToolHeaderModeConfig): [FdbViewMode, 'landscape' | 'portrait'] {\n if (width >= config.desktop) {\n return ['', 'landscape'];\n }\n if (width <= config.phone) {\n return ['phone', 'landscape'];\n }\n return [\n 'tablet',\n width >= config.tabletLandscape[0] && width <= config.tabletLandscape[1] ? 'landscape' : 'portrait'\n ];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["FD_PRODUCT_SWITCH_COMPONENT"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-btp-tool-header.mjs","sources":["../../../../libs/btp/tool-header/src/directives/tool-header-button.directive.ts","../../../../libs/btp/tool-header/src/components/tool-header-product-switch.component.ts","../../../../libs/btp/tool-header/src/directives/tool-header-action.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-actions.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-element.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-group.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-logo.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-user.directive.ts","../../../../libs/btp/tool-header/src/tool-header-component.class.ts","../../../../libs/btp/tool-header/src/components/tool-header/tool-header.component.ts","../../../../libs/btp/tool-header/src/components/tool-header/tool-header.component.html","../../../../libs/btp/tool-header/src/directives/tool-header-auto-mode.directive.ts","../../../../libs/btp/tool-header/src/fundamental-ngx-btp-tool-header.ts"],"sourcesContent":["import { Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\n\nlet itemCounter = 0;\n\n@Directive({\n selector: '[fd-button][fdbToolHeaderButton]',\n host: {\n class: 'fd-button--tool-header'\n },\n standalone: true\n})\nexport class ToolHeaderButtonDirective implements HasElementRef {\n /**\n * Whether the button has a badge.\n * @param hasBadge\n */\n @Input()\n set hasBadge(hasBadge: boolean) {\n if (hasBadge) {\n if (!this._badge) {\n this._badge = this.renderer.createElement('span');\n this.renderer.addClass(this._badge, 'fd-button__badge');\n this.renderer.setAttribute(this._badge, 'id', this._badgeId);\n this.renderer.appendChild(this.elementRef.nativeElement, this._badge);\n }\n } else {\n if (this._badge) {\n this.renderer.removeChild(this.elementRef.nativeElement, this._badge);\n this._badge = undefined;\n }\n }\n }\n\n /** @hidden */\n elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /** @hidden */\n private _badgeId = `fdbToolHeaderButton-badge-${itemCounter++}`;\n\n /** @hidden */\n private _badge?: HTMLElement;\n\n /** @hidden */\n private renderer: Renderer2 = inject(Renderer2);\n\n /** @hidden */\n constructor() {\n inject(ButtonComponent, { host: true }).fdType = 'transparent';\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n BasePopoverClass,\n PopoverBodyComponent,\n PopoverComponent,\n PopoverControlComponent\n} from '@fundamental-ngx/core/popover';\nimport {\n FD_PRODUCT_SWITCH_COMPONENT,\n ProductSwitchButtonDirective,\n ProductSwitchComponent\n} from '@fundamental-ngx/core/product-switch';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ToolHeaderButtonDirective } from '../directives/tool-header-button.directive';\n\n@Component({\n selector: 'fdb-tool-header-product-switch',\n imports: [\n ButtonComponent,\n FdTranslatePipe,\n PopoverBodyComponent,\n PopoverComponent,\n PopoverControlComponent,\n ToolHeaderButtonDirective,\n ProductSwitchComponent,\n ProductSwitchButtonDirective\n ],\n template: `\n <fd-product-switch\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"isOpenChange.emit($event)\"\n [disabled]=\"disabled\"\n [triggers]=\"triggers\"\n [focusTrapped]=\"false\"\n [focusAutoCapture]=\"true\"\n [noArrow]=\"noArrow\"\n [disableScrollbar]=\"true\"\n >\n <button\n *fdProductSwitchButton\n fd-button\n fdbToolHeaderButton\n [attr.aria-label]=\"'coreProductSwitch.ariaLabel' | fdTranslate\"\n [attr.title]=\"'coreProductSwitch.ariaLabel' | fdTranslate\"\n glyph=\"grid\"\n fdType=\"transparent\"\n ></button>\n <ng-content></ng-content>\n </fd-product-switch>\n `,\n providers: [\n {\n provide: FD_PRODUCT_SWITCH_COMPONENT,\n useExisting: ToolHeaderProductSwitchComponent\n }\n ],\n standalone: true\n})\nexport class ToolHeaderProductSwitchComponent extends BasePopoverClass {\n /** Placement of a popover. */\n @Input()\n override placement: Placement = 'bottom-end';\n\n /** Whether the product switch is disabled. */\n @Input()\n override disabled = false;\n}\n","import { Directive, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { FdbToolHeaderActionButton } from '../tool-header-action-button.type';\n\n@Directive({\n selector: '[fdbToolHeaderAction]',\n standalone: true\n})\nexport class ToolHeaderActionDirective implements FdbToolHeaderActionButton {\n /**\n * Glyph which will be used for the action when in overflow mode.\n */\n @Input({ required: true })\n glyph: string;\n\n /**\n * Label which will be used for the action when in overflow mode.\n */\n @Input({ required: true })\n label: string;\n\n /**\n * Whether the action should have a separator next to it\n */\n @Input()\n hasSeparator = false;\n\n /**\n * Whether the action is always visible.\n */\n @Input()\n forceVisibility?: boolean;\n\n /**\n * Event emitted when the action is clicked when in overflow mode.\n **/\n @Output()\n clicked = new EventEmitter<void>();\n\n /** @hidden */\n constructor(readonly templateRef: TemplateRef<any>) {}\n\n /**\n * Function to be called when the action is clicked\n * when in overflow mode.\n **/\n clickCallback = (): void => this.clicked.emit();\n}\n","/* eslint-disable @angular-eslint/no-input-rename */\nimport { ContentChildren, DestroyRef, Directive, inject, Input, QueryList, Signal } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, combineLatest, map, startWith, Subscription } from 'rxjs';\nimport { FdbToolHeaderActionButton } from '../tool-header-action-button.type';\nimport { ToolHeaderActionDirective } from './tool-header-action.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fdb-tool-header-actions',\n standalone: true\n})\nexport class ToolHeaderActionsDirective {\n /**\n * Actions to be displayed in the header.\n */\n @Input()\n set actions(actions: FdbToolHeaderActionButton[] | Array<FdbToolHeaderActionButton[]>) {\n this._inputActions$.next(\n (actions as any).reduce(\n (\n acc: FdbToolHeaderActionButton[],\n actionOrActionGroup: FdbToolHeaderActionButton[] | FdbToolHeaderActionButton,\n index: number\n ) => {\n if (Array.isArray(actionOrActionGroup)) {\n acc.push(...actionOrActionGroup);\n if (index !== (actions as any).length - 1) {\n acc[acc.length - 1].hasSeparator = true;\n }\n } else {\n acc.push(actionOrActionGroup);\n }\n return acc;\n },\n []\n )\n );\n }\n\n /** @hidden */\n @ContentChildren(ToolHeaderActionDirective)\n set _actionsFromContent(actions: QueryList<ToolHeaderActionDirective>) {\n if (this._contentActionsSubscription) {\n this._contentActionsSubscription.unsubscribe();\n this._contentActionsSubscription = undefined;\n }\n this._contentActionsSubscription = actions.changes\n .pipe(\n startWith(actions),\n map((ql: QueryList<ToolHeaderActionDirective>) => ql.toArray()),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((_actions: ToolHeaderActionDirective[]) => {\n this._contentActions$.next(_actions);\n });\n }\n\n /** @hidden */\n _actions: Signal<FdbToolHeaderActionButton[]>;\n /** @hidden */\n protected _contentActions$ = new BehaviorSubject<FdbToolHeaderActionButton[]>([]);\n\n /** @hidden */\n protected _inputActions$ = new BehaviorSubject<FdbToolHeaderActionButton[]>([]);\n\n /** @hidden */\n private _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private _contentActionsSubscription?: Subscription;\n\n /** @hidden */\n constructor() {\n this._actions = toSignal(\n combineLatest([this._contentActions$, this._inputActions$]).pipe(\n map(([contentActions, inputActions]) => [...contentActions, ...inputActions])\n ),\n { requireSync: true }\n );\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderElement]',\n host: {\n class: 'fd-tool-header__element'\n },\n standalone: true\n})\nexport class ToolHeaderElementDirective {}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderGroup]',\n host: {\n class: 'fd-tool-header__group',\n '[class.fd-tool-header__group--center]': 'center',\n '[class.fd-tool-header__group--actions]': 'actions'\n },\n standalone: true\n})\nexport class ToolHeaderGroupDirective {\n /** @hidden */\n @Input({ transform: coerceBooleanProperty })\n center: BooleanInput;\n\n /** @hidden */\n @Input({ transform: coerceBooleanProperty })\n actions: BooleanInput;\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderLogo]',\n host: {\n '[attr.role]': '\"button\"',\n '[attr.tabindex]': '0',\n class: 'fd-tool-header__logo'\n },\n standalone: true\n})\nexport class ToolHeaderLogoDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderUser]',\n standalone: true\n})\nexport class ToolHeaderUserDirective {}\n","import { computed, inject, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SearchFieldComponent } from '@fundamental-ngx/btp/search-field';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FdbToolHeaderState } from './tool-header-state.type';\n\nexport abstract class ToolHeaderComponentClass {\n /** Mode signal */\n mode = signal<FdbViewMode>('');\n\n /** @hidden */\n orientation = signal<'landscape' | 'portrait'>('landscape');\n\n /** @hidden */\n protected fdbToolHeaderState = computed<FdbToolHeaderState>(() => {\n if (this.mode() === 'phone') {\n return {\n backButtonVisible: this.searchFieldExpanded(),\n menuButtonVisible: !this.searchFieldExpanded(),\n logoVisible: !this.searchFieldExpanded(),\n productNameVisible: false,\n secondTitleVisible: false,\n searchFieldVisible: this.searchFieldExpanded(),\n searchFieldToggleActionVisible: !!this.searchField() && !this.searchFieldExpanded(),\n providedActionsVisible: !this.searchFieldExpanded(),\n userAvatarVisible: !this.searchFieldExpanded(),\n productSwitchVisible: !this.searchFieldExpanded(),\n voiceInputVisible: this.searchFieldExpanded(),\n separatorsBetweenActionsVisible: false\n };\n }\n if (this.mode() === 'tablet') {\n const isPortrait = this.orientation() === 'portrait';\n const isLandscape = !isPortrait;\n const searchFieldVisible = this.searchFieldExpanded() || isLandscape;\n const searchFieldToggleActionVisible = !searchFieldVisible && !!this.searchField();\n\n return {\n backButtonVisible: false,\n menuButtonVisible: true,\n logoVisible: true,\n productNameVisible: isPortrait ? !this.searchFieldExpanded() : true,\n secondTitleVisible: isLandscape ? false : !this.searchFieldExpanded(),\n searchFieldVisible,\n searchFieldToggleActionVisible,\n providedActionsVisible: true,\n userAvatarVisible: true,\n productSwitchVisible: true,\n voiceInputVisible: false,\n separatorsBetweenActionsVisible: this.orientation() === 'landscape'\n };\n }\n return {\n backButtonVisible: false,\n menuButtonVisible: true,\n logoVisible: true,\n productNameVisible: true,\n secondTitleVisible: true,\n searchFieldVisible: true,\n searchFieldToggleActionVisible: false,\n providedActionsVisible: true,\n userAvatarVisible: true,\n productSwitchVisible: true,\n voiceInputVisible: false,\n separatorsBetweenActionsVisible: true\n };\n });\n\n /** Search field signal */\n protected searchField = signal<SearchFieldComponent | null>(null);\n\n /** @hidden */\n protected searchFieldExpanded = signal<boolean>(false);\n\n /**\n * RTL signal\n * @hidden\n */\n protected _rtl = toSignal(inject(RtlService).rtl);\n}\n","/* eslint-disable @angular-eslint/no-input-rename */\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n HostListener,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport {\n NavigationMenuComponent,\n NavigationMenuItemComponent,\n NavigationMenuPopoverComponent,\n NavigationMenuPopoverControlDirective\n} from '@fundamental-ngx/btp/navigation-menu';\nimport { SearchFieldComponent } from '@fundamental-ngx/btp/search-field';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { FD_PRODUCT_SWITCH_COMPONENT, FocusableItemDirective, FocusableListDirective } from '@fundamental-ngx/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport {\n GlyphMenuAddonDirective,\n MenuAddonDirective,\n MenuComponent,\n MenuInteractiveComponent,\n MenuItemComponent,\n MenuTitleDirective,\n MenuTriggerDirective\n} from '@fundamental-ngx/core/menu';\nimport {\n OverflowExpandDirective,\n OverflowItemRefDirective,\n OverflowLayoutComponent,\n OverflowLayoutItemDirective\n} from '@fundamental-ngx/core/overflow-layout';\nimport { PopoverBodyDirective, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Subscription, first } from 'rxjs';\nimport { ToolHeaderActionsDirective } from '../../directives/tool-header-actions.directive';\nimport { ToolHeaderButtonDirective } from '../../directives/tool-header-button.directive';\nimport { ToolHeaderElementDirective } from '../../directives/tool-header-element.directive';\nimport { ToolHeaderGroupDirective } from '../../directives/tool-header-group.directive';\nimport { ToolHeaderLogoDirective } from '../../directives/tool-header-logo.directive';\nimport { ToolHeaderUserDirective } from '../../directives/tool-header-user.directive';\nimport { ToolHeaderComponentClass } from '../../tool-header-component.class';\n\nconst imports = [\n ToolHeaderGroupDirective,\n NgIf,\n NgTemplateOutlet,\n OverflowLayoutComponent,\n NgForOf,\n OverflowLayoutItemDirective,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n PopoverComponent,\n PopoverControlComponent,\n PopoverBodyDirective,\n MenuTriggerDirective,\n MenuComponent,\n MenuItemComponent,\n MenuInteractiveComponent,\n MenuTitleDirective,\n MenuAddonDirective,\n GlyphMenuAddonDirective,\n ToolHeaderElementDirective,\n IconComponent,\n ButtonComponent,\n ToolHeaderButtonDirective,\n ToolHeaderLogoDirective,\n FdTranslatePipe\n];\n\n@Component({\n selector: 'fdb-tool-header',\n templateUrl: './tool-header.component.html',\n styleUrls: ['./tool-header.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-tool-header',\n '[class.fd-tool-header--menu]': 'showMenuButton'\n },\n imports: [\n imports,\n NavigationMenuComponent,\n NavigationMenuItemComponent,\n FocusableListDirective,\n FocusableItemDirective,\n NavigationMenuPopoverComponent,\n NavigationMenuPopoverControlDirective,\n AsyncPipe\n ],\n providers: [\n contentDensityObserverProviders(),\n {\n provide: ToolHeaderComponentClass,\n useExisting: ToolHeaderComponent\n }\n ]\n})\nexport class ToolHeaderComponent extends ToolHeaderComponentClass implements OnDestroy {\n /**\n * (required) the Product Name is the official name of the tool.\n */\n @Input({ required: true }) productName!: string;\n /**\n * Second Title is an optional second text identifier of the tool.\n **/\n @Input() secondTitle?: string;\n\n /** Mode */\n @Input('mode')\n set _mode(mode: FdbViewMode) {\n if (mode !== this.mode()) {\n this.mode.set(mode);\n }\n }\n\n /** @hidden */\n @Input('orientation')\n set _orientation(orientation: 'landscape' | 'portrait') {\n if (orientation !== this.orientation()) {\n this.orientation.set(orientation);\n }\n }\n\n /**\n * Whether to show the menu button\n */\n @Input({ transform: coerceBooleanProperty })\n showMenuButton: BooleanInput;\n\n /**\n * Whether to show the voice input action button on\n * the right side of the tool header, when the mode is mobile\n * and the search input is expanded\n */\n @Input({ transform: coerceBooleanProperty })\n showVoiceInputAction: BooleanInput = true;\n\n /**\n * Event emitted when the menu button is clicked\n **/\n @Output()\n menuClick = new EventEmitter<void>();\n\n /**\n * Event emitted when user intends to expand the menu.\n * Happens when user clicks `right arrow` key on the menu button\n * if on ltr or `left arrow` key if on rtl.\n **/\n @Output()\n menuExpand = new EventEmitter<void>();\n\n /**\n * Event emitted when user intends to collapse the menu.\n * Happens when user clicks `left arrow` key on the menu button\n * if on ltr or `right arrow` key if on rtl.\n **/\n @Output()\n menuCollapse = new EventEmitter<void>();\n\n /**\n * Event emitted when the microphone button is clicked\n **/\n @Output()\n microphoneClick = new EventEmitter<void>();\n\n /**\n * Event emitted when the default logo is clicked\n */\n @Output()\n logoClick = new EventEmitter<void>();\n\n /** @hidden */\n @ContentChild(ToolHeaderActionsDirective)\n _toolHeaderActionsDirective?: ToolHeaderActionsDirective;\n\n /** @hidden */\n @ContentChild(ToolHeaderLogoDirective)\n _toolHeaderLogoDirective?: ToolHeaderLogoDirective;\n\n /** @hidden */\n @ContentChild(SearchFieldComponent)\n set _searchField(searchField: SearchFieldComponent) {\n this.searchField.set(searchField);\n }\n\n /** @hidden */\n @ContentChild(ToolHeaderUserDirective)\n _toolHeaderUser?: ToolHeaderUserDirective;\n\n /** @hidden */\n @ContentChild(FD_PRODUCT_SWITCH_COMPONENT)\n _toolHeaderProductSwitch?: unknown;\n\n /** @hidden */\n private _searchFieldOutsideClickSubscription?: Subscription;\n\n /** @hidden */\n private _ngZone = inject(NgZone);\n\n /**\n * The handler, responsible for closing the search field\n * on outside click\n * @hidden\n **/\n @HostListener('document:click', ['$event'])\n _onClick(event: MouseEvent): void {\n if (this.searchFieldExpanded()) {\n if (\n this.mode() === 'tablet' &&\n this.orientation() === 'portrait' &&\n this.searchField() &&\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n !event.composedPath().includes(this.searchField()!.elementRef.nativeElement)\n ) {\n this.searchFieldExpanded.set(false);\n }\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._searchFieldOutsideClickSubscription) {\n this._searchFieldOutsideClickSubscription.unsubscribe();\n }\n }\n\n /**\n * Expand the search field\n **/\n expandSearchField(): void {\n this.searchFieldExpanded.set(true);\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this.searchField()?.focus();\n });\n }\n\n /** @hidden */\n protected _handleMenuLeftArrowKey(): void {\n if (this._rtl()) {\n this.menuExpand.emit();\n } else {\n this.menuCollapse.emit();\n }\n }\n\n /** @hidden */\n protected _handleMenuRightArrowKey(): void {\n if (this._rtl()) {\n this.menuCollapse.emit();\n } else {\n this.menuExpand.emit();\n }\n }\n}\n","<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().backButtonVisible\">\n <button fd-button fdbToolHeaderButton glyph=\"slim-arrow-left\" (click)=\"searchFieldExpanded.set(false)\"></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().menuButtonVisible && showMenuButton\">\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().logoVisible\">\n <ng-container *ngIf=\"_toolHeaderLogoDirective; else defaultLogo\">\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n </ng-container>\n <ng-template #defaultLogo>\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n </ng-template>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().productNameVisible\">\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().secondTitleVisible && secondTitle\">\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n</div>\n\n<div fdbToolHeaderGroup center *ngIf=\"fdbToolHeaderState().searchFieldVisible\">\n <ng-content select=\"fdb-search-field\"></ng-content>\n</div>\n\n<div fdbToolHeaderGroup actions>\n <fd-overflow-layout fdbToolHeaderElement [style.justify-content]=\"'end'\">\n <ng-container *ngIf=\"fdbToolHeaderState().searchFieldToggleActionVisible\">\n <div fdbToolHeaderElement *fdOverflowItemRef=\"let hidden\" [forceVisibility]=\"true\" fdOverflowLayoutItem>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().providedActionsVisible\">\n <ng-container *ngFor=\"let action of _toolHeaderActionsDirective?._actions()\">\n <div\n fdbToolHeaderElement\n *fdOverflowItemRef=\"let hidden\"\n [forceVisibility]=\"!!action.forceVisibility\"\n fdOverflowLayoutItem\n >\n <ng-template\n [ngIf]=\"!!action.templateRef\"\n [ngIfThen]=\"$any(action.templateRef)\"\n [ngIfElse]=\"defaultActionButtonTemplate\"\n ></ng-template>\n <ng-template #defaultActionButtonTemplate>\n <button\n fd-button\n fdbToolHeaderButton\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [ariaLabel]=\"action.label\"\n >\n <span class=\"fd-button__badge\" *ngIf=\"action.hasBadge\"></span>\n </button>\n </ng-template>\n <div\n class=\"fd-tool-header__separator\"\n *ngIf=\"action.hasSeparator && fdbToolHeaderState().separatorsBetweenActionsVisible\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n\n <fdb-navigation-menu-popover *fdOverflowExpand=\"let overflowItems\" fdbToolHeaderElement>\n <button *fdbNavigationMenuPopoverControl fd-button fdbToolHeaderButton glyph=\"overflow\"></button>\n <ul *fdPopoverBody fdkFocusableList [wrap]=\"true\" fdb-navigation-menu>\n <ng-container *ngFor=\"let item of overflowItems\">\n <ng-container *ngIf=\"_toolHeaderActionsDirective?._actions() as actions\">\n <li\n *ngIf=\"\n fdbToolHeaderState().searchFieldToggleActionVisible\n ? actions[item.globalIndex - 1]\n : actions[item.globalIndex] as action\n \"\n fdb-navigation-menu-item\n fdkFocusableItem\n [glyph]=\"action.glyph\"\n (click)=\"action.clickCallback()\"\n [label]=\"action.label\"\n ></li>\n </ng-container>\n </ng-container>\n </ul>\n </fdb-navigation-menu-popover>\n </fd-overflow-layout>\n <ng-container *ngIf=\"fdbToolHeaderState().userAvatarVisible && _toolHeaderUser\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch\">\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__separator\"></div>\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-container>\n <div fdbToolHeaderElement *ngIf=\"fdbToolHeaderState().voiceInputVisible\">\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n</div>\n","import { computed, Directive, ElementRef, EventEmitter, inject, Input, Output, signal } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { HasElementRef, ResizeObserverService, ResponsiveBreakpoints } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityDirective, ContentDensityMode } from '@fundamental-ngx/core/content-density';\nimport { distinctUntilChanged, map, startWith } from 'rxjs';\nimport { ToolHeaderComponent } from '../components/tool-header/tool-header.component';\n\ninterface FdbToolHeaderModeConfig {\n desktop: number;\n tabletLandscape: [number, number];\n tabletPortrait: [number, number];\n phone: number;\n}\n\nconst DEFAULT_CONFIG: FdbToolHeaderModeConfig = {\n desktop: ResponsiveBreakpoints.L + 1,\n tabletLandscape: [ResponsiveBreakpoints.M + 1, ResponsiveBreakpoints.L],\n tabletPortrait: [ResponsiveBreakpoints.S + 1, ResponsiveBreakpoints.M],\n phone: ResponsiveBreakpoints.S\n};\n\n@Directive({\n selector: 'fdb-tool-header[fdbToolHeaderAutoMode]',\n exportAs: 'fdbToolHeaderAutoMode',\n hostDirectives: [ContentDensityDirective],\n standalone: true\n})\nexport class ToolHeaderAutoModeDirective implements HasElementRef {\n /**\n * What sizes should be used to determine mode.\n * Sizes mean the width of the tool header, not the whole screen.\n **/\n @Input() set config(config: Partial<FdbToolHeaderModeConfig>) {\n this._config.set({ ...DEFAULT_CONFIG, ...config });\n }\n\n /**\n * Current mode of the ToolHeaderComponent\n */\n @Output()\n modeChange = new EventEmitter<FdbViewMode>();\n\n /**\n * Current orientation of the ToolHeaderComponent\n */\n @Output()\n orientationChange = new EventEmitter<'landscape' | 'portrait'>();\n\n /**\n * Current content density of the ToolHeaderComponent\n */\n @Output()\n contentDensityChange = new EventEmitter<ContentDensityMode>();\n\n /**\n * Reference to the element on which the directive is applied.\n */\n elementRef: ElementRef = inject(ElementRef);\n\n /**\n * Current configuration of the directive.\n */\n protected _config = signal(DEFAULT_CONFIG);\n\n /** @hidden */\n protected _contentDensity = inject(ContentDensityDirective);\n\n /**\n * Signal of the Width of the element\n */\n protected _elementWidth = toSignal(\n inject(ResizeObserverService)\n .observe(this.elementRef.nativeElement)\n .pipe(\n map((entries) => entries[0].contentRect.width),\n startWith(this.elementRef.nativeElement.clientWidth)\n ),\n { requireSync: true }\n );\n /**\n * Reference to the ToolHeaderComponent\n */\n protected _toolHeaderComponent = inject(ToolHeaderComponent, { host: true });\n\n /**\n * Current mode of the ToolHeaderComponent\n */\n protected _currentMode = computed(() => this._getMode(this._elementWidth(), this._config()));\n\n /**\n * @hidden\n */\n constructor() {\n toObservable(this._currentMode)\n .pipe(\n distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]),\n takeUntilDestroyed()\n )\n .subscribe((_mode) => {\n const [mode, orientation = 'landscape'] = _mode;\n this._toolHeaderComponent._mode = mode;\n this._toolHeaderComponent._orientation = orientation;\n const contentDensity = mode ? ContentDensityMode.COMPACT : ContentDensityMode.COZY;\n this._contentDensity.fdContentDensity = contentDensity;\n this.modeChange.emit(mode);\n this.orientationChange.emit(orientation);\n this.contentDensityChange.emit(contentDensity);\n });\n }\n\n /**\n * What mode should be used for the given width and configuration\n * @param width\n * @param config\n * @private\n */\n private _getMode(width: number, config: FdbToolHeaderModeConfig): [FdbViewMode, 'landscape' | 'portrait'] {\n if (width >= config.desktop) {\n return ['', 'landscape'];\n }\n if (width <= config.phone) {\n return ['phone', 'landscape'];\n }\n return [\n 'tablet',\n width >= config.tabletLandscape[0] && width <= config.tabletLandscape[1] ? 'landscape' : 'portrait'\n ];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["FD_PRODUCT_SWITCH_COMPONENT"],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/btp",
3
- "version": "0.46.0",
3
+ "version": "0.46.1-rc.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.0",
6
6
  "@angular/core": "^16.2.0",
7
- "@fundamental-ngx/cdk": "0.46.0",
8
- "@fundamental-ngx/core": "0.46.0"
7
+ "@fundamental-ngx/cdk": "0.46.1-rc.1",
8
+ "@fundamental-ngx/core": "0.46.1-rc.1"
9
9
  },
10
10
  "dependencies": {
11
11
  "tslib": "^2.3.0"
Binary file