@fundamental-ngx/core 0.53.3 → 0.53.5
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.
|
@@ -64,14 +64,6 @@ export class PopoverBodyComponent {
|
|
|
64
64
|
this.onClose.next();
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
/** Handler for focus when clicking outside */
|
|
68
|
-
onClick(targetElement) {
|
|
69
|
-
const clickedInside = this._elementRef.nativeElement.contains(targetElement);
|
|
70
|
-
if (!clickedInside) {
|
|
71
|
-
// Call the focus logic if clicked outside the popover
|
|
72
|
-
this._focusFirstTabbableElement();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
67
|
/** @hidden */
|
|
76
68
|
ngAfterViewInit() {
|
|
77
69
|
if (this._scrollbar) {
|
|
@@ -145,7 +137,7 @@ export class PopoverBodyComponent {
|
|
|
145
137
|
}
|
|
146
138
|
}
|
|
147
139
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: PopoverBodyComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: PopoverBodyComponent, isStandalone: true, selector: "fd-popover-body", inputs: { minWidth: "minWidth", maxWidth: "maxWidth", minHeight: "minHeight", maxHeight: "maxHeight" }, host: { listeners: { "keyup": "bodyKeyupHandler($event)", "document:click": "onClick($event.target)" } }, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], viewQueries: [{ propertyName: "_cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true }, { propertyName: "_scrollbar", first: true, predicate: ScrollbarDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"fd-popover__body fd-popover__body--static\"\n [class.fd-popover__body--no-arrow]=\"_noArrow\"\n [class.fd-popover__body--resizable]=\"_resizable\"\n [class]=\"_arrowClasses + ' ' + (_additionalBodyClass || '')\"\n [cdkTrapFocus]=\"_focusTrapped\"\n [style.min-width]=\"_popoverBodyMinWidth ? null : minWidth\"\n [style.max-width]=\"_maxWidth ? null : maxWidth\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n [style.max-width.px]=\"_maxWidth\"\n [style.min-width.px]=\"_popoverBodyMinWidth\"\n [style.width.px]=\"_popoverBodyWidth\"\n [attr.role]=\"_bodyRole\"\n [attr.id]=\"_bodyId\"\n fdkResize\n [fdkResizeDisabled]=\"!_resizable\"\n [fdkResizeClass]=\"'fd-popover__body--disable-transitions'\"\n [fdkResizeHandleLocation]=\"_resizeHandleLocation\"\n>\n @if (!_disableScrollbar) {\n <div fd-scrollbar class=\"fd-popover__wrapper\">\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n }\n @if (_resizable) {\n <span fdkResizeHandle class=\"fd-popover__resize-handle\"></span>\n }\n</div>\n<ng-template #renderer>\n <ng-content select=\"[fd-popover-body-header]\"></ng-content>\n <ng-content select=\"[fd-popover-body-subheader]\"></ng-content>\n <ng-content></ng-content>\n {{ text }}\n <ng-template [ngTemplateOutlet]=\"_templateToDisplay\"></ng-template>\n <ng-content select=\"[fd-popover-body-footer]\"></ng-content>\n</ng-template>\n", styles: ["body.fd-overlay-active:before{background:var(--fdModal_BackgroundColor);content:\"\";height:100vh;left:0;pointer-events:all;position:fixed;top:0;width:100vw;z-index:999}.fd-popover{--fdPopover_Display:inline-block;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdPopover_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-popover:after,.fd-popover:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__modal{position:relative;z-index:1000}.fd-popover__control{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-popover__control:after,.fd-popover__control:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__control:focus-visible{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-popover__control.is-expanded>*,.fd-popover__control[aria-expanded=true]>*{-webkit-margin-after:0;margin-block-end:0}.fd-popover__control.is-expanded+.fd-popover__body--input-message-group,.fd-popover__control[aria-expanded=true]+.fd-popover__body--input-message-group{margin-top:0}.fd-popover__control.is-disabled,.fd-popover__control:disabled,.fd-popover__control[aria-disabled=true]{pointer-events:none}.fd-popover__wrapper{border-radius:var(--fdPopover_Body_Border_Radius);overflow:auto;position:relative;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-popover__wrapper.is-focus,.fd-popover__wrapper:focus{outline:none;z-index:5}.fd-popover__wrapper::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb:active,.fd-popover__wrapper::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-corner,.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-corner,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-popover__wrapper--visible{overflow:visible!important}.fd-popover__body{--fdPopover_Offset:100%;--fdPopover_Center_Offset:50%;--fdPopover_Arrow_Size:.5rem;--fdPopover_Body_Border_Radius:var(--fdPopover_Border_Radius);--fdPopover_Body_Box_Shadow:var(--sapContent_Shadow2);--fdPopover_Body_Box_Shadow_No_Arrow:var(--sapContent_Shadow1);--fdIcon_Button_Height:2.25rem;--fdIcon_Button_Width:2.25rem;--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Justify:flex-end;--fdPopover_Resize_Handle_Transform_Scale:1;background:var(--sapGroup_ContentBackground);border:0;border-radius:var(--fdPopover_Body_Border_Radius);-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow);box-shadow:var(--fdPopover_Body_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;opacity:1;padding-block:0;padding-inline:0;position:absolute;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size));-webkit-transition:all .125s;transition:all .125s;visibility:visible;white-space:nowrap;z-index:1000}.fd-popover__body:after,.fd-popover__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\"\";font-size:inherit;position:absolute}.fd-popover__body:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1 + var(--fdPopover_Border_Width));z-index:1002}.fd-popover__body:after,.fd-popover__body:before{border-top:none;display:inline-block;height:0;width:0}.fd-popover__body:after{border-bottom:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1);z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.fd-popover__body ol:first-child li:first-child a:before,.fd-popover__body ol:first-child li:first-child:before,.fd-popover__body ul:first-child li:first-child a:before,.fd-popover__body ul:first-child li:first-child:before,.fd-popover__body-header>:first-child,.fd-popover__body>:first-child{border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body ol:last-child li:last-child a:before,.fd-popover__body ol:last-child li:last-child:before,.fd-popover__body ul:last-child li:last-child a:before,.fd-popover__body ul:last-child li:last-child:before,.fd-popover__body-footer>:last-child,.fd-popover__body>:last-child{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body[class*=-compact],.fd-popover__body[class*=-condensed],[class*=-compact] .fd-popover__body:not([class*=-cozy]),[class*=-condensed] .fd-popover__body:not([class*=-cozy]){--fdIcon_Button_Height:1.625rem;--fdIcon_Button_Width:2rem}.fd-popover__body--no-arrow{-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);top:var(--fdPopover_Offset)}.fd-popover__body--no-arrow:after,.fd-popover__body--no-arrow:before{display:none}.fd-popover__body,.fd-popover__body--left{left:0}.fd-popover__body--left[dir=rtl],.fd-popover__body[dir=rtl],[dir=rtl] .fd-popover__body,[dir=rtl] .fd-popover__body--left{left:auto;right:0}.fd-popover__body--left:before,.fd-popover__body:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left:after,.fd-popover__body:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:before,.fd-popover__body[dir=rtl]:before,[dir=rtl] .fd-popover__body--left:before,[dir=rtl] .fd-popover__body:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:after,.fd-popover__body[dir=rtl]:after,[dir=rtl] .fd-popover__body--left:after,[dir=rtl] .fd-popover__body:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--center{left:var(--fdPopover_Center_Offset);-webkit-transform:translateX(calc(var(--fdPopover_Center_Offset) * -1));transform:translate(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{left:auto;right:var(--fdPopover_Center_Offset);-webkit-transform:translateX(var(--fdPopover_Center_Offset));transform:translate(var(--fdPopover_Center_Offset))}.fd-popover__body--right{left:auto;right:0}.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body--right{left:0;right:auto}.fd-popover__body--right:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--right:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--right[dir=rtl]:before,[dir=rtl] .fd-popover__body--right:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--right[dir=rtl]:after,[dir=rtl] .fd-popover__body--right:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--before{left:auto!important;right:var(--fdPopover_Offset)!important;top:0}.fd-popover__body--after{left:var(--fdPopover_Offset)!important;right:auto!important;top:0}.fd-popover__body--middle{top:var(--fdPopover_Center_Offset);-webkit-transform:translateY(calc(var(--fdPopover_Center_Offset) * -1));transform:translateY(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--bottom{bottom:0;top:auto}.fd-popover__body--above{bottom:var(--fdPopover_Offset);top:auto}.fd-popover__body--arrow-bottom{bottom:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-bottom:before{border-bottom:none;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-bottom:after{border-bottom:none;border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;border-top:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-left{left:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-left:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-left:after,.fd-popover__body--arrow-left:before{border-left:none;display:inline-block;height:0;left:auto!important;right:100%!important;width:0}.fd-popover__body--arrow-left:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right{right:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-right:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right:after,.fd-popover__body--arrow-right:before{border-right:none;display:inline-block;height:0;left:100%!important;right:auto!important;width:0}.fd-popover__body--arrow-right:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-left:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-center:after,.fd-popover__body--arrow-x-center:before{left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-popover__body--arrow-x-center[dir=rtl]:after,.fd-popover__body--arrow-x-center[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-center:after,[dir=rtl] .fd-popover__body--arrow-x-center:before{left:auto;right:50%;-webkit-transform:translateX(50%);transform:translate(50%)}.fd-popover__body--arrow-x-end:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-end:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-x-end[dir=rtl]:after,[dir=rtl] .fd-popover__body--arrow-x-end:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-y-center:after,.fd-popover__body--arrow-y-center:before{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-popover__body--arrow-y-bottom:before,.fd-popover__body--arrow-y-end:before{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));top:auto}.fd-popover__body--arrow-y-bottom:after,.fd-popover__body--arrow-y-end:after{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));top:auto}.fd-popover__body--dropdown{width:-webkit-max-content;width:-moz-max-content;width:max-content}.fd-popover__body--dropdown-fill{display:block;max-width:40rem;width:calc(100% - var(--sapGroup_BorderWidth) * 2)}.fd-popover__body--static{position:relative;--fdPopover_Offset:0%;--fdPopover_Center_Offset:0%}.fd-popover__body.is-hidden,.fd-popover__body[aria-hidden=true]{opacity:0;visibility:hidden;z-index:-1}.fd-popover__body .fd-popover__body--hidden{display:none}.fd-popover__body--input-message-group{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover__body--inline-help{font-size:var(--sapFontSmallSize);padding-block:.75rem;padding-inline:.75rem}.fd-popover__body--inline-help-icon{--fdIcon_Button_Height:1.375rem;--fdIcon_Button_Width:1.375rem}.fd-popover__body.fd-popover__body--resizable[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Rotate_Angle:180deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Cursor:ne-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Rotate_Angle:-90deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--bottom,.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--middle{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Rotate_Angle:90deg;--fdPopover_Resize_Handle_Cursor:nw-resize}.fd-popover__resize-handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-ms-flex-pack:end;color:var(--sapButton_Lite_TextColor);cursor:var(--fdPopover_Resize_Handle_Cursor);font-size:1rem;inset:var(--fdPopover_Resize_Handle_Position_Top) var(--fdPopover_Resize_Handle_Position_Right) var(--fdPopover_Resize_Handle_Position_Bottom) var(--fdPopover_Resize_Handle_Position_Left);justify-content:flex-end;line-height:1rem;overflow:hidden;padding-block:.125rem;padding-inline:.125rem;position:absolute;-webkit-transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle));transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle))}.fd-popover__resize-handle:after,.fd-popover__resize-handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__resize-handle:after{content:\"\\e24f\";display:-webkit-box;display:-ms-flexbox;display:flex;font-family:SAP-icons;height:1rem;max-height:1rem;max-width:1rem;min-height:1rem;min-width:1rem;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;width:1rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:var(--fdPopover_Resize_Handle_Justify);-ms-flex-pack:var(--fdPopover_Resize_Handle_Justify);color:inherit;justify-content:var(--fdPopover_Resize_Handle_Justify);-webkit-transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale));transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale))}.fd-popover--slider{--fdPopover_Display:block}.fd-popover--input-message-group .fd-popover__body,.fd-popover--input-message-group .fd-popover__body--no-arrow{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover--full-width{width:100%}.fd-popover--btp .fd-popover__body{--fdPopover_Arrow_Size:.375rem;--fdPopover_Body_Border_Radius:.75rem;--fdPopover_Body_Box_Shadow:var(--sapMenu_Shadow2);border:none;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size) - .1875rem)}.fd-popover--btp .fd-popover__body--padding{padding-block:.75rem;padding-inline:.75rem}.fd-popover--btp .fd-popover__body-header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-header:after,.fd-popover--btp .fd-popover__body-header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-block:.75rem;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-content:after,.fd-popover--btp .fd-popover__body-content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content:only-child{margin-block:0;margin-inline:0}.fd-popover--btp .fd-popover__body-footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.1875rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.375rem;padding-inline:0}.fd-popover--btp .fd-popover__body-footer:after,.fd-popover--btp .fd-popover__body-footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-footer--center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}fd-popover-body{max-width:100%;max-height:100%}.fd-popover-custom{display:inline-block;max-width:100%}.fd-popover-custom--disabled .fd-popover__control{cursor:auto}.fd-popover__body{max-height:100%;max-width:100%;display:flex}.fd-popover__body .fd-popover__body-footer,.fd-popover__body .fd-popover__body-header{position:sticky;z-index:6}.fd-popover__body .fd-popover__body-footer{bottom:0}.fd-popover__body--hidden{display:none!important}.fd-popover__body--disable-transitions{transition:none!important;-webkit-transition:none!important}.fd-popover__body--inline-help.fd-inline-help__content{white-space:initial}.fd-popover__body.fd-form-message:before{width:auto;height:auto;position:relative;inset:0;border:none}.fd-popover__body>.fd-scrollbar{max-height:100%;max-width:100%;width:100%;border-radius:inherit}.fd-popover__body .fd-list{border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:first-child,.fd-popover__body .fd-list__item:first-of-type{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:last-child,.fd-popover__body .fd-list__item:last-of-type{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list{border-bottom:none}.fd-popover__body .fd-nested-list__item:first-child .fd-nested-list__content{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__item:last-child .fd-nested-list__link{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content.is-selected{border-bottom-right-radius:0;border-bottom-left-radius:0}.fd-popover__body .fd-side-nav,.fd-popover__body .fd-nested-list__item{border-right:none}.fd-popover__body .fd-side-nav:first-child,.fd-popover__body .fd-nested-list__item:first-child{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-side-nav:last-child,.fd-popover__body .fd-nested-list__item:last-child{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__resize-handle{-webkit-user-select:none;user-select:none}.cdk-overlay-container{z-index:1002}.cdk-overlay-pane{max-width:100%;max-height:100%}\n/*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ResizeHandleDirective, selector: "[fdkResizeHandle]" }, { kind: "directive", type: ResizeDirective, selector: "[fdkResize]", inputs: ["fdkResizeBoundary", "fdkResizeDisabled", "fdkResizeClass", "fdkResizeHandleLocation", "fdkResizeResizeHandleRef"], outputs: ["onResizeStart", "onResizeEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: PopoverBodyComponent, isStandalone: true, selector: "fd-popover-body", inputs: { minWidth: "minWidth", maxWidth: "maxWidth", minHeight: "minHeight", maxHeight: "maxHeight" }, host: { listeners: { "keyup": "bodyKeyupHandler($event)" } }, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], viewQueries: [{ propertyName: "_cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true }, { propertyName: "_scrollbar", first: true, predicate: ScrollbarDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"fd-popover__body fd-popover__body--static\"\n [class.fd-popover__body--no-arrow]=\"_noArrow\"\n [class.fd-popover__body--resizable]=\"_resizable\"\n [class]=\"_arrowClasses + ' ' + (_additionalBodyClass || '')\"\n [cdkTrapFocus]=\"_focusTrapped\"\n [style.min-width]=\"_popoverBodyMinWidth ? null : minWidth\"\n [style.max-width]=\"_maxWidth ? null : maxWidth\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n [style.max-width.px]=\"_maxWidth\"\n [style.min-width.px]=\"_popoverBodyMinWidth\"\n [style.width.px]=\"_popoverBodyWidth\"\n [attr.role]=\"_bodyRole\"\n [attr.id]=\"_bodyId\"\n fdkResize\n [fdkResizeDisabled]=\"!_resizable\"\n [fdkResizeClass]=\"'fd-popover__body--disable-transitions'\"\n [fdkResizeHandleLocation]=\"_resizeHandleLocation\"\n>\n @if (!_disableScrollbar) {\n <div fd-scrollbar class=\"fd-popover__wrapper\">\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n }\n @if (_resizable) {\n <span fdkResizeHandle class=\"fd-popover__resize-handle\"></span>\n }\n</div>\n<ng-template #renderer>\n <ng-content select=\"[fd-popover-body-header]\"></ng-content>\n <ng-content select=\"[fd-popover-body-subheader]\"></ng-content>\n <ng-content></ng-content>\n {{ text }}\n <ng-template [ngTemplateOutlet]=\"_templateToDisplay\"></ng-template>\n <ng-content select=\"[fd-popover-body-footer]\"></ng-content>\n</ng-template>\n", styles: ["body.fd-overlay-active:before{background:var(--fdModal_BackgroundColor);content:\"\";height:100vh;left:0;pointer-events:all;position:fixed;top:0;width:100vw;z-index:999}.fd-popover{--fdPopover_Display:inline-block;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdPopover_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-popover:after,.fd-popover:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__modal{position:relative;z-index:1000}.fd-popover__control{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-popover__control:after,.fd-popover__control:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__control:focus-visible{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-popover__control.is-expanded>*,.fd-popover__control[aria-expanded=true]>*{-webkit-margin-after:0;margin-block-end:0}.fd-popover__control.is-expanded+.fd-popover__body--input-message-group,.fd-popover__control[aria-expanded=true]+.fd-popover__body--input-message-group{margin-top:0}.fd-popover__control.is-disabled,.fd-popover__control:disabled,.fd-popover__control[aria-disabled=true]{pointer-events:none}.fd-popover__wrapper{border-radius:var(--fdPopover_Body_Border_Radius);overflow:auto;position:relative;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-popover__wrapper.is-focus,.fd-popover__wrapper:focus{outline:none;z-index:5}.fd-popover__wrapper::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb:active,.fd-popover__wrapper::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-corner,.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-corner,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-popover__wrapper--visible{overflow:visible!important}.fd-popover__body{--fdPopover_Offset:100%;--fdPopover_Center_Offset:50%;--fdPopover_Arrow_Size:.5rem;--fdPopover_Body_Border_Radius:var(--fdPopover_Border_Radius);--fdPopover_Body_Box_Shadow:var(--sapContent_Shadow2);--fdPopover_Body_Box_Shadow_No_Arrow:var(--sapContent_Shadow1);--fdIcon_Button_Height:2.25rem;--fdIcon_Button_Width:2.25rem;--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Justify:flex-end;--fdPopover_Resize_Handle_Transform_Scale:1;background:var(--sapGroup_ContentBackground);border:0;border-radius:var(--fdPopover_Body_Border_Radius);-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow);box-shadow:var(--fdPopover_Body_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;opacity:1;padding-block:0;padding-inline:0;position:absolute;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size));-webkit-transition:all .125s;transition:all .125s;visibility:visible;white-space:nowrap;z-index:1000}.fd-popover__body:after,.fd-popover__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\"\";font-size:inherit;position:absolute}.fd-popover__body:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1 + var(--fdPopover_Border_Width));z-index:1002}.fd-popover__body:after,.fd-popover__body:before{border-top:none;display:inline-block;height:0;width:0}.fd-popover__body:after{border-bottom:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1);z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.fd-popover__body ol:first-child li:first-child a:before,.fd-popover__body ol:first-child li:first-child:before,.fd-popover__body ul:first-child li:first-child a:before,.fd-popover__body ul:first-child li:first-child:before,.fd-popover__body-header>:first-child,.fd-popover__body>:first-child{border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body ol:last-child li:last-child a:before,.fd-popover__body ol:last-child li:last-child:before,.fd-popover__body ul:last-child li:last-child a:before,.fd-popover__body ul:last-child li:last-child:before,.fd-popover__body-footer>:last-child,.fd-popover__body>:last-child{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body[class*=-compact],.fd-popover__body[class*=-condensed],[class*=-compact] .fd-popover__body:not([class*=-cozy]),[class*=-condensed] .fd-popover__body:not([class*=-cozy]){--fdIcon_Button_Height:1.625rem;--fdIcon_Button_Width:2rem}.fd-popover__body--no-arrow{-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);top:var(--fdPopover_Offset)}.fd-popover__body--no-arrow:after,.fd-popover__body--no-arrow:before{display:none}.fd-popover__body,.fd-popover__body--left{left:0}.fd-popover__body--left[dir=rtl],.fd-popover__body[dir=rtl],[dir=rtl] .fd-popover__body,[dir=rtl] .fd-popover__body--left{left:auto;right:0}.fd-popover__body--left:before,.fd-popover__body:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left:after,.fd-popover__body:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:before,.fd-popover__body[dir=rtl]:before,[dir=rtl] .fd-popover__body--left:before,[dir=rtl] .fd-popover__body:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:after,.fd-popover__body[dir=rtl]:after,[dir=rtl] .fd-popover__body--left:after,[dir=rtl] .fd-popover__body:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--center{left:var(--fdPopover_Center_Offset);-webkit-transform:translateX(calc(var(--fdPopover_Center_Offset) * -1));transform:translate(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{left:auto;right:var(--fdPopover_Center_Offset);-webkit-transform:translateX(var(--fdPopover_Center_Offset));transform:translate(var(--fdPopover_Center_Offset))}.fd-popover__body--right{left:auto;right:0}.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body--right{left:0;right:auto}.fd-popover__body--right:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--right:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--right[dir=rtl]:before,[dir=rtl] .fd-popover__body--right:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--right[dir=rtl]:after,[dir=rtl] .fd-popover__body--right:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--before{left:auto!important;right:var(--fdPopover_Offset)!important;top:0}.fd-popover__body--after{left:var(--fdPopover_Offset)!important;right:auto!important;top:0}.fd-popover__body--middle{top:var(--fdPopover_Center_Offset);-webkit-transform:translateY(calc(var(--fdPopover_Center_Offset) * -1));transform:translateY(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--bottom{bottom:0;top:auto}.fd-popover__body--above{bottom:var(--fdPopover_Offset);top:auto}.fd-popover__body--arrow-bottom{bottom:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-bottom:before{border-bottom:none;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-bottom:after{border-bottom:none;border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;border-top:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-left{left:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-left:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-left:after,.fd-popover__body--arrow-left:before{border-left:none;display:inline-block;height:0;left:auto!important;right:100%!important;width:0}.fd-popover__body--arrow-left:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right{right:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-right:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right:after,.fd-popover__body--arrow-right:before{border-right:none;display:inline-block;height:0;left:100%!important;right:auto!important;width:0}.fd-popover__body--arrow-right:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-left:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-center:after,.fd-popover__body--arrow-x-center:before{left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-popover__body--arrow-x-center[dir=rtl]:after,.fd-popover__body--arrow-x-center[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-center:after,[dir=rtl] .fd-popover__body--arrow-x-center:before{left:auto;right:50%;-webkit-transform:translateX(50%);transform:translate(50%)}.fd-popover__body--arrow-x-end:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-end:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-x-end[dir=rtl]:after,[dir=rtl] .fd-popover__body--arrow-x-end:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-y-center:after,.fd-popover__body--arrow-y-center:before{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-popover__body--arrow-y-bottom:before,.fd-popover__body--arrow-y-end:before{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));top:auto}.fd-popover__body--arrow-y-bottom:after,.fd-popover__body--arrow-y-end:after{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));top:auto}.fd-popover__body--dropdown{width:-webkit-max-content;width:-moz-max-content;width:max-content}.fd-popover__body--dropdown-fill{display:block;max-width:40rem;width:calc(100% - var(--sapGroup_BorderWidth) * 2)}.fd-popover__body--static{position:relative;--fdPopover_Offset:0%;--fdPopover_Center_Offset:0%}.fd-popover__body.is-hidden,.fd-popover__body[aria-hidden=true]{opacity:0;visibility:hidden;z-index:-1}.fd-popover__body .fd-popover__body--hidden{display:none}.fd-popover__body--input-message-group{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover__body--inline-help{font-size:var(--sapFontSmallSize);padding-block:.75rem;padding-inline:.75rem}.fd-popover__body--inline-help-icon{--fdIcon_Button_Height:1.375rem;--fdIcon_Button_Width:1.375rem}.fd-popover__body.fd-popover__body--resizable[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Rotate_Angle:180deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Cursor:ne-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Rotate_Angle:-90deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--bottom,.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--middle{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Rotate_Angle:90deg;--fdPopover_Resize_Handle_Cursor:nw-resize}.fd-popover__resize-handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-ms-flex-pack:end;color:var(--sapButton_Lite_TextColor);cursor:var(--fdPopover_Resize_Handle_Cursor);font-size:1rem;inset:var(--fdPopover_Resize_Handle_Position_Top) var(--fdPopover_Resize_Handle_Position_Right) var(--fdPopover_Resize_Handle_Position_Bottom) var(--fdPopover_Resize_Handle_Position_Left);justify-content:flex-end;line-height:1rem;overflow:hidden;padding-block:.125rem;padding-inline:.125rem;position:absolute;-webkit-transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle));transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle))}.fd-popover__resize-handle:after,.fd-popover__resize-handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__resize-handle:after{content:\"\\e24f\";display:-webkit-box;display:-ms-flexbox;display:flex;font-family:SAP-icons;height:1rem;max-height:1rem;max-width:1rem;min-height:1rem;min-width:1rem;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;width:1rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:var(--fdPopover_Resize_Handle_Justify);-ms-flex-pack:var(--fdPopover_Resize_Handle_Justify);color:inherit;justify-content:var(--fdPopover_Resize_Handle_Justify);-webkit-transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale));transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale))}.fd-popover--slider{--fdPopover_Display:block}.fd-popover--input-message-group .fd-popover__body,.fd-popover--input-message-group .fd-popover__body--no-arrow{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover--full-width{width:100%}.fd-popover--btp .fd-popover__body{--fdPopover_Arrow_Size:.375rem;--fdPopover_Body_Border_Radius:.75rem;--fdPopover_Body_Box_Shadow:var(--sapMenu_Shadow2);border:none;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size) - .1875rem)}.fd-popover--btp .fd-popover__body--padding{padding-block:.75rem;padding-inline:.75rem}.fd-popover--btp .fd-popover__body-header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-header:after,.fd-popover--btp .fd-popover__body-header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-block:.75rem;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-content:after,.fd-popover--btp .fd-popover__body-content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content:only-child{margin-block:0;margin-inline:0}.fd-popover--btp .fd-popover__body-footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.1875rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.375rem;padding-inline:0}.fd-popover--btp .fd-popover__body-footer:after,.fd-popover--btp .fd-popover__body-footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-footer--center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}fd-popover-body{max-width:100%;max-height:100%}.fd-popover-custom{display:inline-block;max-width:100%}.fd-popover-custom--disabled .fd-popover__control{cursor:auto}.fd-popover__body{max-height:100%;max-width:100%;display:flex}.fd-popover__body .fd-popover__body-footer,.fd-popover__body .fd-popover__body-header{position:sticky;z-index:6}.fd-popover__body .fd-popover__body-footer{bottom:0}.fd-popover__body--hidden{display:none!important}.fd-popover__body--disable-transitions{transition:none!important;-webkit-transition:none!important}.fd-popover__body--inline-help.fd-inline-help__content{white-space:initial}.fd-popover__body.fd-form-message:before{width:auto;height:auto;position:relative;inset:0;border:none}.fd-popover__body>.fd-scrollbar{max-height:100%;max-width:100%;width:100%;border-radius:inherit}.fd-popover__body .fd-list{border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:first-child,.fd-popover__body .fd-list__item:first-of-type{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:last-child,.fd-popover__body .fd-list__item:last-of-type{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list{border-bottom:none}.fd-popover__body .fd-nested-list__item:first-child .fd-nested-list__content{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__item:last-child .fd-nested-list__link{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content.is-selected{border-bottom-right-radius:0;border-bottom-left-radius:0}.fd-popover__body .fd-side-nav,.fd-popover__body .fd-nested-list__item{border-right:none}.fd-popover__body .fd-side-nav:first-child,.fd-popover__body .fd-nested-list__item:first-child{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-side-nav:last-child,.fd-popover__body .fd-nested-list__item:last-child{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__resize-handle{-webkit-user-select:none;user-select:none}.cdk-overlay-container{z-index:1002}.cdk-overlay-pane{max-width:100%;max-height:100%}\n/*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ResizeHandleDirective, selector: "[fdkResizeHandle]" }, { kind: "directive", type: ResizeDirective, selector: "[fdkResize]", inputs: ["fdkResizeBoundary", "fdkResizeDisabled", "fdkResizeClass", "fdkResizeHandleLocation", "fdkResizeResizeHandleRef"], outputs: ["onResizeStart", "onResizeEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
149
141
|
}
|
|
150
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: PopoverBodyComponent, decorators: [{
|
|
151
143
|
type: Component,
|
|
@@ -167,8 +159,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
167
159
|
}], bodyKeyupHandler: [{
|
|
168
160
|
type: HostListener,
|
|
169
161
|
args: ['keyup', ['$event']]
|
|
170
|
-
}], onClick: [{
|
|
171
|
-
type: HostListener,
|
|
172
|
-
args: ['document:click', ['$event.target']]
|
|
173
162
|
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXItYm9keS9wb3BvdmVyLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1ib2R5L3BvcG92ZXItYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBMEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQVksZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFFckU7Ozs7Ozs7O0dBUUc7QUFXSCxNQUFNLE9BQU8sb0JBQW9CO0lBa0Y3QixjQUFjO0lBQ2QsWUFDYSxXQUF1QixFQUN4QixrQkFBcUMsRUFDNUIsU0FBb0IsRUFDNUIsdUJBQStDO1FBSC9DLGdCQUFXLEdB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SUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUM3RCxDQUFDO0lBQ0wsQ0FBQzs4R0FqTVEsb0JBQW9CO2tHQUFwQixvQkFBb0IsZ1JBSmxCLENBQUMsK0JBQStCLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLHlFQXNCL0QsWUFBWSw2RUFJWixrQkFBa0IsZ0RDbEVqQyxta0RBdUNBLHNnM0JER2MsVUFBVSwwTEFBaUIsa0JBQWtCLCtJQUFFLGdCQUFnQixvSkFBRSxxQkFBcUIsOERBQUUsZUFBZTs7MkZBRXhHLG9CQUFvQjtrQkFWaEMsU0FBUzsrQkFDSSxpQkFBaUIsaUJBRVosaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUVwQyxDQUFDLCtCQUErQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUM5RCxJQUFJLFdBQ1AsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsQ0FBQzs0S0FLbEgsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxZQUFZO2dCQUt2QixVQUFVO3NCQURULFNBQVM7dUJBQUMsa0JBQWtCO2dCQXNFN0IsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVdqQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEExMXlNb2R1bGUsIENka1RyYXBGb2N1cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBDZGtTY3JvbGxhYmxlLCBDb25uZWN0aW9uUG9zaXRpb25QYWlyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgS2V5VXRpbCwgTnVsbGFibGUsIFJlc2l6ZURpcmVjdGl2ZSwgUmVzaXplSGFuZGxlRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgU2Nyb2xsYmFyRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Njcm9sbGJhcic7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdXNlZCB0byBlbmZvcmNlIGEgY2VydGFpbiBsYXlvdXQgZm9yIHRoZSBwb3BvdmVyLlxuICogYGBgaHRtbFxuICogPGZkLXBvcG92ZXI+XG4gKiAgICAgPGZkLXBvcG92ZXItY29udHJvbD5Db250cm9sIEVsZW1lbnQ8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAqICAgICA8ZmQtcG9wb3Zlci1ib2R5PlBvcG92ZXIgQm9keTwvZmQtcG9wb3Zlci1ib2R5PlxuICogPC9mZC1wb3BvdmVyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtcG9wb3Zlci1ib2R5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1ib2R5LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0eWxlVXJsOiAnLi9wb3BvdmVyLWJvZHkuY29tcG9uZW50LnNjc3MnLFxuICAgIHByb3ZpZGVyczogW2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoeyBhbHdheXNBZGRNb2RpZmllcnM6IHRydWUgfSldLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0ExMXlNb2R1bGUsIENka1Njcm9sbGFibGUsIFNjcm9sbGJhckRpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldCwgUmVzaXplSGFuZGxlRGlyZWN0aXZlLCBSZXNpemVEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJCb2R5Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIE1pbmltdW0gd2lkdGggb2YgdGhlIHBvcG92ZXIgYm9keSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWluV2lkdGg6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogTWF4aW11bSB3aWR0aCBvZiB0aGUgcG9wb3ZlciBib2R5IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBtYXhXaWR0aDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBNaW5pbXVtIGhlaWdodCBvZiB0aGUgcG9wb3ZlciBib2R5IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBtaW5IZWlnaHQ6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogTWF4aW11bSBoZWlnaHQgb2YgdGhlIHBvcG92ZXIgYm9keSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF4SGVpZ2h0OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKENka1RyYXBGb2N1cylcbiAgICBfY2RrVHJhcEZvY3VzOiBDZGtUcmFwRm9jdXM7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoU2Nyb2xsYmFyRGlyZWN0aXZlKVxuICAgIF9zY3JvbGxiYXI6IFNjcm9sbGJhckRpcmVjdGl2ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIHdyYXAgY29udGVudCB3aXRoIGZkLXNjcm9sbGJhciBkaXJlY3RpdmUuICovXG4gICAgX2Rpc2FibGVTY3JvbGxiYXIgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBoYXZlIGFuIGFycm93LiAqL1xuICAgIF9ub0Fycm93ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGNvbnRhaW5lciBuZWVkcyBhbiBleHRyYSBjbGFzcyBmb3Igc3R5bGluZy4gKi9cbiAgICBfYWRkaXRpb25hbEJvZHlDbGFzczogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBmb2N1c1RyYXBwZWQuICovXG4gICAgX2ZvY3VzVHJhcHBlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgYXV0b21hdGljYWxseSBtb3ZlIGZvY3VzIGludG8gdGhlIHRyYXBwZWQgcmVnaW9uIHVwb25cbiAgICAgKiBpbml0aWFsaXphdGlvbiBhbmQgcmV0dXJuIGZvY3VzIHRvIHRoZSBwcmV2aW91cyBhY3RpdmVFbGVtZW50IHVwb24gZGVzdHJ1Y3Rpb24uXG4gICAgICovXG4gICAgX2ZvY3VzQXV0b0NhcHR1cmUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuIFByb3BlcnR5IGJpbmQgdG8gcG9wb3ZlcidzIGJvZHkuICovXG4gICAgX3BvcG92ZXJCb2R5V2lkdGg6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuIFByb3BlcnR5IGJpbmQgdG8gcG9wb3ZlcidzIGJvZHkuICovXG4gICAgX3BvcG92ZXJCb2R5TWluV2lkdGg6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuIFByb3BlcnR5IGJpbmQgdG8gcG9wb3ZlcidzIGJvZHkuICovXG4gICAgX21heFdpZHRoOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgLyoqIEBoaWRkZW4gUHJvcGVydHkgYmluZCB0byBwb3BvdmVyJ3MgYm9keS4gKi9cbiAgICBfY2xvc2VPbkVzY2FwZUtleSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gQXJpYSByb2xlIGZvciB0aGUgcG9wb3ZlciBib2R5LiAqL1xuICAgIF9ib2R5Um9sZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiBBcmlhIHJvbGUgZm9yIHRoZSBwb3BvdmVyIGJvZHkuICovXG4gICAgX2JvZHlJZDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQ2xhc3NlcyBhZGRlZCB0byBhcnJvdyBlbGVtZW50LiAqL1xuICAgIF9hcnJvd0NsYXNzZXMgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuIHRleHQgcmVuZGVyZWQgaW5zaWRlIHBvcG92ZXIncyBib2R5LiAqL1xuICAgIHRleHQ6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gdGVtcGxhdGUgcmVuZGVyZWQgaW5zaWRlIHBvcG92ZXIncyBib2R5LiAqL1xuICAgIF90ZW1wbGF0ZVRvRGlzcGxheTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuIFdoZXRoZXIgdGhlIHBvcG92ZXIgYm9keSBpcyByZXNpemFibGUuICovXG4gICAgX3Jlc2l6YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVzaXplSGFuZGxlTG9jYXRpb246ICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyA9ICdib3R0b20tcmlnaHQnO1xuXG4gICAgLyoqIENsb3NlIGV2ZW50IGZyb20gcG9wb3ZlciBib2R5ICovXG4gICAgb25DbG9zZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JvZHlDb21wb25lbnRDbGFzc2VzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHJlYWRvbmx5IF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgKSB7fVxuXG4gICAgLyoqIEhhbmRsZXIgZXNjYXBlIGtleWRvd24gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gICAgYm9keUtleXVwSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIEVTQ0FQRSkgJiYgdGhpcy5fY2xvc2VPbkVzY2FwZUtleSkge1xuICAgICAgICAgICAgLy8gSW4gY2FzZSBpZiBwb3BvdmVyIGJlbG9uZ3MgdG8gdGhlIGVsZW1lbnQgaW5zaWRlIGRpYWxvZ1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLm9uQ2xvc2UubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIGZvY3VzIHdoZW4gY2xpY2tpbmcgb3V0c2lkZSAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgb25DbGljayh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgICAgICAgIC8vIENhbGwgdGhlIGZvY3VzIGxvZ2ljIGlmIGNsaWNrZWQgb3V0c2lkZSB0aGUgcG9wb3ZlclxuICAgICAgICAgICAgdGhpcy5fZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zY3JvbGxiYXIpIHtcbiAgICAgICAgICAgIHRoaXMuX3Njcm9sbGJhci5faW5Qb3BvdmVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldEJvZHlDb21wb25lbnRDbGFzc2VzKGNsYXNzZXM6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYm9keUNvbXBvbmVudENsYXNzZXM/LnNwbGl0KCcgJykuZm9yRWFjaCgoa2xhc3MpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwga2xhc3MpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fYm9keUNvbXBvbmVudENsYXNzZXMgPSBjbGFzc2VzO1xuICAgICAgICBpZiAoIXRoaXMuX2JvZHlDb21wb25lbnRDbGFzc2VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYm9keUNvbXBvbmVudENsYXNzZXMuc3BsaXQoJyAnKS5mb3JFYWNoKChrbGFzcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBrbGFzcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldEFycm93U3R5bGVzKHBvc2l0aW9uOiBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBydGw6ICdydGwnIHwgJ2x0cicpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzaXplSGFuZGxlTG9jYXRpb24gPSBgJHtwb3NpdGlvbi5vdmVybGF5WSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnfS0ke1xuICAgICAgICAgICAgcG9zaXRpb24ub3ZlcmxheVggPT09ICdzdGFydCcgPyAncmlnaHQnIDogJ2xlZnQnXG4gICAgICAgIH1gO1xuICAgICAgICBpZiAodGhpcy5fbm9BcnJvdykge1xuICAgICAgICAgICAgdGhpcy5fYXJyb3dDbGFzc2VzID0gJyc7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgYXJyb3dDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHBvc2l0aW9uLm92ZXJsYXlZICE9PSBwb3NpdGlvbi5vcmlnaW5ZICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vcmlnaW5ZICE9PSAnY2VudGVyJyAmJlxuICAgICAgICAgICAgcG9zaXRpb24ub3ZlcmxheVkgIT09ICdjZW50ZXInICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WCA9PT0gcG9zaXRpb24ub3JpZ2luWFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGFycm93Q2xhc3NlcyA9IFtcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tJHtwb3NpdGlvbi5vdmVybGF5WSA9PT0gJ3RvcCcgPyAnYmVsb3cnIDogJ2Fib3ZlJ31gLFxuICAgICAgICAgICAgICAgIGBmZC1wb3BvdmVyX19ib2R5LS0ke3Bvc2l0aW9uLm92ZXJsYXlYID09PSAnc3RhcnQnID8gJ2xlZnQnIDogJ3JpZ2h0J31gLFxuICAgICAgICAgICAgICAgIGBmZC1wb3BvdmVyX19ib2R5LS1hcnJvdy0ke3Bvc2l0aW9uLm92ZXJsYXlZfWAsXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLWFycm93LXgtJHtwb3NpdGlvbi5vcmlnaW5YfWBcbiAgICAgICAgICAgIF07XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WCAhPT0gcG9zaXRpb24ub3JpZ2luWCAmJlxuICAgICAgICAgICAgcG9zaXRpb24ub3ZlcmxheVggIT09ICdjZW50ZXInICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vcmlnaW5YICE9PSAnY2VudGVyJyAmJlxuICAgICAgICAgICAgcG9zaXRpb24ub3JpZ2luWSA9PT0gcG9zaXRpb24ub3ZlcmxheVlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBsZXQgb3ZlcmxheVggPSBwb3NpdGlvbi5vdmVybGF5WDtcbiAgICAgICAgICAgIGlmIChydGwgPT09ICdydGwnKSB7XG4gICAgICAgICAgICAgICAgb3ZlcmxheVggPSBwb3NpdGlvbi5vdmVybGF5WCA9PT0gJ2VuZCcgPyAnc3RhcnQnIDogJ2VuZCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcnJvd0NsYXNzZXMgPSBbXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLSR7b3ZlcmxheVggPT09ICdzdGFydCcgPyAnYWZ0ZXInIDogJ2JlZm9yZSd9YCxcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tJHtvdmVybGF5WCA9PT0gJ3N0YXJ0JyA/ICdsZWZ0JyA6ICdyaWdodCd9YCxcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tJHtwb3NpdGlvbi5vdmVybGF5WSA9PT0gJ2NlbnRlcicgPyAnbWlkZGxlJyA6IHBvc2l0aW9uLm92ZXJsYXlZfWAsXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLWFycm93LSR7b3ZlcmxheVggPT09ICdzdGFydCcgPyAnbGVmdCcgOiAncmlnaHQnfWAsXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLWFycm93LXktJHtwb3NpdGlvbi5vcmlnaW5ZfSBgXG4gICAgICAgICAgICBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXJyb3dDbGFzc2VzID0gWydmZC1wb3BvdmVyX19ib2R5LS1uby1hcnJvdyddO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYXJyb3dDbGFzc2VzID0gYXJyb3dDbGFzc2VzLmpvaW4oJyAnKTtcblxuICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWZbJ2Rlc3Ryb3llZCddKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KGZvcmNlZCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChmb3JjZWQgfHwgdGhpcy5fZm9jdXNBdXRvQ2FwdHVyZSkge1xuICAgICAgICAgICAgdGhpcy5fY2RrVHJhcEZvY3VzLmZvY3VzVHJhcC5mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmZC1wb3BvdmVyX19ib2R5IGZkLXBvcG92ZXJfX2JvZHktLXN0YXRpY1wiXG4gICAgW2NsYXNzLmZkLXBvcG92ZXJfX2JvZHktLW5vLWFycm93XT1cIl9ub0Fycm93XCJcbiAgICBbY2xhc3MuZmQtcG9wb3Zlcl9fYm9keS0tcmVzaXphYmxlXT1cIl9yZXNpemFibGVcIlxuICAgIFtjbGFzc109XCJfYXJyb3dDbGFzc2VzICsgJyAnICsgKF9hZGRpdGlvbmFsQm9keUNsYXNzIHx8ICcnKVwiXG4gICAgW2Nka1RyYXBGb2N1c109XCJfZm9jdXNUcmFwcGVkXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIl9wb3BvdmVyQm9keU1pbldpZHRoID8gbnVsbCA6IG1pbldpZHRoXCJcbiAgICBbc3R5bGUubWF4LXdpZHRoXT1cIl9tYXhXaWR0aCA/IG51bGwgOiBtYXhXaWR0aFwiXG4gICAgW3N0eWxlLm1pbi1oZWlnaHRdPVwibWluSGVpZ2h0XCJcbiAgICBbc3R5bGUubWF4LWhlaWdodF09XCJtYXhIZWlnaHRcIlxuICAgIFtzdHlsZS5tYXgtd2lkdGgucHhdPVwiX21heFdpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoLnB4XT1cIl9wb3BvdmVyQm9keU1pbldpZHRoXCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwiX3BvcG92ZXJCb2R5V2lkdGhcIlxuICAgIFthdHRyLnJvbGVdPVwiX2JvZHlSb2xlXCJcbiAgICBbYXR0ci5pZF09XCJfYm9keUlkXCJcbiAgICBmZGtSZXNpemVcbiAgICBbZmRrUmVzaXplRGlzYWJsZWRdPVwiIV9yZXNpemFibGVcIlxuICAgIFtmZGtSZXNpemVDbGFzc109XCInZmQtcG9wb3Zlcl9fYm9keS0tZGlzYWJsZS10cmFuc2l0aW9ucydcIlxuICAgIFtmZGtSZXNpemVIYW5kbGVMb2NhdGlvbl09XCJfcmVzaXplSGFuZGxlTG9jYXRpb25cIlxuPlxuICAgIEBpZiAoIV9kaXNhYmxlU2Nyb2xsYmFyKSB7XG4gICAgICAgIDxkaXYgZmQtc2Nyb2xsYmFyIGNsYXNzPVwiZmQtcG9wb3Zlcl9fd3JhcHBlclwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlbmRlcmVyXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJlclwiPjwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAoX3Jlc2l6YWJsZSkge1xuICAgICAgICA8c3BhbiBmZGtSZXNpemVIYW5kbGUgY2xhc3M9XCJmZC1wb3BvdmVyX19yZXNpemUtaGFuZGxlXCI+PC9zcGFuPlxuICAgIH1cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNyZW5kZXJlcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmQtcG9wb3Zlci1ib2R5LWhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLXBvcG92ZXItYm9keS1zdWJoZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICB7eyB0ZXh0IH19XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIl90ZW1wbGF0ZVRvRGlzcGxheVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLXBvcG92ZXItYm9keS1mb290ZXJdXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXItYm9keS9wb3BvdmVyLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1ib2R5L3BvcG92ZXItYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBMEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQVksZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFFckU7Ozs7Ozs7O0dBUUc7QUFXSCxNQUFNLE9BQU8sb0JBQW9CO0lBa0Y3QixjQUFjO0lBQ2QsWUFDYSxXQUF1QixFQUN4QixrQkFBcUMsRUFDNUIsU0FBb0IsRUFDNUIsdUJBQStDO1FBSC9DLGdCQUFXLEdB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QUFVLDBMQUFpQixrQkFBa0IsK0lBQUUsZ0JBQWdCLG9KQUFFLHFCQUFxQiw4REFBRSxlQUFlOzsyRkFFeEcsb0JBQW9CO2tCQVZoQyxTQUFTOytCQUNJLGlCQUFpQixpQkFFWixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBRXBDLENBQUMsK0JBQStCLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLGNBQzlELElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxDQUFDOzRLQUtsSCxRQUFRO3NCQURQLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixTQUFTO3VCQUFDLFlBQVk7Z0JBS3ZCLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBc0U3QixnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEExMXlNb2R1bGUsIENka1RyYXBGb2N1cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBDZGtTY3JvbGxhYmxlLCBDb25uZWN0aW9uUG9zaXRpb25QYWlyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgS2V5VXRpbCwgTnVsbGFibGUsIFJlc2l6ZURpcmVjdGl2ZSwgUmVzaXplSGFuZGxlRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgU2Nyb2xsYmFyRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Njcm9sbGJhcic7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdXNlZCB0byBlbmZvcmNlIGEgY2VydGFpbiBsYXlvdXQgZm9yIHRoZSBwb3BvdmVyLlxuICogYGBgaHRtbFxuICogPGZkLXBvcG92ZXI+XG4gKiAgICAgPGZkLXBvcG92ZXItY29udHJvbD5Db250cm9sIEVsZW1lbnQ8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAqICAgICA8ZmQtcG9wb3Zlci1ib2R5PlBvcG92ZXIgQm9keTwvZmQtcG9wb3Zlci1ib2R5PlxuICogPC9mZC1wb3BvdmVyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtcG9wb3Zlci1ib2R5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1ib2R5LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0eWxlVXJsOiAnLi9wb3BvdmVyLWJvZHkuY29tcG9uZW50LnNjc3MnLFxuICAgIHByb3ZpZGVyczogW2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoeyBhbHdheXNBZGRNb2RpZmllcnM6IHRydWUgfSldLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0ExMXlNb2R1bGUsIENka1Njcm9sbGFibGUsIFNjcm9sbGJhckRpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldCwgUmVzaXplSGFuZGxlRGlyZWN0aXZlLCBSZXNpemVEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJCb2R5Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIE1pbmltdW0gd2lkdGggb2YgdGhlIHBvcG92ZXIgYm9keSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWluV2lkdGg6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogTWF4aW11bSB3aWR0aCBvZiB0aGUgcG9wb3ZlciBib2R5IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBtYXhXaWR0aDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBNaW5pbXVtIGhlaWdodCBvZiB0aGUgcG9wb3ZlciBib2R5IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBtaW5IZWlnaHQ6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogTWF4aW11bSBoZWlnaHQgb2YgdGhlIHBvcG92ZXIgYm9keSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF4SGVpZ2h0OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKENka1RyYXBGb2N1cylcbiAgICBfY2RrVHJhcEZvY3VzOiBDZGtUcmFwRm9jdXM7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoU2Nyb2xsYmFyRGlyZWN0aXZlKVxuICAgIF9zY3JvbGxiYXI6IFNjcm9sbGJhckRpcmVjdGl2ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIHdyYXAgY29udGVudCB3aXRoIGZkLXNjcm9sbGJhciBkaXJlY3RpdmUuICovXG4gICAgX2Rpc2FibGVTY3JvbGxiYXIgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBoYXZlIGFuIGFycm93LiAqL1xuICAgIF9ub0Fycm93ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGNvbnRhaW5lciBuZWVkcyBhbiBleHRyYSBjbGFzcyBmb3Igc3R5bGluZy4gKi9cbiAgICBfYWRkaXRpb25hbEJvZHlDbGFzczogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBmb2N1c1RyYXBwZWQuICovXG4gICAgX2ZvY3VzVHJhcHBlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgYXV0b21hdGljYWxseSBtb3ZlIGZvY3VzIGludG8gdGhlIHRyYXBwZWQgcmVnaW9uIHVwb25cbiAgICAgKiBpbml0aWFsaXphdGlvbiBhbmQgcmV0dXJuIGZvY3VzIHRvIHRoZSBwcmV2aW91cyBhY3RpdmVFbGVtZW50IHVwb24gZGVzdHJ1Y3Rpb24uXG4gICAgICovXG4gICAgX2ZvY3VzQXV0b0NhcHR1cmUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuIFByb3BlcnR5IGJpbmQgdG8gcG9wb3ZlcidzIGJvZHkuICovXG4gICAgX3BvcG92ZXJCb2R5V2lkdGg6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuIFByb3BlcnR5IGJpbmQgdG8gcG9wb3ZlcidzIGJvZHkuICovXG4gICAgX3BvcG92ZXJCb2R5TWluV2lkdGg6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuIFByb3BlcnR5IGJpbmQgdG8gcG9wb3ZlcidzIGJvZHkuICovXG4gICAgX21heFdpZHRoOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgLyoqIEBoaWRkZW4gUHJvcGVydHkgYmluZCB0byBwb3BvdmVyJ3MgYm9keS4gKi9cbiAgICBfY2xvc2VPbkVzY2FwZUtleSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gQXJpYSByb2xlIGZvciB0aGUgcG9wb3ZlciBib2R5LiAqL1xuICAgIF9ib2R5Um9sZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiBBcmlhIHJvbGUgZm9yIHRoZSBwb3BvdmVyIGJvZHkuICovXG4gICAgX2JvZHlJZDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQ2xhc3NlcyBhZGRlZCB0byBhcnJvdyBlbGVtZW50LiAqL1xuICAgIF9hcnJvd0NsYXNzZXMgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuIHRleHQgcmVuZGVyZWQgaW5zaWRlIHBvcG92ZXIncyBib2R5LiAqL1xuICAgIHRleHQ6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gdGVtcGxhdGUgcmVuZGVyZWQgaW5zaWRlIHBvcG92ZXIncyBib2R5LiAqL1xuICAgIF90ZW1wbGF0ZVRvRGlzcGxheTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuIFdoZXRoZXIgdGhlIHBvcG92ZXIgYm9keSBpcyByZXNpemFibGUuICovXG4gICAgX3Jlc2l6YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVzaXplSGFuZGxlTG9jYXRpb246ICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyA9ICdib3R0b20tcmlnaHQnO1xuXG4gICAgLyoqIENsb3NlIGV2ZW50IGZyb20gcG9wb3ZlciBib2R5ICovXG4gICAgb25DbG9zZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JvZHlDb21wb25lbnRDbGFzc2VzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHJlYWRvbmx5IF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgKSB7fVxuXG4gICAgLyoqIEhhbmRsZXIgZXNjYXBlIGtleWRvd24gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gICAgYm9keUtleXVwSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIEVTQ0FQRSkgJiYgdGhpcy5fY2xvc2VPbkVzY2FwZUtleSkge1xuICAgICAgICAgICAgLy8gSW4gY2FzZSBpZiBwb3BvdmVyIGJlbG9uZ3MgdG8gdGhlIGVsZW1lbnQgaW5zaWRlIGRpYWxvZ1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLm9uQ2xvc2UubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zY3JvbGxiYXIpIHtcbiAgICAgICAgICAgIHRoaXMuX3Njcm9sbGJhci5faW5Qb3BvdmVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldEJvZHlDb21wb25lbnRDbGFzc2VzKGNsYXNzZXM6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYm9keUNvbXBvbmVudENsYXNzZXM/LnNwbGl0KCcgJykuZm9yRWFjaCgoa2xhc3MpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwga2xhc3MpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fYm9keUNvbXBvbmVudENsYXNzZXMgPSBjbGFzc2VzO1xuICAgICAgICBpZiAoIXRoaXMuX2JvZHlDb21wb25lbnRDbGFzc2VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYm9keUNvbXBvbmVudENsYXNzZXMuc3BsaXQoJyAnKS5mb3JFYWNoKChrbGFzcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBrbGFzcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldEFycm93U3R5bGVzKHBvc2l0aW9uOiBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBydGw6ICdydGwnIHwgJ2x0cicpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzaXplSGFuZGxlTG9jYXRpb24gPSBgJHtwb3NpdGlvbi5vdmVybGF5WSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnfS0ke1xuICAgICAgICAgICAgcG9zaXRpb24ub3ZlcmxheVggPT09ICdzdGFydCcgPyAncmlnaHQnIDogJ2xlZnQnXG4gICAgICAgIH1gO1xuICAgICAgICBpZiAodGhpcy5fbm9BcnJvdykge1xuICAgICAgICAgICAgdGhpcy5fYXJyb3dDbGFzc2VzID0gJyc7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgYXJyb3dDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHBvc2l0aW9uLm92ZXJsYXlZICE9PSBwb3NpdGlvbi5vcmlnaW5ZICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vcmlnaW5ZICE9PSAnY2VudGVyJyAmJlxuICAgICAgICAgICAgcG9zaXRpb24ub3ZlcmxheVkgIT09ICdjZW50ZXInICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WCA9PT0gcG9zaXRpb24ub3JpZ2luWFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGFycm93Q2xhc3NlcyA9IFtcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tJHtwb3NpdGlvbi5vdmVybGF5WSA9PT0gJ3RvcCcgPyAnYmVsb3cnIDogJ2Fib3ZlJ31gLFxuICAgICAgICAgICAgICAgIGBmZC1wb3BvdmVyX19ib2R5LS0ke3Bvc2l0aW9uLm92ZXJsYXlYID09PSAnc3RhcnQnID8gJ2xlZnQnIDogJ3JpZ2h0J31gLFxuICAgICAgICAgICAgICAgIGBmZC1wb3BvdmVyX19ib2R5LS1hcnJvdy0ke3Bvc2l0aW9uLm92ZXJsYXlZfWAsXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLWFycm93LXgtJHtwb3NpdGlvbi5vcmlnaW5YfWBcbiAgICAgICAgICAgIF07XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WCAhPT0gcG9zaXRpb24ub3JpZ2luWCAmJlxuICAgICAgICAgICAgcG9zaXRpb24ub3ZlcmxheVggIT09ICdjZW50ZXInICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vcmlnaW5YICE9PSAnY2VudGVyJyAmJlxuICAgICAgICAgICAgcG9zaXRpb24ub3JpZ2luWSA9PT0gcG9zaXRpb24ub3ZlcmxheVlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBsZXQgb3ZlcmxheVggPSBwb3NpdGlvbi5vdmVybGF5WDtcbiAgICAgICAgICAgIGlmIChydGwgPT09ICdydGwnKSB7XG4gICAgICAgICAgICAgICAgb3ZlcmxheVggPSBwb3NpdGlvbi5vdmVybGF5WCA9PT0gJ2VuZCcgPyAnc3RhcnQnIDogJ2VuZCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcnJvd0NsYXNzZXMgPSBbXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLSR7b3ZlcmxheVggPT09ICdzdGFydCcgPyAnYWZ0ZXInIDogJ2JlZm9yZSd9YCxcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tJHtvdmVybGF5WCA9PT0gJ3N0YXJ0JyA/ICdsZWZ0JyA6ICdyaWdodCd9YCxcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tJHtwb3NpdGlvbi5vdmVybGF5WSA9PT0gJ2NlbnRlcicgPyAnbWlkZGxlJyA6IHBvc2l0aW9uLm92ZXJsYXlZfWAsXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLWFycm93LSR7b3ZlcmxheVggPT09ICdzdGFydCcgPyAnbGVmdCcgOiAncmlnaHQnfWAsXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLWFycm93LXktJHtwb3NpdGlvbi5vcmlnaW5ZfSBgXG4gICAgICAgICAgICBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXJyb3dDbGFzc2VzID0gWydmZC1wb3BvdmVyX19ib2R5LS1uby1hcnJvdyddO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYXJyb3dDbGFzc2VzID0gYXJyb3dDbGFzc2VzLmpvaW4oJyAnKTtcblxuICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWZbJ2Rlc3Ryb3llZCddKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KGZvcmNlZCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChmb3JjZWQgfHwgdGhpcy5fZm9jdXNBdXRvQ2FwdHVyZSkge1xuICAgICAgICAgICAgdGhpcy5fY2RrVHJhcEZvY3VzLmZvY3VzVHJhcC5mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmZC1wb3BvdmVyX19ib2R5IGZkLXBvcG92ZXJfX2JvZHktLXN0YXRpY1wiXG4gICAgW2NsYXNzLmZkLXBvcG92ZXJfX2JvZHktLW5vLWFycm93XT1cIl9ub0Fycm93XCJcbiAgICBbY2xhc3MuZmQtcG9wb3Zlcl9fYm9keS0tcmVzaXphYmxlXT1cIl9yZXNpemFibGVcIlxuICAgIFtjbGFzc109XCJfYXJyb3dDbGFzc2VzICsgJyAnICsgKF9hZGRpdGlvbmFsQm9keUNsYXNzIHx8ICcnKVwiXG4gICAgW2Nka1RyYXBGb2N1c109XCJfZm9jdXNUcmFwcGVkXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIl9wb3BvdmVyQm9keU1pbldpZHRoID8gbnVsbCA6IG1pbldpZHRoXCJcbiAgICBbc3R5bGUubWF4LXdpZHRoXT1cIl9tYXhXaWR0aCA/IG51bGwgOiBtYXhXaWR0aFwiXG4gICAgW3N0eWxlLm1pbi1oZWlnaHRdPVwibWluSGVpZ2h0XCJcbiAgICBbc3R5bGUubWF4LWhlaWdodF09XCJtYXhIZWlnaHRcIlxuICAgIFtzdHlsZS5tYXgtd2lkdGgucHhdPVwiX21heFdpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoLnB4XT1cIl9wb3BvdmVyQm9keU1pbldpZHRoXCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwiX3BvcG92ZXJCb2R5V2lkdGhcIlxuICAgIFthdHRyLnJvbGVdPVwiX2JvZHlSb2xlXCJcbiAgICBbYXR0ci5pZF09XCJfYm9keUlkXCJcbiAgICBmZGtSZXNpemVcbiAgICBbZmRrUmVzaXplRGlzYWJsZWRdPVwiIV9yZXNpemFibGVcIlxuICAgIFtmZGtSZXNpemVDbGFzc109XCInZmQtcG9wb3Zlcl9fYm9keS0tZGlzYWJsZS10cmFuc2l0aW9ucydcIlxuICAgIFtmZGtSZXNpemVIYW5kbGVMb2NhdGlvbl09XCJfcmVzaXplSGFuZGxlTG9jYXRpb25cIlxuPlxuICAgIEBpZiAoIV9kaXNhYmxlU2Nyb2xsYmFyKSB7XG4gICAgICAgIDxkaXYgZmQtc2Nyb2xsYmFyIGNsYXNzPVwiZmQtcG9wb3Zlcl9fd3JhcHBlclwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlbmRlcmVyXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJlclwiPjwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAoX3Jlc2l6YWJsZSkge1xuICAgICAgICA8c3BhbiBmZGtSZXNpemVIYW5kbGUgY2xhc3M9XCJmZC1wb3BvdmVyX19yZXNpemUtaGFuZGxlXCI+PC9zcGFuPlxuICAgIH1cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNyZW5kZXJlcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmQtcG9wb3Zlci1ib2R5LWhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLXBvcG92ZXItYm9keS1zdWJoZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICB7eyB0ZXh0IH19XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIl90ZW1wbGF0ZVRvRGlzcGxheVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLXBvcG92ZXItYm9keS1mb290ZXJdXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -309,14 +309,6 @@ class PopoverBodyComponent {
|
|
|
309
309
|
this.onClose.next();
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
|
-
/** Handler for focus when clicking outside */
|
|
313
|
-
onClick(targetElement) {
|
|
314
|
-
const clickedInside = this._elementRef.nativeElement.contains(targetElement);
|
|
315
|
-
if (!clickedInside) {
|
|
316
|
-
// Call the focus logic if clicked outside the popover
|
|
317
|
-
this._focusFirstTabbableElement();
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
312
|
/** @hidden */
|
|
321
313
|
ngAfterViewInit() {
|
|
322
314
|
if (this._scrollbar) {
|
|
@@ -390,7 +382,7 @@ class PopoverBodyComponent {
|
|
|
390
382
|
}
|
|
391
383
|
}
|
|
392
384
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: PopoverBodyComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
393
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: PopoverBodyComponent, isStandalone: true, selector: "fd-popover-body", inputs: { minWidth: "minWidth", maxWidth: "maxWidth", minHeight: "minHeight", maxHeight: "maxHeight" }, host: { listeners: { "keyup": "bodyKeyupHandler($event)", "document:click": "onClick($event.target)" } }, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], viewQueries: [{ propertyName: "_cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true }, { propertyName: "_scrollbar", first: true, predicate: ScrollbarDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"fd-popover__body fd-popover__body--static\"\n [class.fd-popover__body--no-arrow]=\"_noArrow\"\n [class.fd-popover__body--resizable]=\"_resizable\"\n [class]=\"_arrowClasses + ' ' + (_additionalBodyClass || '')\"\n [cdkTrapFocus]=\"_focusTrapped\"\n [style.min-width]=\"_popoverBodyMinWidth ? null : minWidth\"\n [style.max-width]=\"_maxWidth ? null : maxWidth\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n [style.max-width.px]=\"_maxWidth\"\n [style.min-width.px]=\"_popoverBodyMinWidth\"\n [style.width.px]=\"_popoverBodyWidth\"\n [attr.role]=\"_bodyRole\"\n [attr.id]=\"_bodyId\"\n fdkResize\n [fdkResizeDisabled]=\"!_resizable\"\n [fdkResizeClass]=\"'fd-popover__body--disable-transitions'\"\n [fdkResizeHandleLocation]=\"_resizeHandleLocation\"\n>\n @if (!_disableScrollbar) {\n <div fd-scrollbar class=\"fd-popover__wrapper\">\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n }\n @if (_resizable) {\n <span fdkResizeHandle class=\"fd-popover__resize-handle\"></span>\n }\n</div>\n<ng-template #renderer>\n <ng-content select=\"[fd-popover-body-header]\"></ng-content>\n <ng-content select=\"[fd-popover-body-subheader]\"></ng-content>\n <ng-content></ng-content>\n {{ text }}\n <ng-template [ngTemplateOutlet]=\"_templateToDisplay\"></ng-template>\n <ng-content select=\"[fd-popover-body-footer]\"></ng-content>\n</ng-template>\n", styles: ["body.fd-overlay-active:before{background:var(--fdModal_BackgroundColor);content:\"\";height:100vh;left:0;pointer-events:all;position:fixed;top:0;width:100vw;z-index:999}.fd-popover{--fdPopover_Display:inline-block;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdPopover_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-popover:after,.fd-popover:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__modal{position:relative;z-index:1000}.fd-popover__control{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-popover__control:after,.fd-popover__control:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__control:focus-visible{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-popover__control.is-expanded>*,.fd-popover__control[aria-expanded=true]>*{-webkit-margin-after:0;margin-block-end:0}.fd-popover__control.is-expanded+.fd-popover__body--input-message-group,.fd-popover__control[aria-expanded=true]+.fd-popover__body--input-message-group{margin-top:0}.fd-popover__control.is-disabled,.fd-popover__control:disabled,.fd-popover__control[aria-disabled=true]{pointer-events:none}.fd-popover__wrapper{border-radius:var(--fdPopover_Body_Border_Radius);overflow:auto;position:relative;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-popover__wrapper.is-focus,.fd-popover__wrapper:focus{outline:none;z-index:5}.fd-popover__wrapper::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb:active,.fd-popover__wrapper::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-corner,.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-corner,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-popover__wrapper--visible{overflow:visible!important}.fd-popover__body{--fdPopover_Offset:100%;--fdPopover_Center_Offset:50%;--fdPopover_Arrow_Size:.5rem;--fdPopover_Body_Border_Radius:var(--fdPopover_Border_Radius);--fdPopover_Body_Box_Shadow:var(--sapContent_Shadow2);--fdPopover_Body_Box_Shadow_No_Arrow:var(--sapContent_Shadow1);--fdIcon_Button_Height:2.25rem;--fdIcon_Button_Width:2.25rem;--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Justify:flex-end;--fdPopover_Resize_Handle_Transform_Scale:1;background:var(--sapGroup_ContentBackground);border:0;border-radius:var(--fdPopover_Body_Border_Radius);-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow);box-shadow:var(--fdPopover_Body_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;opacity:1;padding-block:0;padding-inline:0;position:absolute;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size));-webkit-transition:all .125s;transition:all .125s;visibility:visible;white-space:nowrap;z-index:1000}.fd-popover__body:after,.fd-popover__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\"\";font-size:inherit;position:absolute}.fd-popover__body:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1 + var(--fdPopover_Border_Width));z-index:1002}.fd-popover__body:after,.fd-popover__body:before{border-top:none;display:inline-block;height:0;width:0}.fd-popover__body:after{border-bottom:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1);z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.fd-popover__body ol:first-child li:first-child a:before,.fd-popover__body ol:first-child li:first-child:before,.fd-popover__body ul:first-child li:first-child a:before,.fd-popover__body ul:first-child li:first-child:before,.fd-popover__body-header>:first-child,.fd-popover__body>:first-child{border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body ol:last-child li:last-child a:before,.fd-popover__body ol:last-child li:last-child:before,.fd-popover__body ul:last-child li:last-child a:before,.fd-popover__body ul:last-child li:last-child:before,.fd-popover__body-footer>:last-child,.fd-popover__body>:last-child{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body[class*=-compact],.fd-popover__body[class*=-condensed],[class*=-compact] .fd-popover__body:not([class*=-cozy]),[class*=-condensed] .fd-popover__body:not([class*=-cozy]){--fdIcon_Button_Height:1.625rem;--fdIcon_Button_Width:2rem}.fd-popover__body--no-arrow{-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);top:var(--fdPopover_Offset)}.fd-popover__body--no-arrow:after,.fd-popover__body--no-arrow:before{display:none}.fd-popover__body,.fd-popover__body--left{left:0}.fd-popover__body--left[dir=rtl],.fd-popover__body[dir=rtl],[dir=rtl] .fd-popover__body,[dir=rtl] .fd-popover__body--left{left:auto;right:0}.fd-popover__body--left:before,.fd-popover__body:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left:after,.fd-popover__body:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:before,.fd-popover__body[dir=rtl]:before,[dir=rtl] .fd-popover__body--left:before,[dir=rtl] .fd-popover__body:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:after,.fd-popover__body[dir=rtl]:after,[dir=rtl] .fd-popover__body--left:after,[dir=rtl] .fd-popover__body:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--center{left:var(--fdPopover_Center_Offset);-webkit-transform:translateX(calc(var(--fdPopover_Center_Offset) * -1));transform:translate(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{left:auto;right:var(--fdPopover_Center_Offset);-webkit-transform:translateX(var(--fdPopover_Center_Offset));transform:translate(var(--fdPopover_Center_Offset))}.fd-popover__body--right{left:auto;right:0}.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body--right{left:0;right:auto}.fd-popover__body--right:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--right:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--right[dir=rtl]:before,[dir=rtl] .fd-popover__body--right:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--right[dir=rtl]:after,[dir=rtl] .fd-popover__body--right:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--before{left:auto!important;right:var(--fdPopover_Offset)!important;top:0}.fd-popover__body--after{left:var(--fdPopover_Offset)!important;right:auto!important;top:0}.fd-popover__body--middle{top:var(--fdPopover_Center_Offset);-webkit-transform:translateY(calc(var(--fdPopover_Center_Offset) * -1));transform:translateY(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--bottom{bottom:0;top:auto}.fd-popover__body--above{bottom:var(--fdPopover_Offset);top:auto}.fd-popover__body--arrow-bottom{bottom:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-bottom:before{border-bottom:none;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-bottom:after{border-bottom:none;border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;border-top:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-left{left:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-left:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-left:after,.fd-popover__body--arrow-left:before{border-left:none;display:inline-block;height:0;left:auto!important;right:100%!important;width:0}.fd-popover__body--arrow-left:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right{right:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-right:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right:after,.fd-popover__body--arrow-right:before{border-right:none;display:inline-block;height:0;left:100%!important;right:auto!important;width:0}.fd-popover__body--arrow-right:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-left:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-center:after,.fd-popover__body--arrow-x-center:before{left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-popover__body--arrow-x-center[dir=rtl]:after,.fd-popover__body--arrow-x-center[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-center:after,[dir=rtl] .fd-popover__body--arrow-x-center:before{left:auto;right:50%;-webkit-transform:translateX(50%);transform:translate(50%)}.fd-popover__body--arrow-x-end:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-end:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-x-end[dir=rtl]:after,[dir=rtl] .fd-popover__body--arrow-x-end:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-y-center:after,.fd-popover__body--arrow-y-center:before{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-popover__body--arrow-y-bottom:before,.fd-popover__body--arrow-y-end:before{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));top:auto}.fd-popover__body--arrow-y-bottom:after,.fd-popover__body--arrow-y-end:after{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));top:auto}.fd-popover__body--dropdown{width:-webkit-max-content;width:-moz-max-content;width:max-content}.fd-popover__body--dropdown-fill{display:block;max-width:40rem;width:calc(100% - var(--sapGroup_BorderWidth) * 2)}.fd-popover__body--static{position:relative;--fdPopover_Offset:0%;--fdPopover_Center_Offset:0%}.fd-popover__body.is-hidden,.fd-popover__body[aria-hidden=true]{opacity:0;visibility:hidden;z-index:-1}.fd-popover__body .fd-popover__body--hidden{display:none}.fd-popover__body--input-message-group{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover__body--inline-help{font-size:var(--sapFontSmallSize);padding-block:.75rem;padding-inline:.75rem}.fd-popover__body--inline-help-icon{--fdIcon_Button_Height:1.375rem;--fdIcon_Button_Width:1.375rem}.fd-popover__body.fd-popover__body--resizable[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Rotate_Angle:180deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Cursor:ne-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Rotate_Angle:-90deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--bottom,.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--middle{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Rotate_Angle:90deg;--fdPopover_Resize_Handle_Cursor:nw-resize}.fd-popover__resize-handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-ms-flex-pack:end;color:var(--sapButton_Lite_TextColor);cursor:var(--fdPopover_Resize_Handle_Cursor);font-size:1rem;inset:var(--fdPopover_Resize_Handle_Position_Top) var(--fdPopover_Resize_Handle_Position_Right) var(--fdPopover_Resize_Handle_Position_Bottom) var(--fdPopover_Resize_Handle_Position_Left);justify-content:flex-end;line-height:1rem;overflow:hidden;padding-block:.125rem;padding-inline:.125rem;position:absolute;-webkit-transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle));transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle))}.fd-popover__resize-handle:after,.fd-popover__resize-handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__resize-handle:after{content:\"\\e24f\";display:-webkit-box;display:-ms-flexbox;display:flex;font-family:SAP-icons;height:1rem;max-height:1rem;max-width:1rem;min-height:1rem;min-width:1rem;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;width:1rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:var(--fdPopover_Resize_Handle_Justify);-ms-flex-pack:var(--fdPopover_Resize_Handle_Justify);color:inherit;justify-content:var(--fdPopover_Resize_Handle_Justify);-webkit-transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale));transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale))}.fd-popover--slider{--fdPopover_Display:block}.fd-popover--input-message-group .fd-popover__body,.fd-popover--input-message-group .fd-popover__body--no-arrow{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover--full-width{width:100%}.fd-popover--btp .fd-popover__body{--fdPopover_Arrow_Size:.375rem;--fdPopover_Body_Border_Radius:.75rem;--fdPopover_Body_Box_Shadow:var(--sapMenu_Shadow2);border:none;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size) - .1875rem)}.fd-popover--btp .fd-popover__body--padding{padding-block:.75rem;padding-inline:.75rem}.fd-popover--btp .fd-popover__body-header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-header:after,.fd-popover--btp .fd-popover__body-header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-block:.75rem;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-content:after,.fd-popover--btp .fd-popover__body-content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content:only-child{margin-block:0;margin-inline:0}.fd-popover--btp .fd-popover__body-footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.1875rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.375rem;padding-inline:0}.fd-popover--btp .fd-popover__body-footer:after,.fd-popover--btp .fd-popover__body-footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-footer--center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}fd-popover-body{max-width:100%;max-height:100%}.fd-popover-custom{display:inline-block;max-width:100%}.fd-popover-custom--disabled .fd-popover__control{cursor:auto}.fd-popover__body{max-height:100%;max-width:100%;display:flex}.fd-popover__body .fd-popover__body-footer,.fd-popover__body .fd-popover__body-header{position:sticky;z-index:6}.fd-popover__body .fd-popover__body-footer{bottom:0}.fd-popover__body--hidden{display:none!important}.fd-popover__body--disable-transitions{transition:none!important;-webkit-transition:none!important}.fd-popover__body--inline-help.fd-inline-help__content{white-space:initial}.fd-popover__body.fd-form-message:before{width:auto;height:auto;position:relative;inset:0;border:none}.fd-popover__body>.fd-scrollbar{max-height:100%;max-width:100%;width:100%;border-radius:inherit}.fd-popover__body .fd-list{border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:first-child,.fd-popover__body .fd-list__item:first-of-type{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:last-child,.fd-popover__body .fd-list__item:last-of-type{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list{border-bottom:none}.fd-popover__body .fd-nested-list__item:first-child .fd-nested-list__content{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__item:last-child .fd-nested-list__link{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content.is-selected{border-bottom-right-radius:0;border-bottom-left-radius:0}.fd-popover__body .fd-side-nav,.fd-popover__body .fd-nested-list__item{border-right:none}.fd-popover__body .fd-side-nav:first-child,.fd-popover__body .fd-nested-list__item:first-child{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-side-nav:last-child,.fd-popover__body .fd-nested-list__item:last-child{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__resize-handle{-webkit-user-select:none;user-select:none}.cdk-overlay-container{z-index:1002}.cdk-overlay-pane{max-width:100%;max-height:100%}\n/*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ResizeHandleDirective, selector: "[fdkResizeHandle]" }, { kind: "directive", type: ResizeDirective, selector: "[fdkResize]", inputs: ["fdkResizeBoundary", "fdkResizeDisabled", "fdkResizeClass", "fdkResizeHandleLocation", "fdkResizeResizeHandleRef"], outputs: ["onResizeStart", "onResizeEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
385
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: PopoverBodyComponent, isStandalone: true, selector: "fd-popover-body", inputs: { minWidth: "minWidth", maxWidth: "maxWidth", minHeight: "minHeight", maxHeight: "maxHeight" }, host: { listeners: { "keyup": "bodyKeyupHandler($event)" } }, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], viewQueries: [{ propertyName: "_cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true }, { propertyName: "_scrollbar", first: true, predicate: ScrollbarDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"fd-popover__body fd-popover__body--static\"\n [class.fd-popover__body--no-arrow]=\"_noArrow\"\n [class.fd-popover__body--resizable]=\"_resizable\"\n [class]=\"_arrowClasses + ' ' + (_additionalBodyClass || '')\"\n [cdkTrapFocus]=\"_focusTrapped\"\n [style.min-width]=\"_popoverBodyMinWidth ? null : minWidth\"\n [style.max-width]=\"_maxWidth ? null : maxWidth\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n [style.max-width.px]=\"_maxWidth\"\n [style.min-width.px]=\"_popoverBodyMinWidth\"\n [style.width.px]=\"_popoverBodyWidth\"\n [attr.role]=\"_bodyRole\"\n [attr.id]=\"_bodyId\"\n fdkResize\n [fdkResizeDisabled]=\"!_resizable\"\n [fdkResizeClass]=\"'fd-popover__body--disable-transitions'\"\n [fdkResizeHandleLocation]=\"_resizeHandleLocation\"\n>\n @if (!_disableScrollbar) {\n <div fd-scrollbar class=\"fd-popover__wrapper\">\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n }\n @if (_resizable) {\n <span fdkResizeHandle class=\"fd-popover__resize-handle\"></span>\n }\n</div>\n<ng-template #renderer>\n <ng-content select=\"[fd-popover-body-header]\"></ng-content>\n <ng-content select=\"[fd-popover-body-subheader]\"></ng-content>\n <ng-content></ng-content>\n {{ text }}\n <ng-template [ngTemplateOutlet]=\"_templateToDisplay\"></ng-template>\n <ng-content select=\"[fd-popover-body-footer]\"></ng-content>\n</ng-template>\n", styles: ["body.fd-overlay-active:before{background:var(--fdModal_BackgroundColor);content:\"\";height:100vh;left:0;pointer-events:all;position:fixed;top:0;width:100vw;z-index:999}.fd-popover{--fdPopover_Display:inline-block;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdPopover_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-popover:after,.fd-popover:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__modal{position:relative;z-index:1000}.fd-popover__control{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-popover__control:after,.fd-popover__control:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__control:focus-visible{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-popover__control.is-expanded>*,.fd-popover__control[aria-expanded=true]>*{-webkit-margin-after:0;margin-block-end:0}.fd-popover__control.is-expanded+.fd-popover__body--input-message-group,.fd-popover__control[aria-expanded=true]+.fd-popover__body--input-message-group{margin-top:0}.fd-popover__control.is-disabled,.fd-popover__control:disabled,.fd-popover__control[aria-disabled=true]{pointer-events:none}.fd-popover__wrapper{border-radius:var(--fdPopover_Body_Border_Radius);overflow:auto;position:relative;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-popover__wrapper.is-focus,.fd-popover__wrapper:focus{outline:none;z-index:5}.fd-popover__wrapper::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb:active,.fd-popover__wrapper::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-corner,.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-corner,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-popover__wrapper--visible{overflow:visible!important}.fd-popover__body{--fdPopover_Offset:100%;--fdPopover_Center_Offset:50%;--fdPopover_Arrow_Size:.5rem;--fdPopover_Body_Border_Radius:var(--fdPopover_Border_Radius);--fdPopover_Body_Box_Shadow:var(--sapContent_Shadow2);--fdPopover_Body_Box_Shadow_No_Arrow:var(--sapContent_Shadow1);--fdIcon_Button_Height:2.25rem;--fdIcon_Button_Width:2.25rem;--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Justify:flex-end;--fdPopover_Resize_Handle_Transform_Scale:1;background:var(--sapGroup_ContentBackground);border:0;border-radius:var(--fdPopover_Body_Border_Radius);-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow);box-shadow:var(--fdPopover_Body_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;opacity:1;padding-block:0;padding-inline:0;position:absolute;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size));-webkit-transition:all .125s;transition:all .125s;visibility:visible;white-space:nowrap;z-index:1000}.fd-popover__body:after,.fd-popover__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\"\";font-size:inherit;position:absolute}.fd-popover__body:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1 + var(--fdPopover_Border_Width));z-index:1002}.fd-popover__body:after,.fd-popover__body:before{border-top:none;display:inline-block;height:0;width:0}.fd-popover__body:after{border-bottom:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1);z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.fd-popover__body ol:first-child li:first-child a:before,.fd-popover__body ol:first-child li:first-child:before,.fd-popover__body ul:first-child li:first-child a:before,.fd-popover__body ul:first-child li:first-child:before,.fd-popover__body-header>:first-child,.fd-popover__body>:first-child{border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body ol:last-child li:last-child a:before,.fd-popover__body ol:last-child li:last-child:before,.fd-popover__body ul:last-child li:last-child a:before,.fd-popover__body ul:last-child li:last-child:before,.fd-popover__body-footer>:last-child,.fd-popover__body>:last-child{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body[class*=-compact],.fd-popover__body[class*=-condensed],[class*=-compact] .fd-popover__body:not([class*=-cozy]),[class*=-condensed] .fd-popover__body:not([class*=-cozy]){--fdIcon_Button_Height:1.625rem;--fdIcon_Button_Width:2rem}.fd-popover__body--no-arrow{-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);top:var(--fdPopover_Offset)}.fd-popover__body--no-arrow:after,.fd-popover__body--no-arrow:before{display:none}.fd-popover__body,.fd-popover__body--left{left:0}.fd-popover__body--left[dir=rtl],.fd-popover__body[dir=rtl],[dir=rtl] .fd-popover__body,[dir=rtl] .fd-popover__body--left{left:auto;right:0}.fd-popover__body--left:before,.fd-popover__body:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left:after,.fd-popover__body:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:before,.fd-popover__body[dir=rtl]:before,[dir=rtl] .fd-popover__body--left:before,[dir=rtl] .fd-popover__body:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:after,.fd-popover__body[dir=rtl]:after,[dir=rtl] .fd-popover__body--left:after,[dir=rtl] .fd-popover__body:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--center{left:var(--fdPopover_Center_Offset);-webkit-transform:translateX(calc(var(--fdPopover_Center_Offset) * -1));transform:translate(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{left:auto;right:var(--fdPopover_Center_Offset);-webkit-transform:translateX(var(--fdPopover_Center_Offset));transform:translate(var(--fdPopover_Center_Offset))}.fd-popover__body--right{left:auto;right:0}.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body--right{left:0;right:auto}.fd-popover__body--right:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--right:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--right[dir=rtl]:before,[dir=rtl] .fd-popover__body--right:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--right[dir=rtl]:after,[dir=rtl] .fd-popover__body--right:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--before{left:auto!important;right:var(--fdPopover_Offset)!important;top:0}.fd-popover__body--after{left:var(--fdPopover_Offset)!important;right:auto!important;top:0}.fd-popover__body--middle{top:var(--fdPopover_Center_Offset);-webkit-transform:translateY(calc(var(--fdPopover_Center_Offset) * -1));transform:translateY(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--bottom{bottom:0;top:auto}.fd-popover__body--above{bottom:var(--fdPopover_Offset);top:auto}.fd-popover__body--arrow-bottom{bottom:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-bottom:before{border-bottom:none;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-bottom:after{border-bottom:none;border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;border-top:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-left{left:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-left:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-left:after,.fd-popover__body--arrow-left:before{border-left:none;display:inline-block;height:0;left:auto!important;right:100%!important;width:0}.fd-popover__body--arrow-left:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right{right:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-right:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right:after,.fd-popover__body--arrow-right:before{border-right:none;display:inline-block;height:0;left:100%!important;right:auto!important;width:0}.fd-popover__body--arrow-right:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-left:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-center:after,.fd-popover__body--arrow-x-center:before{left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-popover__body--arrow-x-center[dir=rtl]:after,.fd-popover__body--arrow-x-center[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-center:after,[dir=rtl] .fd-popover__body--arrow-x-center:before{left:auto;right:50%;-webkit-transform:translateX(50%);transform:translate(50%)}.fd-popover__body--arrow-x-end:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-end:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-x-end[dir=rtl]:after,[dir=rtl] .fd-popover__body--arrow-x-end:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-y-center:after,.fd-popover__body--arrow-y-center:before{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-popover__body--arrow-y-bottom:before,.fd-popover__body--arrow-y-end:before{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));top:auto}.fd-popover__body--arrow-y-bottom:after,.fd-popover__body--arrow-y-end:after{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));top:auto}.fd-popover__body--dropdown{width:-webkit-max-content;width:-moz-max-content;width:max-content}.fd-popover__body--dropdown-fill{display:block;max-width:40rem;width:calc(100% - var(--sapGroup_BorderWidth) * 2)}.fd-popover__body--static{position:relative;--fdPopover_Offset:0%;--fdPopover_Center_Offset:0%}.fd-popover__body.is-hidden,.fd-popover__body[aria-hidden=true]{opacity:0;visibility:hidden;z-index:-1}.fd-popover__body .fd-popover__body--hidden{display:none}.fd-popover__body--input-message-group{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover__body--inline-help{font-size:var(--sapFontSmallSize);padding-block:.75rem;padding-inline:.75rem}.fd-popover__body--inline-help-icon{--fdIcon_Button_Height:1.375rem;--fdIcon_Button_Width:1.375rem}.fd-popover__body.fd-popover__body--resizable[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Rotate_Angle:180deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Cursor:ne-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Rotate_Angle:-90deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:0;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:0;--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:0;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--bottom,.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--middle{--fdPopover_Resize_Handle_Position_Top:0;--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Rotate_Angle:90deg;--fdPopover_Resize_Handle_Cursor:nw-resize}.fd-popover__resize-handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-ms-flex-pack:end;color:var(--sapButton_Lite_TextColor);cursor:var(--fdPopover_Resize_Handle_Cursor);font-size:1rem;inset:var(--fdPopover_Resize_Handle_Position_Top) var(--fdPopover_Resize_Handle_Position_Right) var(--fdPopover_Resize_Handle_Position_Bottom) var(--fdPopover_Resize_Handle_Position_Left);justify-content:flex-end;line-height:1rem;overflow:hidden;padding-block:.125rem;padding-inline:.125rem;position:absolute;-webkit-transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle));transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle))}.fd-popover__resize-handle:after,.fd-popover__resize-handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__resize-handle:after{content:\"\\e24f\";display:-webkit-box;display:-ms-flexbox;display:flex;font-family:SAP-icons;height:1rem;max-height:1rem;max-width:1rem;min-height:1rem;min-width:1rem;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;width:1rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:var(--fdPopover_Resize_Handle_Justify);-ms-flex-pack:var(--fdPopover_Resize_Handle_Justify);color:inherit;justify-content:var(--fdPopover_Resize_Handle_Justify);-webkit-transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale));transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale))}.fd-popover--slider{--fdPopover_Display:block}.fd-popover--input-message-group .fd-popover__body,.fd-popover--input-message-group .fd-popover__body--no-arrow{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover--full-width{width:100%}.fd-popover--btp .fd-popover__body{--fdPopover_Arrow_Size:.375rem;--fdPopover_Body_Border_Radius:.75rem;--fdPopover_Body_Box_Shadow:var(--sapMenu_Shadow2);border:none;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size) - .1875rem)}.fd-popover--btp .fd-popover__body--padding{padding-block:.75rem;padding-inline:.75rem}.fd-popover--btp .fd-popover__body-header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-header:after,.fd-popover--btp .fd-popover__body-header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-block:.75rem;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-content:after,.fd-popover--btp .fd-popover__body-content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content:only-child{margin-block:0;margin-inline:0}.fd-popover--btp .fd-popover__body-footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.1875rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.375rem;padding-inline:0}.fd-popover--btp .fd-popover__body-footer:after,.fd-popover--btp .fd-popover__body-footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-footer--center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}fd-popover-body{max-width:100%;max-height:100%}.fd-popover-custom{display:inline-block;max-width:100%}.fd-popover-custom--disabled .fd-popover__control{cursor:auto}.fd-popover__body{max-height:100%;max-width:100%;display:flex}.fd-popover__body .fd-popover__body-footer,.fd-popover__body .fd-popover__body-header{position:sticky;z-index:6}.fd-popover__body .fd-popover__body-footer{bottom:0}.fd-popover__body--hidden{display:none!important}.fd-popover__body--disable-transitions{transition:none!important;-webkit-transition:none!important}.fd-popover__body--inline-help.fd-inline-help__content{white-space:initial}.fd-popover__body.fd-form-message:before{width:auto;height:auto;position:relative;inset:0;border:none}.fd-popover__body>.fd-scrollbar{max-height:100%;max-width:100%;width:100%;border-radius:inherit}.fd-popover__body .fd-list{border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:first-child,.fd-popover__body .fd-list__item:first-of-type{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:last-child,.fd-popover__body .fd-list__item:last-of-type{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list{border-bottom:none}.fd-popover__body .fd-nested-list__item:first-child .fd-nested-list__content{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__item:last-child .fd-nested-list__link{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content.is-selected{border-bottom-right-radius:0;border-bottom-left-radius:0}.fd-popover__body .fd-side-nav,.fd-popover__body .fd-nested-list__item{border-right:none}.fd-popover__body .fd-side-nav:first-child,.fd-popover__body .fd-nested-list__item:first-child{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-side-nav:last-child,.fd-popover__body .fd-nested-list__item:last-child{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__resize-handle{-webkit-user-select:none;user-select:none}.cdk-overlay-container{z-index:1002}.cdk-overlay-pane{max-width:100%;max-height:100%}\n/*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ResizeHandleDirective, selector: "[fdkResizeHandle]" }, { kind: "directive", type: ResizeDirective, selector: "[fdkResize]", inputs: ["fdkResizeBoundary", "fdkResizeDisabled", "fdkResizeClass", "fdkResizeHandleLocation", "fdkResizeResizeHandleRef"], outputs: ["onResizeStart", "onResizeEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
394
386
|
}
|
|
395
387
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: PopoverBodyComponent, decorators: [{
|
|
396
388
|
type: Component,
|
|
@@ -412,9 +404,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
412
404
|
}], bodyKeyupHandler: [{
|
|
413
405
|
type: HostListener,
|
|
414
406
|
args: ['keyup', ['$event']]
|
|
415
|
-
}], onClick: [{
|
|
416
|
-
type: HostListener,
|
|
417
|
-
args: ['document:click', ['$event.target']]
|
|
418
407
|
}] } });
|
|
419
408
|
|
|
420
409
|
class PopoverContainerDirective {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-popover.mjs","sources":["../../../../libs/core/popover/base/base-popover.class.ts","../../../../libs/core/popover/popover-body.directive.ts","../../../../libs/core/popover/popover-body/popover-body-directives/popover-body-footer.directive.ts","../../../../libs/core/popover/popover-body/popover-body-directives/popover-body-header.directive.ts","../../../../libs/core/popover/popover-body/popover-body.component.ts","../../../../libs/core/popover/popover-body/popover-body.component.html","../../../../libs/core/popover/popover-container/popover-container.directive.ts","../../../../libs/core/popover/popover-control/popover-control.component.ts","../../../../libs/core/popover/popover.interface.ts","../../../../libs/core/popover/popover-mobile/popover-mobile.component.ts","../../../../libs/core/popover/popover-mobile/popover-mobile.component.html","../../../../libs/core/popover/popover-mobile/popover-mobile.module.ts","../../../../libs/core/popover/popover-service/popover.service.ts","../../../../libs/core/popover/popover-trigger.directive.ts","../../../../libs/core/popover/tokens.ts","../../../../libs/core/popover/popover.component.ts","../../../../libs/core/popover/popover.component.html","../../../../libs/core/popover/popover.module.ts","../../../../libs/core/popover/fundamental-ngx-core-popover.ts"],"sourcesContent":["import { ConnectedPosition, ScrollStrategy } from '@angular/cdk/overlay';\nimport { Directive, ElementRef, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\n\n@Directive()\nexport class BasePopoverClass {\n /** Whether to close the popover on router navigation start. */\n @Input()\n closeOnNavigation = true;\n\n /** Whether the popover is disabled. */\n @Input()\n @HostBinding('class.fd-popover-custom--disabled')\n disabled = false;\n\n /** Maximum width of popover body in px, prevents from overextending body by `fillControlMode` */\n @Input()\n maxWidth: Nullable<number> = null;\n\n /** Whether the popover should have an arrow. */\n @Input()\n noArrow = true;\n\n /** Whether the popover container needs an extra class for styling. */\n @Input()\n additionalBodyClass: string | null = null;\n\n /** Classes that should be applied to fd-popover-body component directly. */\n @Input()\n additionalBodyComponentClasses: string | null = null;\n\n /** Whether the popover container needs an extra class for styling. */\n @Input()\n additionalTriggerClass: string | null = null;\n\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = true;\n\n /** Whether to wrap content with fd-scrollbar directive. */\n @Input()\n disableScrollbar = false;\n\n /**\n * The placement of the popover.\n * It can be one of:\n * top, top-start, top-end, bottom, bottom-start, bottom-end,\n * right, right-start, right-end, left, left-start, left-end.\n */\n @Input()\n placement: Placement | null = null;\n\n /**\n * The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp) or a config object for the corresponding event.\n * Using the config object allows to specify whether an event should apply both for open and close actions or only some of them.\n *\n * If array of triggers consists only of one event, it will be treated at a toggle event (open and close)\n * If array of trigger consists of more than one event, each odd event will be treated as an open event for the popover,\n * and each even event will be treated as closing event for the popover.\n *\n * Consider the following value for `triggers`:\n * ```\n * [\n * 'click' // basically it's an alias for \"{ trigger: 'click', openAction: true, closeAction: true }\"\n * ]\n * ```\n * ```\n * [\n * 'mouseenter' // Shortcut for \"{ trigger: 'mouseenter', openAction: true, closeAction: false }\", and will only open the popover.\n * 'mouseleave' // Shortcut for \"{ trigger: 'mouseleave', openAction: false, closeAction: true }\" and will only close the popover.\n * ]\n * ```\n * ```\n * [\n * { trigger: 'mouseenter', openAction: true, closeAction: true }, // \"mouseenter\" will toggle the popover.\n * { trigger: 'mouseleave', openAction: true, closeAction: true } // \"mouseleave\" will toggle the popover.\n * ]\n * ```\n *\n * @default ['click']\n */\n @Input()\n triggers: (string | TriggerConfig)[] = ['click'];\n\n /** Whether the popover is open. Can be used through two-way binding. */\n @Input()\n isOpen = false;\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n @Input()\n closeOnOutsideClick = true;\n\n /** Wether to apply a background overlay */\n @Input()\n applyOverlay = false;\n\n /** Whether the popover should be focusTrapped. */\n @Input()\n focusTrapped = false;\n\n /**\n * Whether the popover should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n @Input()\n focusAutoCapture = false;\n\n /**\n * Whether to move the focus after popover is closed to the last focused element before popover was opened.\n */\n @Input()\n restoreFocusOnClose = true;\n\n /**\n * Scroll strategy, there are 4 accepted\n * - CloseScrollStrategy\n * - NoopScrollStrategy\n * - BlockScrollStrategy\n * - RepositionScrollStrategy ( default )\n */\n @Input()\n scrollStrategy: ScrollStrategy | null = null;\n\n /**\n * List of positions options for overlay defined by angular CDK.\n * Positions will be taken in order, same like on array. If first position provided doesn't fit to window,\n * another will be used\n * More information can be found in https://material.angular.io/cdk/overlay/api\n */\n @Input()\n cdkPositions: ConnectedPosition[] | null = null;\n\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: Nullable<PopoverFillMode> = null;\n\n /** The element to which the overlay is attached. By default it is body */\n @Input()\n appendTo: Nullable<ElementRef | Element> = null;\n\n /** Placement of the popover element. */\n @Input()\n placementContainer: Nullable<ElementRef | Element>;\n\n /** Whether position shouldn't change, when popover approach the corner of page */\n @Input()\n fixedPosition = false;\n\n /** Whether the popover body is resizable. */\n @Input()\n resizable = false;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event emitted right before the popover is being opened.\n * Useful for cases when component inside popover body needs to be initialized right BEFORE the opening of the popover. */\n @Output()\n beforeOpen = new EventEmitter();\n\n /** @hidden Aria role for the popover body. */\n _bodyRole: string | null = null;\n\n /** @hidden ID for the popover body. */\n _bodyId: string | null = null;\n}\n\n/**\n * Config for the trigger event, which allows to specify\n * whether an event should apply both for open and close actions or only some of them\n */\nexport interface TriggerConfig {\n trigger: string;\n openAction: boolean;\n closeAction: boolean;\n stopPropagation?: boolean;\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[fdPopoverBody]',\n standalone: true\n})\nexport class PopoverBodyDirective {\n /**\n * The template to be used as the popover's body.\n **/\n readonly templateRef = inject<TemplateRef<void>>(TemplateRef);\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdPopoverBodyFooter], [fd-popover-body-footer]',\n standalone: true\n})\nexport class PopoverBodyFooterDirective {\n /** @hidden */\n @HostBinding('class.fd-popover__body-footer')\n fdPopoverBodyFooterClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdPopoverBodyHeader], [fd-popover-body-header]',\n standalone: true\n})\nexport class PopoverBodyHeaderDirective {\n /** @hidden */\n @HostBinding('class.fd-popover__body-header')\n fdPopoverBodyHeaderClass = true;\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { ESCAPE } from '@angular/cdk/keycodes';\nimport { CdkScrollable, ConnectionPositionPair } from '@angular/cdk/overlay';\n\nimport { Subject } from 'rxjs';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { KeyUtil, Nullable, ResizeDirective, ResizeHandleDirective } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\n\n/**\n * A component used to enforce a certain layout for the popover.\n * ```html\n * <fd-popover>\n * <fd-popover-control>Control Element</fd-popover-control>\n * <fd-popover-body>Popover Body</fd-popover-body>\n * </fd-popover>\n * ```\n */\n@Component({\n selector: 'fd-popover-body',\n templateUrl: './popover-body.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './popover-body.component.scss',\n providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })],\n standalone: true,\n imports: [A11yModule, CdkScrollable, ScrollbarDirective, NgTemplateOutlet, ResizeHandleDirective, ResizeDirective]\n})\nexport class PopoverBodyComponent implements AfterViewInit {\n /** Minimum width of the popover body element. */\n @Input()\n minWidth: Nullable<string>;\n\n /** Maximum width of the popover body element. */\n @Input()\n maxWidth: Nullable<string>;\n\n /** Minimum height of the popover body element. */\n @Input()\n minHeight: Nullable<string>;\n\n /** Maximum height of the popover body element. */\n @Input()\n maxHeight: Nullable<string>;\n\n /** @hidden */\n @ViewChild(CdkTrapFocus)\n _cdkTrapFocus: CdkTrapFocus;\n\n /** @hidden */\n @ViewChild(ScrollbarDirective)\n _scrollbar: ScrollbarDirective;\n\n /** Whether to wrap content with fd-scrollbar directive. */\n _disableScrollbar = false;\n\n /** Whether the popover should have an arrow. */\n _noArrow = true;\n\n /** Whether the popover container needs an extra class for styling. */\n _additionalBodyClass: Nullable<string>;\n\n /** Whether the popover should be focusTrapped. */\n _focusTrapped = false;\n\n /**\n * Whether the popover should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n _focusAutoCapture = false;\n\n /** @hidden Property bind to popover's body. */\n _popoverBodyWidth: number;\n\n /** @hidden Property bind to popover's body. */\n _popoverBodyMinWidth: number;\n\n /** @hidden Property bind to popover's body. */\n _maxWidth: Nullable<number>;\n\n /** @hidden Property bind to popover's body. */\n _closeOnEscapeKey = false;\n\n /** @hidden Aria role for the popover body. */\n _bodyRole: Nullable<string> = null;\n\n /** @hidden Aria role for the popover body. */\n _bodyId: Nullable<string> = null;\n\n /** Classes added to arrow element. */\n _arrowClasses = '';\n\n /** @hidden text rendered inside popover's body. */\n text: Nullable<string> = null;\n\n /** @hidden template rendered inside popover's body. */\n _templateToDisplay: TemplateRef<any>;\n\n /** @hidden Whether the popover body is resizable. */\n _resizable = false;\n\n /** @hidden */\n _resizeHandleLocation: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' = 'bottom-right';\n\n /** Close event from popover body */\n onClose = new Subject<void>();\n\n /** @hidden */\n private _bodyComponentClasses: string | null = null;\n\n /** @hidden */\n constructor(\n readonly _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private readonly _renderer: Renderer2,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** Handler escape keydown */\n @HostListener('keyup', ['$event'])\n bodyKeyupHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, ESCAPE) && this._closeOnEscapeKey) {\n // In case if popover belongs to the element inside dialog\n event.stopPropagation();\n this.onClose.next();\n }\n }\n\n /** Handler for focus when clicking outside */\n @HostListener('document:click', ['$event.target'])\n onClick(targetElement: HTMLElement): void {\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n if (!clickedInside) {\n // Call the focus logic if clicked outside the popover\n this._focusFirstTabbableElement();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this._scrollbar) {\n this._scrollbar._inPopover = true;\n }\n }\n\n /** @hidden */\n _setBodyComponentClasses(classes: string | null): void {\n this._bodyComponentClasses?.split(' ').forEach((klass) => {\n this._renderer.removeClass(this._elementRef.nativeElement, klass);\n });\n this._bodyComponentClasses = classes;\n if (!this._bodyComponentClasses) {\n return;\n }\n this._bodyComponentClasses.split(' ').forEach((klass) => {\n this._renderer.addClass(this._elementRef.nativeElement, klass);\n });\n }\n\n /** @hidden */\n _setArrowStyles(position: ConnectionPositionPair, rtl: 'rtl' | 'ltr'): void {\n this._resizeHandleLocation = `${position.overlayY === 'top' ? 'bottom' : 'top'}-${\n position.overlayX === 'start' ? 'right' : 'left'\n }`;\n if (this._noArrow) {\n this._arrowClasses = '';\n return;\n }\n\n let arrowClasses: string[] = [];\n\n if (\n position.overlayY !== position.originY &&\n position.originY !== 'center' &&\n position.overlayY !== 'center' &&\n position.overlayX === position.originX\n ) {\n arrowClasses = [\n `fd-popover__body--${position.overlayY === 'top' ? 'below' : 'above'}`,\n `fd-popover__body--${position.overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--arrow-${position.overlayY}`,\n `fd-popover__body--arrow-x-${position.originX}`\n ];\n } else if (\n position.overlayX !== position.originX &&\n position.overlayX !== 'center' &&\n position.originX !== 'center' &&\n position.originY === position.overlayY\n ) {\n let overlayX = position.overlayX;\n if (rtl === 'rtl') {\n overlayX = position.overlayX === 'end' ? 'start' : 'end';\n }\n arrowClasses = [\n `fd-popover__body--${overlayX === 'start' ? 'after' : 'before'}`,\n `fd-popover__body--${overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--${position.overlayY === 'center' ? 'middle' : position.overlayY}`,\n `fd-popover__body--arrow-${overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--arrow-y-${position.originY} `\n ];\n } else {\n arrowClasses = ['fd-popover__body--no-arrow'];\n }\n\n this._arrowClasses = arrowClasses.join(' ');\n\n this.detectChanges();\n }\n\n /** @hidden */\n detectChanges(): void {\n if (!this._changeDetectorRef['destroyed']) {\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** @hidden */\n _focusFirstTabbableElement(forced = false): void {\n if (forced || this._focusAutoCapture) {\n this._cdkTrapFocus.focusTrap.focusFirstTabbableElement();\n }\n }\n}\n","<div\n class=\"fd-popover__body fd-popover__body--static\"\n [class.fd-popover__body--no-arrow]=\"_noArrow\"\n [class.fd-popover__body--resizable]=\"_resizable\"\n [class]=\"_arrowClasses + ' ' + (_additionalBodyClass || '')\"\n [cdkTrapFocus]=\"_focusTrapped\"\n [style.min-width]=\"_popoverBodyMinWidth ? null : minWidth\"\n [style.max-width]=\"_maxWidth ? null : maxWidth\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n [style.max-width.px]=\"_maxWidth\"\n [style.min-width.px]=\"_popoverBodyMinWidth\"\n [style.width.px]=\"_popoverBodyWidth\"\n [attr.role]=\"_bodyRole\"\n [attr.id]=\"_bodyId\"\n fdkResize\n [fdkResizeDisabled]=\"!_resizable\"\n [fdkResizeClass]=\"'fd-popover__body--disable-transitions'\"\n [fdkResizeHandleLocation]=\"_resizeHandleLocation\"\n>\n @if (!_disableScrollbar) {\n <div fd-scrollbar class=\"fd-popover__wrapper\">\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n }\n @if (_resizable) {\n <span fdkResizeHandle class=\"fd-popover__resize-handle\"></span>\n }\n</div>\n<ng-template #renderer>\n <ng-content select=\"[fd-popover-body-header]\"></ng-content>\n <ng-content select=\"[fd-popover-body-subheader]\"></ng-content>\n <ng-content></ng-content>\n {{ text }}\n <ng-template [ngTemplateOutlet]=\"_templateToDisplay\"></ng-template>\n <ng-content select=\"[fd-popover-body-footer]\"></ng-content>\n</ng-template>\n","import { DestroyRef, Directive, ElementRef, OnInit, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: '[fdPopoverContainer]',\n standalone: true\n})\nexport class PopoverContainerDirective implements OnInit {\n /** Subject which emits when popover position refresh is required. */\n refreshPosition$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(private _elmRef: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n ngOnInit(): void {\n resizeObservable(this._elmRef.nativeElement)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this.refreshPosition$.next();\n });\n }\n}\n","import { AfterContentChecked, ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component used to enforce a certain layout for the popover.\n * ```html\n * <fd-popover>\n * <fd-popover-control>Control Element</fd-popover-control>\n * <fd-popover-body>Popover Body</fd-popover-body>\n * </fd-popover>\n * ```\n */\n@Component({\n selector: 'fd-popover-control, [fdPopoverControl]',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class PopoverControlComponent implements AfterContentChecked {\n /** @hidden */\n _tabbable = false;\n\n /** @hidden */\n constructor(public elRef: ElementRef) {}\n\n /** @hidden */\n ngAfterContentChecked(): void {\n if (this._tabbable) {\n this.makeTabbable();\n }\n }\n\n /** @hidden */\n makeTabbable(): void {\n const elemChild = this.elRef.nativeElement.children[0];\n if (elemChild && elemChild.getAttribute('tabindex') !== '-1') {\n elemChild.tabIndex = '0';\n }\n }\n}\n","import { EventEmitter, InjectionToken } from '@angular/core';\nimport { DialogConfig } from '@fundamental-ngx/core/dialog';\nimport { MobileMode } from '@fundamental-ngx/core/mobile-mode';\n\nexport const POPOVER_COMPONENT = new InjectionToken<PopoverInterface>('PopoverInterface');\n\n/**\n * Popover Interface to have typing and avoid circular dependency between\n * PopoverComponent <==> PopoverMobileComponent\n */\nexport interface PopoverInterface extends MobileMode {\n dialogConfig: DialogConfig;\n isOpenChange: EventEmitter<boolean>;\n\n close(): void;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { Subscription } from 'rxjs';\n\nimport { CdkScrollable } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { MobileModeBase, MobileModeControl } from '@fundamental-ngx/core/mobile-mode';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { PopoverChildContent } from '../popover-child-content.interface';\nimport { POPOVER_COMPONENT, PopoverInterface } from '../popover.interface';\n\nlet mobilePopoverUniqueId = 0;\n\n@Component({\n selector: 'fd-popover-mobile',\n templateUrl: './popover-mobile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [DialogModule, TitleComponent, CdkScrollable, ScrollbarDirective, NgTemplateOutlet]\n})\nexport class PopoverMobileComponent extends MobileModeBase<PopoverInterface> implements OnInit, OnDestroy {\n /** @hidden */\n @ViewChild('dialogTemplate')\n _dialogTemplate: TemplateRef<any>;\n\n /** @hidden\n * from mobile class can not prefix _,\n * to avoid build issues\n */\n childContent?: PopoverChildContent = undefined;\n\n /** Current popover title */\n title: string;\n /** Dialog body content */\n viewBody: TemplateRef<any> | null;\n\n /** Dialog footer content */\n viewFooter: TemplateRef<any> | null;\n\n /** @hidden */\n readonly id = 'fd-popover-mobile-' + mobilePopoverUniqueId++;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n get titleId(): string {\n return this.id + '-title';\n }\n\n /** @hidden */\n constructor(\n private _changeDetectorref: ChangeDetectorRef,\n @Inject(POPOVER_COMPONENT) _popoverComponent: PopoverInterface\n ) {\n super(_popoverComponent, MobileModeControl.POPOVER);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._listenOnPopoverOpenChange();\n\n this.title = this.mobileConfig.title || '';\n this.viewBody = this.childContent?.popoverBodyContentTemplate ?? null;\n this.viewFooter = this.childContent?.popoverFooterContentTemplate ?? null;\n\n this._changeDetectorref.markForCheck();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.dialogRef?.close();\n this._subscriptions.unsubscribe();\n }\n\n /** Closes the Dialog and Popover component */\n close(): void {\n this.dialogRef.close();\n this._component.close();\n }\n\n /** @hidden Opens/closes the Dialog based on Popover isOpenChange events */\n private _listenOnPopoverOpenChange(): void {\n this._subscriptions.add(\n this._component.isOpenChange.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((isOpen) => {\n if (isOpen) {\n this._openDialog();\n } else {\n this.dialogRef.hide(true);\n }\n })\n );\n }\n\n /** @hidden Opens the Dialog */\n private _openDialog(): void {\n this.dialogRef = this._dialogService.open(this._dialogTemplate, {\n verticalPadding: true,\n horizontalPadding: true,\n ...this.dialogConfig,\n mobile: true,\n focusTrapped: true,\n escKeyCloseable: false,\n backdropClickCloseable: false,\n container: this._elementRef.nativeElement,\n responsivePadding: true,\n ariaLabelledBy: this.titleId\n });\n }\n}\n","<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" data-mobile-popover>\n <fd-dialog-header>\n <h1 fd-title [id]=\"titleId\">{{ title }}</h1>\n @if (this.mobileConfig.hasCloseButton) {\n <button fd-dialog-close-button (click)=\"close()\"></button>\n }\n </fd-dialog-header>\n <fd-dialog-body>\n <ng-template [ngTemplateOutlet]=\"viewBody\"></ng-template>\n </fd-dialog-body>\n @if (viewFooter) {\n <fd-dialog-footer>\n <ng-template [ngTemplateOutlet]=\"viewFooter\"></ng-template>\n </fd-dialog-footer>\n }\n </fd-dialog>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { PopoverMobileComponent } from './popover-mobile.component';\n\n@NgModule({\n imports: [CommonModule, DialogModule, ButtonComponent, PopoverMobileComponent],\n exports: [PopoverMobileComponent],\n providers: [DynamicComponentService]\n})\nexport class PopoverMobileModule {}\n","import {\n ConnectedOverlayPositionChange,\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef,\n ViewportRuler\n} from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport {\n DestroyRef,\n ElementRef,\n Injectable,\n Injector,\n Optional,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n inject\n} from '@angular/core';\nimport { Observable, Subject, merge } from 'rxjs';\nimport { distinctUntilChanged, filter, startWith, takeUntil } from 'rxjs/operators';\n\nimport { Nullable, RtlService, destroyObservable, isOdd } from '@fundamental-ngx/cdk/utils';\nimport { GetDefaultPosition, PopoverPosition } from '@fundamental-ngx/core/shared';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BasePopoverClass, TriggerConfig } from '../base/base-popover.class';\nimport { PopoverBodyComponent } from '../popover-body/popover-body.component';\nimport { PopoverContainerDirective } from '../popover-container/popover-container.directive';\n\nconst MAX_BODY_SIZE = 99999999;\n\nexport interface PopoverTemplate {\n container: ViewContainerRef;\n popoverBody: PopoverBodyComponent;\n template: TemplateRef<any>;\n}\n\n@Injectable()\nexport class PopoverService extends BasePopoverClass {\n /** String content displayed inside popover body */\n stringContent: Nullable<string>;\n\n /** Template content displayed inside popover body */\n templateContent: Nullable<TemplateRef<any>>;\n\n /** @hidden */\n _onLoad = new Subject<ElementRef>();\n\n /** @hidden */\n _mobile = false;\n\n /** @hidden */\n private _eventRef: (() => void)[] = [];\n\n /** @hidden */\n private _overlayRef: OverlayRef;\n\n /** @hidden */\n private _refresh$: Observable<boolean | void>;\n\n /** @hidden */\n private _stopCloseListening$ = new Subject<void>();\n\n /** @hidden */\n private readonly _placementRefresh$ = new Subject<void>();\n\n /** @hidden */\n private _popoverBody: PopoverBodyComponent;\n\n /** @hidden */\n private _triggerElement: ElementRef<HTMLElement> | HTMLElement;\n\n /** @hidden */\n private _lastActiveElement: HTMLElement;\n\n /** @hidden */\n private _templateData: Nullable<PopoverTemplate>;\n\n /** @hidden */\n private _placementContainer: BasePopoverClass['placementContainer'];\n\n /** @hidden */\n private _ignoreTriggers = false;\n\n /** @hidden */\n private _modalBodyClass = 'fd-overlay-active';\n\n /** @hidden */\n private _modalTriggerClass = 'fd-popover__modal';\n\n /** @hidden */\n private _isModal = false;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private get _triggerHtmlElement(): HTMLElement {\n return this._triggerElement instanceof ElementRef ? this._triggerElement.nativeElement : this._triggerElement;\n }\n\n /** @hidden */\n constructor(\n private _overlay: Overlay,\n private _renderer: Renderer2,\n private _viewportRuler: ViewportRuler,\n private _injector: Injector,\n @Optional() private _rtlService: RtlService,\n @Optional() private readonly _popoverContainer: PopoverContainerDirective\n ) {\n super();\n\n /** Merge observables - close or destroy */\n this._refresh$ = merge(this.isOpenChange, destroyObservable(this._destroyRef));\n\n this._destroyRef.onDestroy(() => {\n this._removeTriggerListeners();\n if (this._overlayRef) {\n this._overlayRef.detach();\n this._overlayRef.dispose();\n }\n\n if (this._isModal) {\n this._removeOverlay(this._modalBodyClass, this._modalTriggerClass);\n }\n });\n }\n\n /**\n * Method initialising the popover service - should be called, after view is initialised, params:\n * - triggerElement - element, which is equivalent for cdkOverlayOrigin, or fd-popover-control,\n * by default to this element the popover body will lbe appended and events on this element will trigger\n * popover's toggle\n * - config - configuration object - in this case the intention is to use inheritance of BasePopoverClass in component\n * - templateData - in case of having already PopoverBodyComponent, there is way to pass container, template containing\n * PopoverComponent and PopoverComponent instance\n */\n initialise(\n triggerElement: ElementRef | HTMLElement,\n config?: BasePopoverClass,\n templateData?: PopoverTemplate | TemplateRef<void> | null\n ): void {\n if (templateData instanceof TemplateRef) {\n this.templateContent = templateData;\n } else {\n this._templateData = templateData;\n }\n this._triggerElement = triggerElement;\n\n if (config) {\n this.refreshConfiguration(config);\n }\n\n this._refreshTriggerListeners();\n\n if (this.isOpen) {\n this.open();\n }\n\n // If wrapper container height changes outside, refresh popover position.\n this._popoverContainer?.refreshPosition$.pipe(takeUntil(this._refresh$)).subscribe(() => {\n this.refreshPosition();\n });\n }\n\n /** Closes the popover. */\n close(focusActiveElement = true): void {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n\n const prevState = this.isOpen;\n this.isOpen = false;\n if (prevState !== this.isOpen) {\n this.isOpenChange.emit(this.isOpen);\n }\n\n this.checkModalBackground();\n this._focusLastActiveElementBeforeOpen(focusActiveElement);\n }\n\n /** Opens the popover. */\n open(): void {\n if ((!this._overlayRef || !this._overlayRef.hasAttached()) && !this.disabled && this._triggerElement) {\n this.beforeOpen.emit();\n const position = this._getPositionStrategy();\n this._overlayRef = this._overlay.create(this._getOverlayConfig(position));\n\n if (this._placementContainer) {\n const placementElement =\n this._placementContainer instanceof ElementRef\n ? this._placementContainer.nativeElement\n : this._placementContainer;\n\n placementElement.append(this._overlayRef.hostElement);\n }\n\n if (this._templateData) {\n this._attachTemplate();\n } else {\n this._attachBodyComponent();\n }\n\n this._stopCloseListening$.next();\n this._listenForPositionChange(position.positionChanges);\n\n if (this.fillControlMode) {\n this._listenOnResize();\n }\n\n const prevState = this.isOpen;\n this.isOpen = true;\n if (prevState !== this.isOpen) {\n this.isOpenChange.emit(this.isOpen);\n }\n\n this._detectChanges();\n\n this._listenOnClose();\n this._focusFirstTabbableElement();\n this._onLoad.next(this._getPopoverBody()._elementRef);\n this._overlayRef.updatePosition();\n }\n }\n\n /** method updating template or text inside rendered PopoverBody */\n updateContent(\n stringContent: Nullable<string> | Nullable<TemplateRef<any>>,\n templateContent: Nullable<TemplateRef<any>>\n ): void {\n templateContent = !templateContent\n ? typeof stringContent === 'string'\n ? null\n : stringContent\n : templateContent;\n stringContent = typeof stringContent === 'string' ? stringContent : null;\n this.stringContent = stringContent;\n this.templateContent = templateContent;\n if (this._getPopoverBody()) {\n this._passVariablesToBody();\n }\n }\n\n /** Changes background theming when modal */\n /** @hidden */\n checkModalBackground(): void {\n const isClosingConditions = (!this.closeOnOutsideClick || !this.closeOnEscapeKey) && this.applyOverlay;\n if (isClosingConditions && this.isOpen) {\n this._addModalOverlay(this._modalBodyClass, this._modalTriggerClass);\n } else if (isClosingConditions && !this.isOpen) {\n this._removeOverlay(this._modalBodyClass, this._modalTriggerClass);\n }\n }\n\n /** Toggles the popover open state */\n toggle(openAction = true, closeAction = true): void {\n if (this.isOpen) {\n closeAction && this.close();\n } else {\n openAction && this.open();\n this.checkModalBackground();\n }\n }\n\n /**\n * Method called to change position of popover,\n * recommended to be used only when popover is opened, otherwise change position or cdkPlacement\n */\n applyNewPosition(positions: ConnectedPosition[]): void {\n const refPosition = this._getPositionStrategy(positions);\n this._listenForPositionChange(refPosition.positionChanges);\n this._overlayRef.updatePositionStrategy(refPosition);\n }\n\n /** Method called to refresh position of opened popover */\n refreshPosition(): void {\n this._overlayRef?.updatePosition();\n }\n\n /** Temporary sets the ignoring of the event triggers. */\n setIgnoreTriggers(ignore: boolean): void {\n this._ignoreTriggers = ignore;\n }\n\n /**\n * Method that sets configuration/options, it detects if there is something changed and overwrites them\n */\n refreshConfiguration(config: BasePopoverClass): void {\n this._placementContainer = config.placementContainer;\n const onlyChanged = Object.keys(new BasePopoverClass()).filter((key) => this[key] !== config[key]);\n\n if (onlyChanged.includes('isOpen')) {\n if (config.isOpen) {\n this.open();\n } else {\n this.close();\n }\n }\n\n if (onlyChanged.includes('placementContainer')) {\n this._placementContainer = config.placementContainer;\n }\n\n /** TODO\n * This overriding is dangerous thing and leads to unexpected behavior\n * We have to avoid this.\n */\n onlyChanged.forEach((key) => (this[key] = config[key]));\n\n if (onlyChanged.includes('triggers')) {\n this._refreshTriggerListeners();\n }\n }\n\n /**\n * This method is intended to be called in order\n * to postpone the main functionality but be able\n * to enable it back in the future by initialise()\n */\n deactivate(): void {\n this._removeTriggerListeners();\n }\n\n /** Refresh listeners on trigger element events */\n _refreshTriggerListeners(): void {\n if (!this._triggerElement) {\n return;\n }\n\n this._removeTriggerListeners();\n\n if (this.triggers?.length) {\n this._normalizeTriggers().forEach((trigger) => {\n this._eventRef.push(\n this._renderer.listen(this._triggerHtmlElement, trigger.trigger, (event: Event) => {\n if (this._ignoreTriggers) {\n return;\n }\n const closeAction = !!trigger.closeAction;\n const openAction = !!trigger.openAction;\n this.toggle(openAction, closeAction);\n\n if (trigger.stopPropagation) {\n event.stopImmediatePropagation();\n }\n })\n );\n });\n }\n }\n\n /**\n * Updates trigger element and refreshes the listeners.\n * @param trigger Trigger element ref.\n */\n updateTriggerElement(trigger: ElementRef | HTMLElement): void {\n this._triggerElement = trigger;\n this._refreshTriggerListeners();\n }\n\n /** @hidden */\n private _normalizeTriggers(): TriggerConfig[] {\n return this.triggers.map((trigger, index) => {\n if (typeof trigger === 'object' && trigger.trigger) {\n return trigger;\n }\n\n const oddNumber = isOdd(index + 1);\n\n return {\n trigger,\n openAction: this.triggers.length === 1 || oddNumber,\n closeAction: this.triggers.length === 1 || !oddNumber,\n stopPropagation: false\n } as TriggerConfig;\n });\n }\n\n /** @hidden */\n private _getOverlayConfig(position: FlexibleConnectedPositionStrategy): OverlayConfig {\n const direction = this._getDirection();\n\n return new OverlayConfig({\n direction,\n disposeOnNavigation: this.closeOnNavigation,\n positionStrategy: position,\n scrollStrategy: this.scrollStrategy || this._overlay.scrollStrategies.reposition()\n });\n }\n\n /** @hidden */\n private _listenOnResize(): void {\n this._viewportRuler\n .change(15)\n .pipe(takeUntil(this._refresh$), startWith(1))\n .subscribe(() => this._applyWidthOverlay());\n }\n\n /** @hidden */\n private _getDirection(): 'rtl' | 'ltr' {\n if (!this._rtlService) {\n return 'ltr';\n }\n\n return this._rtlService.rtl.getValue() ? 'rtl' : 'ltr';\n }\n\n /** @hidden */\n private _getPositionStrategy(forcedPositions?: ConnectedPosition[]): FlexibleConnectedPositionStrategy {\n let resultPosition = forcedPositions ? forcedPositions : this._getPositions();\n\n if (!this.fixedPosition) {\n resultPosition = resultPosition.concat(GetDefaultPosition(resultPosition));\n }\n\n return this._overlay\n .position()\n .flexibleConnectedTo(this.appendTo || this._triggerElement)\n .withPositions(resultPosition)\n .withPush(false)\n .withGrowAfterOpen(true);\n }\n\n /** remove listeners from trigger element events */\n private _removeTriggerListeners(): void {\n this._eventRef.forEach((event) => event());\n this._eventRef = [];\n }\n\n private _addModalOverlay(bodyClass: string, triggerClass: string): void {\n this._renderer.addClass(document.body, bodyClass);\n this._renderer.addClass((this._triggerElement as ElementRef).nativeElement, triggerClass);\n this._isModal = true;\n }\n\n private _removeOverlay(bodyClass: string, triggerClass: string): void {\n this._renderer.removeClass(document.body, bodyClass);\n this._renderer.removeClass((this._triggerElement as ElementRef).nativeElement, triggerClass);\n this._isModal = false;\n }\n\n /** Attach template containing popover body to overlay */\n private _attachTemplate(): void {\n this._passVariablesToBody();\n if (this._templateData) {\n this._overlayRef.attach(new TemplatePortal(this._templateData.template, this._templateData.container));\n }\n }\n\n /** Create PopoverBodyComponent and attach it into overlay */\n private _attachBodyComponent(): void {\n const overlay = this._overlayRef.attach(new ComponentPortal(PopoverBodyComponent, null, this._injector));\n this._popoverBody = overlay.instance;\n this._passVariablesToBody();\n }\n\n /** @hidden */\n private _listenForPositionChange(positionChange: Observable<ConnectedOverlayPositionChange>): void {\n this._placementRefresh$.next();\n positionChange\n .pipe(\n filter(() => !this.noArrow && !!this._getPopoverBody()),\n distinctUntilChanged((previous, current) => previous.connectionPair === current.connectionPair),\n takeUntil(this._placementRefresh$),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((event) => this._getPopoverBody()._setArrowStyles(event.connectionPair, this._getDirection()));\n }\n\n /** Subscribe to close events from CDK Overlay, to throw proper events, change values */\n private _listenOnClose(): void {\n const closeEvents$ = merge(\n this._overlayRef.detachments(),\n this._getPopoverBody().onClose,\n this._outsideClicks$()\n );\n const finalizer$ = merge(this._stopCloseListening$, this._refresh$);\n closeEvents$.pipe(takeUntil(finalizer$)).subscribe(() => this.close());\n }\n\n /** Listener for click events */\n private _outsideClicks$(): Observable<MouseEvent> {\n return merge(this._overlayRef.backdropClick(), this._overlayRef._outsidePointerEvents).pipe(\n filter((event) => this._shouldClose(event))\n );\n }\n\n /** @hidden */\n private _shouldClose(event: MouseEvent): boolean {\n return (\n this.isOpen &&\n this.closeOnOutsideClick &&\n !this._triggerContainsTarget(event) &&\n !this._targetIsPopoverMobileDialog(event)\n );\n }\n\n /** @hidden */\n private _targetIsPopoverMobileDialog(event: MouseEvent): boolean {\n if (this._mobile) {\n let el = (event.target as HTMLElement).parentElement;\n while (el) {\n if (el.hasAttribute('data-mobile-popover')) {\n return true;\n } else {\n el = el.parentElement;\n }\n }\n }\n\n return false;\n }\n\n /** @hidden */\n private _getEventTarget(event: Event): EventTarget | null {\n return event.composedPath ? event.composedPath()[0] : event.target;\n }\n\n /** @hidden */\n private _triggerContainsTarget(event: Event): boolean {\n return this._triggerHtmlElement.contains(this._getEventTarget(event) as HTMLElement);\n }\n\n /** @hidden */\n private _getPositions(): ConnectedPosition[] {\n if (this.cdkPositions) {\n return this.cdkPositions;\n }\n\n if (this.placement) {\n return [PopoverPosition.getCdkPlacement(this.placement, this._getDirection())];\n }\n\n return [];\n }\n\n /** @hidden */\n private _applyWidthOverlay(): void {\n const maxWidthLimit = this.maxWidth ? this.maxWidth : MAX_BODY_SIZE;\n const width = Math.min(this._getTriggerWidth(), maxWidthLimit);\n if (this.fillControlMode === 'at-least') {\n this._getPopoverBody()._popoverBodyMinWidth = width;\n } else if (this.fillControlMode === 'equal') {\n this._getPopoverBody()._popoverBodyWidth = width;\n }\n this._detectChanges();\n }\n\n /** @hidden */\n private _passVariablesToBody(): void {\n const body = this._getPopoverBody();\n body.text = this.stringContent;\n body._additionalBodyClass = this.additionalBodyClass;\n body._focusTrapped = this.focusTrapped;\n body._maxWidth = this.maxWidth;\n body._noArrow = this.noArrow;\n body._focusAutoCapture = this.focusAutoCapture;\n body._disableScrollbar = this.disableScrollbar;\n body._templateToDisplay = this.templateContent!;\n body._closeOnEscapeKey = this.closeOnEscapeKey;\n body._bodyRole = this._bodyRole;\n body._bodyId = this._bodyId;\n body._resizable = this.resizable;\n body._setBodyComponentClasses(this.additionalBodyComponentClasses);\n this._detectChanges();\n }\n\n /** @hidden */\n private _getTriggerWidth(): number {\n return this._triggerHtmlElement.offsetWidth;\n }\n\n /** @hidden */\n private _getPopoverBody(): PopoverBodyComponent {\n return this._templateData?.popoverBody || this._popoverBody;\n }\n\n /** @hidden */\n private _detectChanges(): void {\n if (this._getPopoverBody()) {\n this._getPopoverBody().detectChanges();\n }\n }\n\n /** @hidden */\n private _focusFirstTabbableElement(focusLastElement = true): void {\n if (focusLastElement && this.focusAutoCapture) {\n this._lastActiveElement = <HTMLElement>document.activeElement;\n this._getPopoverBody()?._focusFirstTabbableElement();\n }\n }\n\n /** @hidden */\n private _focusLastActiveElementBeforeOpen(focusLastElement = true): void {\n if (focusLastElement && this.restoreFocusOnClose && this.focusAutoCapture && this._lastActiveElement) {\n this._lastActiveElement.focus();\n }\n }\n}\n","import { Directive, ElementRef, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { PopoverComponent } from './popover.component';\n\n@Directive({\n selector: '[fdPopoverTrigger], [fd-popover-trigger]',\n standalone: true\n})\nexport class PopoverTriggerDirective implements OnDestroy {\n /** Set reference to Popover Component */\n @Input('fdPopoverTrigger')\n set popover(popover: Nullable<PopoverComponent>) {\n if (popover) {\n popover.trigger = this._elementRef;\n this._listenOnExpanded(popover);\n }\n this._setAriaAttributes(popover);\n }\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n ariaHasPopup: Nullable<boolean>;\n\n /** @hidden */\n @HostBinding('attr.aria-controls')\n ariaControls: Nullable<string>;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n ariaExpanded: Nullable<boolean>;\n\n /** @hidden */\n private _isExpandedSubscription: Subscription;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._unsubscribeExpandedListener();\n }\n\n /** @hidden */\n private _listenOnExpanded(popover: PopoverComponent): void {\n this._unsubscribeExpandedListener();\n if (popover) {\n this._isExpandedSubscription = popover.isOpenChange\n .pipe(startWith(popover.isOpen))\n .subscribe((isOpen) => (this.ariaExpanded = isOpen));\n }\n }\n\n /** @hidden */\n private _setAriaAttributes(popover: Nullable<PopoverComponent>): void {\n this.ariaHasPopup = !!popover;\n this.ariaControls = popover ? popover.id : null;\n }\n\n /** @hidden */\n private _unsubscribeExpandedListener(): void {\n if (this._isExpandedSubscription) {\n this._isExpandedSubscription.unsubscribe();\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_POPOVER_COMPONENT = new InjectionToken('FdPopoverComponent');\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ContentChild,\n ElementRef,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DOWN_ARROW } from '@angular/cdk/keycodes';\nimport { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { DynamicComponentService, KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { MobileModeConfig } from '@fundamental-ngx/core/mobile-mode';\nimport equal from 'fast-deep-equal';\nimport { BasePopoverClass } from './base/base-popover.class';\nimport { PopoverBodyDirective } from './popover-body.directive';\nimport { PopoverBodyComponent } from './popover-body/popover-body.component';\nimport { PopoverControlComponent } from './popover-control/popover-control.component';\nimport { PopoverMobileComponent } from './popover-mobile/popover-mobile.component';\nimport { PopoverService, PopoverTemplate } from './popover-service/popover.service';\nimport { POPOVER_COMPONENT } from './popover.interface';\nimport { FD_POPOVER_COMPONENT } from './tokens';\n\nexport const SELECT_CLASS_NAMES = {\n selectControl: 'fd-select__control'\n};\n\nlet cdkPopoverUniqueId = 0;\n\n/**\n * The popover is a wrapping component that accepts a *control* as well as a *body*.\n * The control is what will trigger the opening of the actual popover, which is called the body.\n * By default, popovers are triggered by click. This can be customized through the *triggers* input.\n */\n@Component({\n selector: 'fd-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n PopoverService,\n {\n provide: FD_POPOVER_COMPONENT,\n useExisting: PopoverComponent\n },\n contentDensityObserverProviders()\n ],\n host: {\n class: 'fd-popover-custom',\n '[class.fd-popover-custom--mobile]': 'mobile',\n '[attr.id]': 'id'\n },\n standalone: true,\n imports: [CdkOverlayOrigin, NgTemplateOutlet]\n})\nexport class PopoverComponent\n extends BasePopoverClass\n implements AfterViewInit, AfterContentInit, OnDestroy, OnChanges\n{\n /** Tooltip for popover */\n @Input()\n title: string;\n\n /** Reference to popover trigger element */\n @Input()\n set trigger(trigger: ElementRef | HTMLElement) {\n if (equal(trigger, this._trigger)) {\n return;\n }\n this._trigger = trigger;\n this._popoverService.updateTriggerElement(this._trigger);\n }\n\n get trigger(): ElementRef | HTMLElement {\n return this._trigger;\n }\n\n /** Whether position shouldn't change, when popover approach the corner of page */\n @Input()\n fixedPosition = false;\n\n /** Id of the popover. If none is provided, one will be generated. */\n @Input()\n id: string = 'fd-popover-' + cdkPopoverUniqueId++;\n\n /** Whether the popover component should be displayed in mobile mode. */\n @Input()\n mobile = false;\n\n /** Config for the popover in mobile mode */\n @Input()\n mobileConfig: MobileModeConfig = { hasCloseButton: true };\n\n /**\n * Whether the popover should prevent page scrolling when space key is pressed.\n **/\n @Input()\n preventSpaceKeyScroll = true;\n\n /** @hidden */\n @ViewChild('templateRef', { read: TemplateRef })\n templateRef: TemplateRef<any>;\n\n /** @hidden */\n @ViewChild('container', { read: ViewContainerRef })\n container: ViewContainerRef;\n\n /** @hidden */\n @ViewChild(CdkOverlayOrigin)\n triggerOrigin: CdkOverlayOrigin;\n\n /** @hidden */\n @ContentChild(PopoverBodyComponent)\n popoverBody: PopoverBodyComponent;\n\n /** @hidden */\n @ContentChild(PopoverBodyDirective)\n popoverBodyDirective: PopoverBodyDirective;\n\n /** @hidden */\n @ContentChild(PopoverControlComponent)\n popoverControl: PopoverControlComponent;\n\n /** @hidden - template for Dialog body content */\n @ContentChild('popoverBodyContent')\n popoverBodyContentTemplate: TemplateRef<any>;\n\n /** @hidden - template for Dialog footer content */\n @ContentChild('popoverFooterContent')\n popoverFooterContentTemplate: TemplateRef<any>;\n\n /** @hidden */\n private get _triggerElement(): HTMLElement {\n return this._trigger instanceof ElementRef ? this._trigger.nativeElement : this._trigger;\n }\n\n /** @hidden */\n private _trigger: ElementRef | HTMLElement;\n\n /** @hidden */\n private _clickEventListener: null | (() => void);\n\n /** @hidden */\n private _mobileModeComponentRef: ComponentRef<PopoverMobileComponent>;\n\n /** @hidden */\n constructor(\n private readonly _popoverService: PopoverService,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _rendered: Renderer2,\n private readonly _viewContainerRef: ViewContainerRef,\n private readonly _injector: Injector,\n @Optional() private readonly _dynamicComponentService: DynamicComponentService\n ) {\n super();\n }\n\n /** @hidden */\n @HostListener('keydown.space', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n if (!this.preventSpaceKeyScroll) {\n return;\n }\n const activeElement = document.activeElement;\n if (\n // popoverControl will be undefined when popover is used from \"fdPopoverTrigger\"\n this.popoverControl?.elRef.nativeElement.children[0] === activeElement &&\n activeElement?.tagName !== 'INPUT' &&\n activeElement?.tagName !== 'TEXTAREA' &&\n !activeElement?.classList.contains(SELECT_CLASS_NAMES.selectControl)\n ) {\n // prevent page scrolling on Space keydown\n event.preventDefault();\n this._popoverService.toggle();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setupView();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.popoverControl && this.triggers.includes('click')) {\n this.popoverControl._tabbable = true;\n }\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n this._popoverService.refreshConfiguration(this);\n\n if (changes.disableScrollbar && this.popoverBody && this.popoverBody._scrollbar) {\n this.popoverBody._scrollbar._inPopover = changes.disableScrollbar.currentValue;\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._destroyMobileComponent();\n this._destroyEventListeners();\n }\n\n /** Toggles menu open/close state */\n toggle(): void {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /** Opens the popover. */\n open(): void {\n this._popoverService.open();\n this._cdr.markForCheck();\n }\n\n /** Closes the popover. */\n close(focusActiveElement = true): void {\n this._popoverService.close(focusActiveElement);\n this._cdr.markForCheck();\n }\n\n /** Temporary sets the ignoring of the event triggers. */\n setIgnoreTriggers(ignore: boolean): void {\n this._popoverService.setIgnoreTriggers(ignore);\n }\n\n /**\n * Method called to change position of popover,\n * recommended to be used only when popover is opened, otherwise change position or cdkPlacement\n */\n applyNewPosition(positions: ConnectedPosition[]): void {\n this._popoverService.applyNewPosition(positions);\n }\n\n /** Method called to refresh position of opened popover */\n refreshPosition(): void {\n this._popoverService.refreshPosition();\n }\n\n /** Handler for alt + arrow down keydown */\n triggerKeyDownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, DOWN_ARROW) && event.altKey && !this.disabled) {\n this.open();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n /** @hidden Select and instantiate popover view mode */\n private _setupView(): void {\n if (!this.mobile) {\n this._popoverService._mobile = false;\n if (!this.popoverBody) {\n this._popoverService.templateContent = this.templateRef;\n }\n this._popoverService.initialise(\n this._triggerElement || this.triggerOrigin.elementRef,\n this,\n this._getPopoverBodyContent()\n );\n } else {\n this._setupMobileMode();\n }\n\n this._cdr.detectChanges();\n }\n\n /**\n * Depending on a used popover body type, returns a popover body content\n **/\n private _getPopoverBodyContent(): PopoverTemplate | TemplateRef<void> | null {\n if (this.popoverBody) {\n return {\n template: this.templateRef,\n container: this.container,\n popoverBody: this.popoverBody\n };\n }\n if (this.popoverBodyDirective) {\n return this.popoverBodyDirective.templateRef;\n }\n return null;\n }\n\n /** @hidden Open Popover in mobile mode */\n private async _setupMobileMode(): Promise<void> {\n const injector = Injector.create({\n providers: [{ provide: POPOVER_COMPONENT, useValue: this }],\n parent: this._injector\n });\n\n this._popoverService._mobile = true;\n\n this._mobileModeComponentRef = this._dynamicComponentService.createDynamicComponent(\n {\n popoverBodyContentTemplate: this.popoverBodyContentTemplate,\n popoverFooterContentTemplate: this.popoverFooterContentTemplate\n },\n PopoverMobileComponent,\n {\n containerRef: this._viewContainerRef\n },\n { injector }\n );\n\n this._listenOnTriggerRefClicks();\n }\n\n /** @hidden - Listen on popover trigger ref clicks */\n private _listenOnTriggerRefClicks(): void {\n this._destroyEventListeners();\n\n if (this.trigger && this.mobile) {\n this._clickEventListener = this._rendered.listen(this._triggerElement, 'click', () => this.toggle());\n }\n }\n\n /**\n * @hidden\n * This is going to be removed in feature, on dialog and dynamic service component refactor\n */\n private _destroyEventListeners(): void {\n if (this._clickEventListener) {\n this._clickEventListener();\n this._clickEventListener = null;\n }\n }\n\n /** @hidden */\n private _destroyMobileComponent(): void {\n if (this._mobileModeComponentRef) {\n this._mobileModeComponentRef.destroy();\n }\n }\n}\n","@if (!trigger) {\n <div\n cdkOverlayOrigin\n class=\"fd-popover__control\"\n [class]=\"additionalTriggerClass\"\n (keydown)=\"triggerKeyDownHandler($event)\"\n >\n <ng-content select=\"fd-popover-control, [fdPopoverControl]\"></ng-content>\n </div>\n}\n<ng-template #templateRef>\n <ng-content select=\"fd-popover-body\"></ng-content>\n <ng-content></ng-content>\n</ng-template>\n<ng-container #container></ng-container>\n","import { NgModule } from '@angular/core';\n\nimport { PopoverBodyFooterDirective } from './popover-body/popover-body-directives/popover-body-footer.directive';\nimport { PopoverBodyHeaderDirective } from './popover-body/popover-body-directives/popover-body-header.directive';\nimport { PopoverBodyComponent } from './popover-body/popover-body.component';\nimport { PopoverControlComponent } from './popover-control/popover-control.component';\n\nimport { PopoverBodyDirective } from './popover-body.directive';\nimport { PopoverContainerDirective } from './popover-container/popover-container.directive';\nimport { PopoverTriggerDirective } from './popover-trigger.directive';\nimport { PopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [\n PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective\n ],\n exports: [\n PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective\n ]\n})\nexport class PopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3.PopoverContainerDirective","i1.PopoverService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-popover.mjs","sources":["../../../../libs/core/popover/base/base-popover.class.ts","../../../../libs/core/popover/popover-body.directive.ts","../../../../libs/core/popover/popover-body/popover-body-directives/popover-body-footer.directive.ts","../../../../libs/core/popover/popover-body/popover-body-directives/popover-body-header.directive.ts","../../../../libs/core/popover/popover-body/popover-body.component.ts","../../../../libs/core/popover/popover-body/popover-body.component.html","../../../../libs/core/popover/popover-container/popover-container.directive.ts","../../../../libs/core/popover/popover-control/popover-control.component.ts","../../../../libs/core/popover/popover.interface.ts","../../../../libs/core/popover/popover-mobile/popover-mobile.component.ts","../../../../libs/core/popover/popover-mobile/popover-mobile.component.html","../../../../libs/core/popover/popover-mobile/popover-mobile.module.ts","../../../../libs/core/popover/popover-service/popover.service.ts","../../../../libs/core/popover/popover-trigger.directive.ts","../../../../libs/core/popover/tokens.ts","../../../../libs/core/popover/popover.component.ts","../../../../libs/core/popover/popover.component.html","../../../../libs/core/popover/popover.module.ts","../../../../libs/core/popover/fundamental-ngx-core-popover.ts"],"sourcesContent":["import { ConnectedPosition, ScrollStrategy } from '@angular/cdk/overlay';\nimport { Directive, ElementRef, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\n\n@Directive()\nexport class BasePopoverClass {\n /** Whether to close the popover on router navigation start. */\n @Input()\n closeOnNavigation = true;\n\n /** Whether the popover is disabled. */\n @Input()\n @HostBinding('class.fd-popover-custom--disabled')\n disabled = false;\n\n /** Maximum width of popover body in px, prevents from overextending body by `fillControlMode` */\n @Input()\n maxWidth: Nullable<number> = null;\n\n /** Whether the popover should have an arrow. */\n @Input()\n noArrow = true;\n\n /** Whether the popover container needs an extra class for styling. */\n @Input()\n additionalBodyClass: string | null = null;\n\n /** Classes that should be applied to fd-popover-body component directly. */\n @Input()\n additionalBodyComponentClasses: string | null = null;\n\n /** Whether the popover container needs an extra class for styling. */\n @Input()\n additionalTriggerClass: string | null = null;\n\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = true;\n\n /** Whether to wrap content with fd-scrollbar directive. */\n @Input()\n disableScrollbar = false;\n\n /**\n * The placement of the popover.\n * It can be one of:\n * top, top-start, top-end, bottom, bottom-start, bottom-end,\n * right, right-start, right-end, left, left-start, left-end.\n */\n @Input()\n placement: Placement | null = null;\n\n /**\n * The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp) or a config object for the corresponding event.\n * Using the config object allows to specify whether an event should apply both for open and close actions or only some of them.\n *\n * If array of triggers consists only of one event, it will be treated at a toggle event (open and close)\n * If array of trigger consists of more than one event, each odd event will be treated as an open event for the popover,\n * and each even event will be treated as closing event for the popover.\n *\n * Consider the following value for `triggers`:\n * ```\n * [\n * 'click' // basically it's an alias for \"{ trigger: 'click', openAction: true, closeAction: true }\"\n * ]\n * ```\n * ```\n * [\n * 'mouseenter' // Shortcut for \"{ trigger: 'mouseenter', openAction: true, closeAction: false }\", and will only open the popover.\n * 'mouseleave' // Shortcut for \"{ trigger: 'mouseleave', openAction: false, closeAction: true }\" and will only close the popover.\n * ]\n * ```\n * ```\n * [\n * { trigger: 'mouseenter', openAction: true, closeAction: true }, // \"mouseenter\" will toggle the popover.\n * { trigger: 'mouseleave', openAction: true, closeAction: true } // \"mouseleave\" will toggle the popover.\n * ]\n * ```\n *\n * @default ['click']\n */\n @Input()\n triggers: (string | TriggerConfig)[] = ['click'];\n\n /** Whether the popover is open. Can be used through two-way binding. */\n @Input()\n isOpen = false;\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n @Input()\n closeOnOutsideClick = true;\n\n /** Wether to apply a background overlay */\n @Input()\n applyOverlay = false;\n\n /** Whether the popover should be focusTrapped. */\n @Input()\n focusTrapped = false;\n\n /**\n * Whether the popover should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n @Input()\n focusAutoCapture = false;\n\n /**\n * Whether to move the focus after popover is closed to the last focused element before popover was opened.\n */\n @Input()\n restoreFocusOnClose = true;\n\n /**\n * Scroll strategy, there are 4 accepted\n * - CloseScrollStrategy\n * - NoopScrollStrategy\n * - BlockScrollStrategy\n * - RepositionScrollStrategy ( default )\n */\n @Input()\n scrollStrategy: ScrollStrategy | null = null;\n\n /**\n * List of positions options for overlay defined by angular CDK.\n * Positions will be taken in order, same like on array. If first position provided doesn't fit to window,\n * another will be used\n * More information can be found in https://material.angular.io/cdk/overlay/api\n */\n @Input()\n cdkPositions: ConnectedPosition[] | null = null;\n\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: Nullable<PopoverFillMode> = null;\n\n /** The element to which the overlay is attached. By default it is body */\n @Input()\n appendTo: Nullable<ElementRef | Element> = null;\n\n /** Placement of the popover element. */\n @Input()\n placementContainer: Nullable<ElementRef | Element>;\n\n /** Whether position shouldn't change, when popover approach the corner of page */\n @Input()\n fixedPosition = false;\n\n /** Whether the popover body is resizable. */\n @Input()\n resizable = false;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event emitted right before the popover is being opened.\n * Useful for cases when component inside popover body needs to be initialized right BEFORE the opening of the popover. */\n @Output()\n beforeOpen = new EventEmitter();\n\n /** @hidden Aria role for the popover body. */\n _bodyRole: string | null = null;\n\n /** @hidden ID for the popover body. */\n _bodyId: string | null = null;\n}\n\n/**\n * Config for the trigger event, which allows to specify\n * whether an event should apply both for open and close actions or only some of them\n */\nexport interface TriggerConfig {\n trigger: string;\n openAction: boolean;\n closeAction: boolean;\n stopPropagation?: boolean;\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[fdPopoverBody]',\n standalone: true\n})\nexport class PopoverBodyDirective {\n /**\n * The template to be used as the popover's body.\n **/\n readonly templateRef = inject<TemplateRef<void>>(TemplateRef);\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdPopoverBodyFooter], [fd-popover-body-footer]',\n standalone: true\n})\nexport class PopoverBodyFooterDirective {\n /** @hidden */\n @HostBinding('class.fd-popover__body-footer')\n fdPopoverBodyFooterClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdPopoverBodyHeader], [fd-popover-body-header]',\n standalone: true\n})\nexport class PopoverBodyHeaderDirective {\n /** @hidden */\n @HostBinding('class.fd-popover__body-header')\n fdPopoverBodyHeaderClass = true;\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { ESCAPE } from '@angular/cdk/keycodes';\nimport { CdkScrollable, ConnectionPositionPair } from '@angular/cdk/overlay';\n\nimport { Subject } from 'rxjs';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { KeyUtil, Nullable, ResizeDirective, ResizeHandleDirective } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\n\n/**\n * A component used to enforce a certain layout for the popover.\n * ```html\n * <fd-popover>\n * <fd-popover-control>Control Element</fd-popover-control>\n * <fd-popover-body>Popover Body</fd-popover-body>\n * </fd-popover>\n * ```\n */\n@Component({\n selector: 'fd-popover-body',\n templateUrl: './popover-body.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './popover-body.component.scss',\n providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })],\n standalone: true,\n imports: [A11yModule, CdkScrollable, ScrollbarDirective, NgTemplateOutlet, ResizeHandleDirective, ResizeDirective]\n})\nexport class PopoverBodyComponent implements AfterViewInit {\n /** Minimum width of the popover body element. */\n @Input()\n minWidth: Nullable<string>;\n\n /** Maximum width of the popover body element. */\n @Input()\n maxWidth: Nullable<string>;\n\n /** Minimum height of the popover body element. */\n @Input()\n minHeight: Nullable<string>;\n\n /** Maximum height of the popover body element. */\n @Input()\n maxHeight: Nullable<string>;\n\n /** @hidden */\n @ViewChild(CdkTrapFocus)\n _cdkTrapFocus: CdkTrapFocus;\n\n /** @hidden */\n @ViewChild(ScrollbarDirective)\n _scrollbar: ScrollbarDirective;\n\n /** Whether to wrap content with fd-scrollbar directive. */\n _disableScrollbar = false;\n\n /** Whether the popover should have an arrow. */\n _noArrow = true;\n\n /** Whether the popover container needs an extra class for styling. */\n _additionalBodyClass: Nullable<string>;\n\n /** Whether the popover should be focusTrapped. */\n _focusTrapped = false;\n\n /**\n * Whether the popover should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n _focusAutoCapture = false;\n\n /** @hidden Property bind to popover's body. */\n _popoverBodyWidth: number;\n\n /** @hidden Property bind to popover's body. */\n _popoverBodyMinWidth: number;\n\n /** @hidden Property bind to popover's body. */\n _maxWidth: Nullable<number>;\n\n /** @hidden Property bind to popover's body. */\n _closeOnEscapeKey = false;\n\n /** @hidden Aria role for the popover body. */\n _bodyRole: Nullable<string> = null;\n\n /** @hidden Aria role for the popover body. */\n _bodyId: Nullable<string> = null;\n\n /** Classes added to arrow element. */\n _arrowClasses = '';\n\n /** @hidden text rendered inside popover's body. */\n text: Nullable<string> = null;\n\n /** @hidden template rendered inside popover's body. */\n _templateToDisplay: TemplateRef<any>;\n\n /** @hidden Whether the popover body is resizable. */\n _resizable = false;\n\n /** @hidden */\n _resizeHandleLocation: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' = 'bottom-right';\n\n /** Close event from popover body */\n onClose = new Subject<void>();\n\n /** @hidden */\n private _bodyComponentClasses: string | null = null;\n\n /** @hidden */\n constructor(\n readonly _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private readonly _renderer: Renderer2,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** Handler escape keydown */\n @HostListener('keyup', ['$event'])\n bodyKeyupHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, ESCAPE) && this._closeOnEscapeKey) {\n // In case if popover belongs to the element inside dialog\n event.stopPropagation();\n this.onClose.next();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this._scrollbar) {\n this._scrollbar._inPopover = true;\n }\n }\n\n /** @hidden */\n _setBodyComponentClasses(classes: string | null): void {\n this._bodyComponentClasses?.split(' ').forEach((klass) => {\n this._renderer.removeClass(this._elementRef.nativeElement, klass);\n });\n this._bodyComponentClasses = classes;\n if (!this._bodyComponentClasses) {\n return;\n }\n this._bodyComponentClasses.split(' ').forEach((klass) => {\n this._renderer.addClass(this._elementRef.nativeElement, klass);\n });\n }\n\n /** @hidden */\n _setArrowStyles(position: ConnectionPositionPair, rtl: 'rtl' | 'ltr'): void {\n this._resizeHandleLocation = `${position.overlayY === 'top' ? 'bottom' : 'top'}-${\n position.overlayX === 'start' ? 'right' : 'left'\n }`;\n if (this._noArrow) {\n this._arrowClasses = '';\n return;\n }\n\n let arrowClasses: string[] = [];\n\n if (\n position.overlayY !== position.originY &&\n position.originY !== 'center' &&\n position.overlayY !== 'center' &&\n position.overlayX === position.originX\n ) {\n arrowClasses = [\n `fd-popover__body--${position.overlayY === 'top' ? 'below' : 'above'}`,\n `fd-popover__body--${position.overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--arrow-${position.overlayY}`,\n `fd-popover__body--arrow-x-${position.originX}`\n ];\n } else if (\n position.overlayX !== position.originX &&\n position.overlayX !== 'center' &&\n position.originX !== 'center' &&\n position.originY === position.overlayY\n ) {\n let overlayX = position.overlayX;\n if (rtl === 'rtl') {\n overlayX = position.overlayX === 'end' ? 'start' : 'end';\n }\n arrowClasses = [\n `fd-popover__body--${overlayX === 'start' ? 'after' : 'before'}`,\n `fd-popover__body--${overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--${position.overlayY === 'center' ? 'middle' : position.overlayY}`,\n `fd-popover__body--arrow-${overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--arrow-y-${position.originY} `\n ];\n } else {\n arrowClasses = ['fd-popover__body--no-arrow'];\n }\n\n this._arrowClasses = arrowClasses.join(' ');\n\n this.detectChanges();\n }\n\n /** @hidden */\n detectChanges(): void {\n if (!this._changeDetectorRef['destroyed']) {\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** @hidden */\n _focusFirstTabbableElement(forced = false): void {\n if (forced || this._focusAutoCapture) {\n this._cdkTrapFocus.focusTrap.focusFirstTabbableElement();\n }\n }\n}\n","<div\n class=\"fd-popover__body fd-popover__body--static\"\n [class.fd-popover__body--no-arrow]=\"_noArrow\"\n [class.fd-popover__body--resizable]=\"_resizable\"\n [class]=\"_arrowClasses + ' ' + (_additionalBodyClass || '')\"\n [cdkTrapFocus]=\"_focusTrapped\"\n [style.min-width]=\"_popoverBodyMinWidth ? null : minWidth\"\n [style.max-width]=\"_maxWidth ? null : maxWidth\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n [style.max-width.px]=\"_maxWidth\"\n [style.min-width.px]=\"_popoverBodyMinWidth\"\n [style.width.px]=\"_popoverBodyWidth\"\n [attr.role]=\"_bodyRole\"\n [attr.id]=\"_bodyId\"\n fdkResize\n [fdkResizeDisabled]=\"!_resizable\"\n [fdkResizeClass]=\"'fd-popover__body--disable-transitions'\"\n [fdkResizeHandleLocation]=\"_resizeHandleLocation\"\n>\n @if (!_disableScrollbar) {\n <div fd-scrollbar class=\"fd-popover__wrapper\">\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n }\n @if (_resizable) {\n <span fdkResizeHandle class=\"fd-popover__resize-handle\"></span>\n }\n</div>\n<ng-template #renderer>\n <ng-content select=\"[fd-popover-body-header]\"></ng-content>\n <ng-content select=\"[fd-popover-body-subheader]\"></ng-content>\n <ng-content></ng-content>\n {{ text }}\n <ng-template [ngTemplateOutlet]=\"_templateToDisplay\"></ng-template>\n <ng-content select=\"[fd-popover-body-footer]\"></ng-content>\n</ng-template>\n","import { DestroyRef, Directive, ElementRef, OnInit, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: '[fdPopoverContainer]',\n standalone: true\n})\nexport class PopoverContainerDirective implements OnInit {\n /** Subject which emits when popover position refresh is required. */\n refreshPosition$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(private _elmRef: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n ngOnInit(): void {\n resizeObservable(this._elmRef.nativeElement)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this.refreshPosition$.next();\n });\n }\n}\n","import { AfterContentChecked, ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component used to enforce a certain layout for the popover.\n * ```html\n * <fd-popover>\n * <fd-popover-control>Control Element</fd-popover-control>\n * <fd-popover-body>Popover Body</fd-popover-body>\n * </fd-popover>\n * ```\n */\n@Component({\n selector: 'fd-popover-control, [fdPopoverControl]',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class PopoverControlComponent implements AfterContentChecked {\n /** @hidden */\n _tabbable = false;\n\n /** @hidden */\n constructor(public elRef: ElementRef) {}\n\n /** @hidden */\n ngAfterContentChecked(): void {\n if (this._tabbable) {\n this.makeTabbable();\n }\n }\n\n /** @hidden */\n makeTabbable(): void {\n const elemChild = this.elRef.nativeElement.children[0];\n if (elemChild && elemChild.getAttribute('tabindex') !== '-1') {\n elemChild.tabIndex = '0';\n }\n }\n}\n","import { EventEmitter, InjectionToken } from '@angular/core';\nimport { DialogConfig } from '@fundamental-ngx/core/dialog';\nimport { MobileMode } from '@fundamental-ngx/core/mobile-mode';\n\nexport const POPOVER_COMPONENT = new InjectionToken<PopoverInterface>('PopoverInterface');\n\n/**\n * Popover Interface to have typing and avoid circular dependency between\n * PopoverComponent <==> PopoverMobileComponent\n */\nexport interface PopoverInterface extends MobileMode {\n dialogConfig: DialogConfig;\n isOpenChange: EventEmitter<boolean>;\n\n close(): void;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { Subscription } from 'rxjs';\n\nimport { CdkScrollable } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { MobileModeBase, MobileModeControl } from '@fundamental-ngx/core/mobile-mode';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { PopoverChildContent } from '../popover-child-content.interface';\nimport { POPOVER_COMPONENT, PopoverInterface } from '../popover.interface';\n\nlet mobilePopoverUniqueId = 0;\n\n@Component({\n selector: 'fd-popover-mobile',\n templateUrl: './popover-mobile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [DialogModule, TitleComponent, CdkScrollable, ScrollbarDirective, NgTemplateOutlet]\n})\nexport class PopoverMobileComponent extends MobileModeBase<PopoverInterface> implements OnInit, OnDestroy {\n /** @hidden */\n @ViewChild('dialogTemplate')\n _dialogTemplate: TemplateRef<any>;\n\n /** @hidden\n * from mobile class can not prefix _,\n * to avoid build issues\n */\n childContent?: PopoverChildContent = undefined;\n\n /** Current popover title */\n title: string;\n /** Dialog body content */\n viewBody: TemplateRef<any> | null;\n\n /** Dialog footer content */\n viewFooter: TemplateRef<any> | null;\n\n /** @hidden */\n readonly id = 'fd-popover-mobile-' + mobilePopoverUniqueId++;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n get titleId(): string {\n return this.id + '-title';\n }\n\n /** @hidden */\n constructor(\n private _changeDetectorref: ChangeDetectorRef,\n @Inject(POPOVER_COMPONENT) _popoverComponent: PopoverInterface\n ) {\n super(_popoverComponent, MobileModeControl.POPOVER);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._listenOnPopoverOpenChange();\n\n this.title = this.mobileConfig.title || '';\n this.viewBody = this.childContent?.popoverBodyContentTemplate ?? null;\n this.viewFooter = this.childContent?.popoverFooterContentTemplate ?? null;\n\n this._changeDetectorref.markForCheck();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.dialogRef?.close();\n this._subscriptions.unsubscribe();\n }\n\n /** Closes the Dialog and Popover component */\n close(): void {\n this.dialogRef.close();\n this._component.close();\n }\n\n /** @hidden Opens/closes the Dialog based on Popover isOpenChange events */\n private _listenOnPopoverOpenChange(): void {\n this._subscriptions.add(\n this._component.isOpenChange.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((isOpen) => {\n if (isOpen) {\n this._openDialog();\n } else {\n this.dialogRef.hide(true);\n }\n })\n );\n }\n\n /** @hidden Opens the Dialog */\n private _openDialog(): void {\n this.dialogRef = this._dialogService.open(this._dialogTemplate, {\n verticalPadding: true,\n horizontalPadding: true,\n ...this.dialogConfig,\n mobile: true,\n focusTrapped: true,\n escKeyCloseable: false,\n backdropClickCloseable: false,\n container: this._elementRef.nativeElement,\n responsivePadding: true,\n ariaLabelledBy: this.titleId\n });\n }\n}\n","<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" data-mobile-popover>\n <fd-dialog-header>\n <h1 fd-title [id]=\"titleId\">{{ title }}</h1>\n @if (this.mobileConfig.hasCloseButton) {\n <button fd-dialog-close-button (click)=\"close()\"></button>\n }\n </fd-dialog-header>\n <fd-dialog-body>\n <ng-template [ngTemplateOutlet]=\"viewBody\"></ng-template>\n </fd-dialog-body>\n @if (viewFooter) {\n <fd-dialog-footer>\n <ng-template [ngTemplateOutlet]=\"viewFooter\"></ng-template>\n </fd-dialog-footer>\n }\n </fd-dialog>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { PopoverMobileComponent } from './popover-mobile.component';\n\n@NgModule({\n imports: [CommonModule, DialogModule, ButtonComponent, PopoverMobileComponent],\n exports: [PopoverMobileComponent],\n providers: [DynamicComponentService]\n})\nexport class PopoverMobileModule {}\n","import {\n ConnectedOverlayPositionChange,\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef,\n ViewportRuler\n} from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport {\n DestroyRef,\n ElementRef,\n Injectable,\n Injector,\n Optional,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n inject\n} from '@angular/core';\nimport { Observable, Subject, merge } from 'rxjs';\nimport { distinctUntilChanged, filter, startWith, takeUntil } from 'rxjs/operators';\n\nimport { Nullable, RtlService, destroyObservable, isOdd } from '@fundamental-ngx/cdk/utils';\nimport { GetDefaultPosition, PopoverPosition } from '@fundamental-ngx/core/shared';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BasePopoverClass, TriggerConfig } from '../base/base-popover.class';\nimport { PopoverBodyComponent } from '../popover-body/popover-body.component';\nimport { PopoverContainerDirective } from '../popover-container/popover-container.directive';\n\nconst MAX_BODY_SIZE = 99999999;\n\nexport interface PopoverTemplate {\n container: ViewContainerRef;\n popoverBody: PopoverBodyComponent;\n template: TemplateRef<any>;\n}\n\n@Injectable()\nexport class PopoverService extends BasePopoverClass {\n /** String content displayed inside popover body */\n stringContent: Nullable<string>;\n\n /** Template content displayed inside popover body */\n templateContent: Nullable<TemplateRef<any>>;\n\n /** @hidden */\n _onLoad = new Subject<ElementRef>();\n\n /** @hidden */\n _mobile = false;\n\n /** @hidden */\n private _eventRef: (() => void)[] = [];\n\n /** @hidden */\n private _overlayRef: OverlayRef;\n\n /** @hidden */\n private _refresh$: Observable<boolean | void>;\n\n /** @hidden */\n private _stopCloseListening$ = new Subject<void>();\n\n /** @hidden */\n private readonly _placementRefresh$ = new Subject<void>();\n\n /** @hidden */\n private _popoverBody: PopoverBodyComponent;\n\n /** @hidden */\n private _triggerElement: ElementRef<HTMLElement> | HTMLElement;\n\n /** @hidden */\n private _lastActiveElement: HTMLElement;\n\n /** @hidden */\n private _templateData: Nullable<PopoverTemplate>;\n\n /** @hidden */\n private _placementContainer: BasePopoverClass['placementContainer'];\n\n /** @hidden */\n private _ignoreTriggers = false;\n\n /** @hidden */\n private _modalBodyClass = 'fd-overlay-active';\n\n /** @hidden */\n private _modalTriggerClass = 'fd-popover__modal';\n\n /** @hidden */\n private _isModal = false;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private get _triggerHtmlElement(): HTMLElement {\n return this._triggerElement instanceof ElementRef ? this._triggerElement.nativeElement : this._triggerElement;\n }\n\n /** @hidden */\n constructor(\n private _overlay: Overlay,\n private _renderer: Renderer2,\n private _viewportRuler: ViewportRuler,\n private _injector: Injector,\n @Optional() private _rtlService: RtlService,\n @Optional() private readonly _popoverContainer: PopoverContainerDirective\n ) {\n super();\n\n /** Merge observables - close or destroy */\n this._refresh$ = merge(this.isOpenChange, destroyObservable(this._destroyRef));\n\n this._destroyRef.onDestroy(() => {\n this._removeTriggerListeners();\n if (this._overlayRef) {\n this._overlayRef.detach();\n this._overlayRef.dispose();\n }\n\n if (this._isModal) {\n this._removeOverlay(this._modalBodyClass, this._modalTriggerClass);\n }\n });\n }\n\n /**\n * Method initialising the popover service - should be called, after view is initialised, params:\n * - triggerElement - element, which is equivalent for cdkOverlayOrigin, or fd-popover-control,\n * by default to this element the popover body will lbe appended and events on this element will trigger\n * popover's toggle\n * - config - configuration object - in this case the intention is to use inheritance of BasePopoverClass in component\n * - templateData - in case of having already PopoverBodyComponent, there is way to pass container, template containing\n * PopoverComponent and PopoverComponent instance\n */\n initialise(\n triggerElement: ElementRef | HTMLElement,\n config?: BasePopoverClass,\n templateData?: PopoverTemplate | TemplateRef<void> | null\n ): void {\n if (templateData instanceof TemplateRef) {\n this.templateContent = templateData;\n } else {\n this._templateData = templateData;\n }\n this._triggerElement = triggerElement;\n\n if (config) {\n this.refreshConfiguration(config);\n }\n\n this._refreshTriggerListeners();\n\n if (this.isOpen) {\n this.open();\n }\n\n // If wrapper container height changes outside, refresh popover position.\n this._popoverContainer?.refreshPosition$.pipe(takeUntil(this._refresh$)).subscribe(() => {\n this.refreshPosition();\n });\n }\n\n /** Closes the popover. */\n close(focusActiveElement = true): void {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n\n const prevState = this.isOpen;\n this.isOpen = false;\n if (prevState !== this.isOpen) {\n this.isOpenChange.emit(this.isOpen);\n }\n\n this.checkModalBackground();\n this._focusLastActiveElementBeforeOpen(focusActiveElement);\n }\n\n /** Opens the popover. */\n open(): void {\n if ((!this._overlayRef || !this._overlayRef.hasAttached()) && !this.disabled && this._triggerElement) {\n this.beforeOpen.emit();\n const position = this._getPositionStrategy();\n this._overlayRef = this._overlay.create(this._getOverlayConfig(position));\n\n if (this._placementContainer) {\n const placementElement =\n this._placementContainer instanceof ElementRef\n ? this._placementContainer.nativeElement\n : this._placementContainer;\n\n placementElement.append(this._overlayRef.hostElement);\n }\n\n if (this._templateData) {\n this._attachTemplate();\n } else {\n this._attachBodyComponent();\n }\n\n this._stopCloseListening$.next();\n this._listenForPositionChange(position.positionChanges);\n\n if (this.fillControlMode) {\n this._listenOnResize();\n }\n\n const prevState = this.isOpen;\n this.isOpen = true;\n if (prevState !== this.isOpen) {\n this.isOpenChange.emit(this.isOpen);\n }\n\n this._detectChanges();\n\n this._listenOnClose();\n this._focusFirstTabbableElement();\n this._onLoad.next(this._getPopoverBody()._elementRef);\n this._overlayRef.updatePosition();\n }\n }\n\n /** method updating template or text inside rendered PopoverBody */\n updateContent(\n stringContent: Nullable<string> | Nullable<TemplateRef<any>>,\n templateContent: Nullable<TemplateRef<any>>\n ): void {\n templateContent = !templateContent\n ? typeof stringContent === 'string'\n ? null\n : stringContent\n : templateContent;\n stringContent = typeof stringContent === 'string' ? stringContent : null;\n this.stringContent = stringContent;\n this.templateContent = templateContent;\n if (this._getPopoverBody()) {\n this._passVariablesToBody();\n }\n }\n\n /** Changes background theming when modal */\n /** @hidden */\n checkModalBackground(): void {\n const isClosingConditions = (!this.closeOnOutsideClick || !this.closeOnEscapeKey) && this.applyOverlay;\n if (isClosingConditions && this.isOpen) {\n this._addModalOverlay(this._modalBodyClass, this._modalTriggerClass);\n } else if (isClosingConditions && !this.isOpen) {\n this._removeOverlay(this._modalBodyClass, this._modalTriggerClass);\n }\n }\n\n /** Toggles the popover open state */\n toggle(openAction = true, closeAction = true): void {\n if (this.isOpen) {\n closeAction && this.close();\n } else {\n openAction && this.open();\n this.checkModalBackground();\n }\n }\n\n /**\n * Method called to change position of popover,\n * recommended to be used only when popover is opened, otherwise change position or cdkPlacement\n */\n applyNewPosition(positions: ConnectedPosition[]): void {\n const refPosition = this._getPositionStrategy(positions);\n this._listenForPositionChange(refPosition.positionChanges);\n this._overlayRef.updatePositionStrategy(refPosition);\n }\n\n /** Method called to refresh position of opened popover */\n refreshPosition(): void {\n this._overlayRef?.updatePosition();\n }\n\n /** Temporary sets the ignoring of the event triggers. */\n setIgnoreTriggers(ignore: boolean): void {\n this._ignoreTriggers = ignore;\n }\n\n /**\n * Method that sets configuration/options, it detects if there is something changed and overwrites them\n */\n refreshConfiguration(config: BasePopoverClass): void {\n this._placementContainer = config.placementContainer;\n const onlyChanged = Object.keys(new BasePopoverClass()).filter((key) => this[key] !== config[key]);\n\n if (onlyChanged.includes('isOpen')) {\n if (config.isOpen) {\n this.open();\n } else {\n this.close();\n }\n }\n\n if (onlyChanged.includes('placementContainer')) {\n this._placementContainer = config.placementContainer;\n }\n\n /** TODO\n * This overriding is dangerous thing and leads to unexpected behavior\n * We have to avoid this.\n */\n onlyChanged.forEach((key) => (this[key] = config[key]));\n\n if (onlyChanged.includes('triggers')) {\n this._refreshTriggerListeners();\n }\n }\n\n /**\n * This method is intended to be called in order\n * to postpone the main functionality but be able\n * to enable it back in the future by initialise()\n */\n deactivate(): void {\n this._removeTriggerListeners();\n }\n\n /** Refresh listeners on trigger element events */\n _refreshTriggerListeners(): void {\n if (!this._triggerElement) {\n return;\n }\n\n this._removeTriggerListeners();\n\n if (this.triggers?.length) {\n this._normalizeTriggers().forEach((trigger) => {\n this._eventRef.push(\n this._renderer.listen(this._triggerHtmlElement, trigger.trigger, (event: Event) => {\n if (this._ignoreTriggers) {\n return;\n }\n const closeAction = !!trigger.closeAction;\n const openAction = !!trigger.openAction;\n this.toggle(openAction, closeAction);\n\n if (trigger.stopPropagation) {\n event.stopImmediatePropagation();\n }\n })\n );\n });\n }\n }\n\n /**\n * Updates trigger element and refreshes the listeners.\n * @param trigger Trigger element ref.\n */\n updateTriggerElement(trigger: ElementRef | HTMLElement): void {\n this._triggerElement = trigger;\n this._refreshTriggerListeners();\n }\n\n /** @hidden */\n private _normalizeTriggers(): TriggerConfig[] {\n return this.triggers.map((trigger, index) => {\n if (typeof trigger === 'object' && trigger.trigger) {\n return trigger;\n }\n\n const oddNumber = isOdd(index + 1);\n\n return {\n trigger,\n openAction: this.triggers.length === 1 || oddNumber,\n closeAction: this.triggers.length === 1 || !oddNumber,\n stopPropagation: false\n } as TriggerConfig;\n });\n }\n\n /** @hidden */\n private _getOverlayConfig(position: FlexibleConnectedPositionStrategy): OverlayConfig {\n const direction = this._getDirection();\n\n return new OverlayConfig({\n direction,\n disposeOnNavigation: this.closeOnNavigation,\n positionStrategy: position,\n scrollStrategy: this.scrollStrategy || this._overlay.scrollStrategies.reposition()\n });\n }\n\n /** @hidden */\n private _listenOnResize(): void {\n this._viewportRuler\n .change(15)\n .pipe(takeUntil(this._refresh$), startWith(1))\n .subscribe(() => this._applyWidthOverlay());\n }\n\n /** @hidden */\n private _getDirection(): 'rtl' | 'ltr' {\n if (!this._rtlService) {\n return 'ltr';\n }\n\n return this._rtlService.rtl.getValue() ? 'rtl' : 'ltr';\n }\n\n /** @hidden */\n private _getPositionStrategy(forcedPositions?: ConnectedPosition[]): FlexibleConnectedPositionStrategy {\n let resultPosition = forcedPositions ? forcedPositions : this._getPositions();\n\n if (!this.fixedPosition) {\n resultPosition = resultPosition.concat(GetDefaultPosition(resultPosition));\n }\n\n return this._overlay\n .position()\n .flexibleConnectedTo(this.appendTo || this._triggerElement)\n .withPositions(resultPosition)\n .withPush(false)\n .withGrowAfterOpen(true);\n }\n\n /** remove listeners from trigger element events */\n private _removeTriggerListeners(): void {\n this._eventRef.forEach((event) => event());\n this._eventRef = [];\n }\n\n private _addModalOverlay(bodyClass: string, triggerClass: string): void {\n this._renderer.addClass(document.body, bodyClass);\n this._renderer.addClass((this._triggerElement as ElementRef).nativeElement, triggerClass);\n this._isModal = true;\n }\n\n private _removeOverlay(bodyClass: string, triggerClass: string): void {\n this._renderer.removeClass(document.body, bodyClass);\n this._renderer.removeClass((this._triggerElement as ElementRef).nativeElement, triggerClass);\n this._isModal = false;\n }\n\n /** Attach template containing popover body to overlay */\n private _attachTemplate(): void {\n this._passVariablesToBody();\n if (this._templateData) {\n this._overlayRef.attach(new TemplatePortal(this._templateData.template, this._templateData.container));\n }\n }\n\n /** Create PopoverBodyComponent and attach it into overlay */\n private _attachBodyComponent(): void {\n const overlay = this._overlayRef.attach(new ComponentPortal(PopoverBodyComponent, null, this._injector));\n this._popoverBody = overlay.instance;\n this._passVariablesToBody();\n }\n\n /** @hidden */\n private _listenForPositionChange(positionChange: Observable<ConnectedOverlayPositionChange>): void {\n this._placementRefresh$.next();\n positionChange\n .pipe(\n filter(() => !this.noArrow && !!this._getPopoverBody()),\n distinctUntilChanged((previous, current) => previous.connectionPair === current.connectionPair),\n takeUntil(this._placementRefresh$),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((event) => this._getPopoverBody()._setArrowStyles(event.connectionPair, this._getDirection()));\n }\n\n /** Subscribe to close events from CDK Overlay, to throw proper events, change values */\n private _listenOnClose(): void {\n const closeEvents$ = merge(\n this._overlayRef.detachments(),\n this._getPopoverBody().onClose,\n this._outsideClicks$()\n );\n const finalizer$ = merge(this._stopCloseListening$, this._refresh$);\n closeEvents$.pipe(takeUntil(finalizer$)).subscribe(() => this.close());\n }\n\n /** Listener for click events */\n private _outsideClicks$(): Observable<MouseEvent> {\n return merge(this._overlayRef.backdropClick(), this._overlayRef._outsidePointerEvents).pipe(\n filter((event) => this._shouldClose(event))\n );\n }\n\n /** @hidden */\n private _shouldClose(event: MouseEvent): boolean {\n return (\n this.isOpen &&\n this.closeOnOutsideClick &&\n !this._triggerContainsTarget(event) &&\n !this._targetIsPopoverMobileDialog(event)\n );\n }\n\n /** @hidden */\n private _targetIsPopoverMobileDialog(event: MouseEvent): boolean {\n if (this._mobile) {\n let el = (event.target as HTMLElement).parentElement;\n while (el) {\n if (el.hasAttribute('data-mobile-popover')) {\n return true;\n } else {\n el = el.parentElement;\n }\n }\n }\n\n return false;\n }\n\n /** @hidden */\n private _getEventTarget(event: Event): EventTarget | null {\n return event.composedPath ? event.composedPath()[0] : event.target;\n }\n\n /** @hidden */\n private _triggerContainsTarget(event: Event): boolean {\n return this._triggerHtmlElement.contains(this._getEventTarget(event) as HTMLElement);\n }\n\n /** @hidden */\n private _getPositions(): ConnectedPosition[] {\n if (this.cdkPositions) {\n return this.cdkPositions;\n }\n\n if (this.placement) {\n return [PopoverPosition.getCdkPlacement(this.placement, this._getDirection())];\n }\n\n return [];\n }\n\n /** @hidden */\n private _applyWidthOverlay(): void {\n const maxWidthLimit = this.maxWidth ? this.maxWidth : MAX_BODY_SIZE;\n const width = Math.min(this._getTriggerWidth(), maxWidthLimit);\n if (this.fillControlMode === 'at-least') {\n this._getPopoverBody()._popoverBodyMinWidth = width;\n } else if (this.fillControlMode === 'equal') {\n this._getPopoverBody()._popoverBodyWidth = width;\n }\n this._detectChanges();\n }\n\n /** @hidden */\n private _passVariablesToBody(): void {\n const body = this._getPopoverBody();\n body.text = this.stringContent;\n body._additionalBodyClass = this.additionalBodyClass;\n body._focusTrapped = this.focusTrapped;\n body._maxWidth = this.maxWidth;\n body._noArrow = this.noArrow;\n body._focusAutoCapture = this.focusAutoCapture;\n body._disableScrollbar = this.disableScrollbar;\n body._templateToDisplay = this.templateContent!;\n body._closeOnEscapeKey = this.closeOnEscapeKey;\n body._bodyRole = this._bodyRole;\n body._bodyId = this._bodyId;\n body._resizable = this.resizable;\n body._setBodyComponentClasses(this.additionalBodyComponentClasses);\n this._detectChanges();\n }\n\n /** @hidden */\n private _getTriggerWidth(): number {\n return this._triggerHtmlElement.offsetWidth;\n }\n\n /** @hidden */\n private _getPopoverBody(): PopoverBodyComponent {\n return this._templateData?.popoverBody || this._popoverBody;\n }\n\n /** @hidden */\n private _detectChanges(): void {\n if (this._getPopoverBody()) {\n this._getPopoverBody().detectChanges();\n }\n }\n\n /** @hidden */\n private _focusFirstTabbableElement(focusLastElement = true): void {\n if (focusLastElement && this.focusAutoCapture) {\n this._lastActiveElement = <HTMLElement>document.activeElement;\n this._getPopoverBody()?._focusFirstTabbableElement();\n }\n }\n\n /** @hidden */\n private _focusLastActiveElementBeforeOpen(focusLastElement = true): void {\n if (focusLastElement && this.restoreFocusOnClose && this.focusAutoCapture && this._lastActiveElement) {\n this._lastActiveElement.focus();\n }\n }\n}\n","import { Directive, ElementRef, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { PopoverComponent } from './popover.component';\n\n@Directive({\n selector: '[fdPopoverTrigger], [fd-popover-trigger]',\n standalone: true\n})\nexport class PopoverTriggerDirective implements OnDestroy {\n /** Set reference to Popover Component */\n @Input('fdPopoverTrigger')\n set popover(popover: Nullable<PopoverComponent>) {\n if (popover) {\n popover.trigger = this._elementRef;\n this._listenOnExpanded(popover);\n }\n this._setAriaAttributes(popover);\n }\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n ariaHasPopup: Nullable<boolean>;\n\n /** @hidden */\n @HostBinding('attr.aria-controls')\n ariaControls: Nullable<string>;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n ariaExpanded: Nullable<boolean>;\n\n /** @hidden */\n private _isExpandedSubscription: Subscription;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._unsubscribeExpandedListener();\n }\n\n /** @hidden */\n private _listenOnExpanded(popover: PopoverComponent): void {\n this._unsubscribeExpandedListener();\n if (popover) {\n this._isExpandedSubscription = popover.isOpenChange\n .pipe(startWith(popover.isOpen))\n .subscribe((isOpen) => (this.ariaExpanded = isOpen));\n }\n }\n\n /** @hidden */\n private _setAriaAttributes(popover: Nullable<PopoverComponent>): void {\n this.ariaHasPopup = !!popover;\n this.ariaControls = popover ? popover.id : null;\n }\n\n /** @hidden */\n private _unsubscribeExpandedListener(): void {\n if (this._isExpandedSubscription) {\n this._isExpandedSubscription.unsubscribe();\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_POPOVER_COMPONENT = new InjectionToken('FdPopoverComponent');\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ContentChild,\n ElementRef,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DOWN_ARROW } from '@angular/cdk/keycodes';\nimport { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { DynamicComponentService, KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { MobileModeConfig } from '@fundamental-ngx/core/mobile-mode';\nimport equal from 'fast-deep-equal';\nimport { BasePopoverClass } from './base/base-popover.class';\nimport { PopoverBodyDirective } from './popover-body.directive';\nimport { PopoverBodyComponent } from './popover-body/popover-body.component';\nimport { PopoverControlComponent } from './popover-control/popover-control.component';\nimport { PopoverMobileComponent } from './popover-mobile/popover-mobile.component';\nimport { PopoverService, PopoverTemplate } from './popover-service/popover.service';\nimport { POPOVER_COMPONENT } from './popover.interface';\nimport { FD_POPOVER_COMPONENT } from './tokens';\n\nexport const SELECT_CLASS_NAMES = {\n selectControl: 'fd-select__control'\n};\n\nlet cdkPopoverUniqueId = 0;\n\n/**\n * The popover is a wrapping component that accepts a *control* as well as a *body*.\n * The control is what will trigger the opening of the actual popover, which is called the body.\n * By default, popovers are triggered by click. This can be customized through the *triggers* input.\n */\n@Component({\n selector: 'fd-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n PopoverService,\n {\n provide: FD_POPOVER_COMPONENT,\n useExisting: PopoverComponent\n },\n contentDensityObserverProviders()\n ],\n host: {\n class: 'fd-popover-custom',\n '[class.fd-popover-custom--mobile]': 'mobile',\n '[attr.id]': 'id'\n },\n standalone: true,\n imports: [CdkOverlayOrigin, NgTemplateOutlet]\n})\nexport class PopoverComponent\n extends BasePopoverClass\n implements AfterViewInit, AfterContentInit, OnDestroy, OnChanges\n{\n /** Tooltip for popover */\n @Input()\n title: string;\n\n /** Reference to popover trigger element */\n @Input()\n set trigger(trigger: ElementRef | HTMLElement) {\n if (equal(trigger, this._trigger)) {\n return;\n }\n this._trigger = trigger;\n this._popoverService.updateTriggerElement(this._trigger);\n }\n\n get trigger(): ElementRef | HTMLElement {\n return this._trigger;\n }\n\n /** Whether position shouldn't change, when popover approach the corner of page */\n @Input()\n fixedPosition = false;\n\n /** Id of the popover. If none is provided, one will be generated. */\n @Input()\n id: string = 'fd-popover-' + cdkPopoverUniqueId++;\n\n /** Whether the popover component should be displayed in mobile mode. */\n @Input()\n mobile = false;\n\n /** Config for the popover in mobile mode */\n @Input()\n mobileConfig: MobileModeConfig = { hasCloseButton: true };\n\n /**\n * Whether the popover should prevent page scrolling when space key is pressed.\n **/\n @Input()\n preventSpaceKeyScroll = true;\n\n /** @hidden */\n @ViewChild('templateRef', { read: TemplateRef })\n templateRef: TemplateRef<any>;\n\n /** @hidden */\n @ViewChild('container', { read: ViewContainerRef })\n container: ViewContainerRef;\n\n /** @hidden */\n @ViewChild(CdkOverlayOrigin)\n triggerOrigin: CdkOverlayOrigin;\n\n /** @hidden */\n @ContentChild(PopoverBodyComponent)\n popoverBody: PopoverBodyComponent;\n\n /** @hidden */\n @ContentChild(PopoverBodyDirective)\n popoverBodyDirective: PopoverBodyDirective;\n\n /** @hidden */\n @ContentChild(PopoverControlComponent)\n popoverControl: PopoverControlComponent;\n\n /** @hidden - template for Dialog body content */\n @ContentChild('popoverBodyContent')\n popoverBodyContentTemplate: TemplateRef<any>;\n\n /** @hidden - template for Dialog footer content */\n @ContentChild('popoverFooterContent')\n popoverFooterContentTemplate: TemplateRef<any>;\n\n /** @hidden */\n private get _triggerElement(): HTMLElement {\n return this._trigger instanceof ElementRef ? this._trigger.nativeElement : this._trigger;\n }\n\n /** @hidden */\n private _trigger: ElementRef | HTMLElement;\n\n /** @hidden */\n private _clickEventListener: null | (() => void);\n\n /** @hidden */\n private _mobileModeComponentRef: ComponentRef<PopoverMobileComponent>;\n\n /** @hidden */\n constructor(\n private readonly _popoverService: PopoverService,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _rendered: Renderer2,\n private readonly _viewContainerRef: ViewContainerRef,\n private readonly _injector: Injector,\n @Optional() private readonly _dynamicComponentService: DynamicComponentService\n ) {\n super();\n }\n\n /** @hidden */\n @HostListener('keydown.space', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n if (!this.preventSpaceKeyScroll) {\n return;\n }\n const activeElement = document.activeElement;\n if (\n // popoverControl will be undefined when popover is used from \"fdPopoverTrigger\"\n this.popoverControl?.elRef.nativeElement.children[0] === activeElement &&\n activeElement?.tagName !== 'INPUT' &&\n activeElement?.tagName !== 'TEXTAREA' &&\n !activeElement?.classList.contains(SELECT_CLASS_NAMES.selectControl)\n ) {\n // prevent page scrolling on Space keydown\n event.preventDefault();\n this._popoverService.toggle();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setupView();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.popoverControl && this.triggers.includes('click')) {\n this.popoverControl._tabbable = true;\n }\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n this._popoverService.refreshConfiguration(this);\n\n if (changes.disableScrollbar && this.popoverBody && this.popoverBody._scrollbar) {\n this.popoverBody._scrollbar._inPopover = changes.disableScrollbar.currentValue;\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._destroyMobileComponent();\n this._destroyEventListeners();\n }\n\n /** Toggles menu open/close state */\n toggle(): void {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /** Opens the popover. */\n open(): void {\n this._popoverService.open();\n this._cdr.markForCheck();\n }\n\n /** Closes the popover. */\n close(focusActiveElement = true): void {\n this._popoverService.close(focusActiveElement);\n this._cdr.markForCheck();\n }\n\n /** Temporary sets the ignoring of the event triggers. */\n setIgnoreTriggers(ignore: boolean): void {\n this._popoverService.setIgnoreTriggers(ignore);\n }\n\n /**\n * Method called to change position of popover,\n * recommended to be used only when popover is opened, otherwise change position or cdkPlacement\n */\n applyNewPosition(positions: ConnectedPosition[]): void {\n this._popoverService.applyNewPosition(positions);\n }\n\n /** Method called to refresh position of opened popover */\n refreshPosition(): void {\n this._popoverService.refreshPosition();\n }\n\n /** Handler for alt + arrow down keydown */\n triggerKeyDownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, DOWN_ARROW) && event.altKey && !this.disabled) {\n this.open();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n /** @hidden Select and instantiate popover view mode */\n private _setupView(): void {\n if (!this.mobile) {\n this._popoverService._mobile = false;\n if (!this.popoverBody) {\n this._popoverService.templateContent = this.templateRef;\n }\n this._popoverService.initialise(\n this._triggerElement || this.triggerOrigin.elementRef,\n this,\n this._getPopoverBodyContent()\n );\n } else {\n this._setupMobileMode();\n }\n\n this._cdr.detectChanges();\n }\n\n /**\n * Depending on a used popover body type, returns a popover body content\n **/\n private _getPopoverBodyContent(): PopoverTemplate | TemplateRef<void> | null {\n if (this.popoverBody) {\n return {\n template: this.templateRef,\n container: this.container,\n popoverBody: this.popoverBody\n };\n }\n if (this.popoverBodyDirective) {\n return this.popoverBodyDirective.templateRef;\n }\n return null;\n }\n\n /** @hidden Open Popover in mobile mode */\n private async _setupMobileMode(): Promise<void> {\n const injector = Injector.create({\n providers: [{ provide: POPOVER_COMPONENT, useValue: this }],\n parent: this._injector\n });\n\n this._popoverService._mobile = true;\n\n this._mobileModeComponentRef = this._dynamicComponentService.createDynamicComponent(\n {\n popoverBodyContentTemplate: this.popoverBodyContentTemplate,\n popoverFooterContentTemplate: this.popoverFooterContentTemplate\n },\n PopoverMobileComponent,\n {\n containerRef: this._viewContainerRef\n },\n { injector }\n );\n\n this._listenOnTriggerRefClicks();\n }\n\n /** @hidden - Listen on popover trigger ref clicks */\n private _listenOnTriggerRefClicks(): void {\n this._destroyEventListeners();\n\n if (this.trigger && this.mobile) {\n this._clickEventListener = this._rendered.listen(this._triggerElement, 'click', () => this.toggle());\n }\n }\n\n /**\n * @hidden\n * This is going to be removed in feature, on dialog and dynamic service component refactor\n */\n private _destroyEventListeners(): void {\n if (this._clickEventListener) {\n this._clickEventListener();\n this._clickEventListener = null;\n }\n }\n\n /** @hidden */\n private _destroyMobileComponent(): void {\n if (this._mobileModeComponentRef) {\n this._mobileModeComponentRef.destroy();\n }\n }\n}\n","@if (!trigger) {\n <div\n cdkOverlayOrigin\n class=\"fd-popover__control\"\n [class]=\"additionalTriggerClass\"\n (keydown)=\"triggerKeyDownHandler($event)\"\n >\n <ng-content select=\"fd-popover-control, [fdPopoverControl]\"></ng-content>\n </div>\n}\n<ng-template #templateRef>\n <ng-content select=\"fd-popover-body\"></ng-content>\n <ng-content></ng-content>\n</ng-template>\n<ng-container #container></ng-container>\n","import { NgModule } from '@angular/core';\n\nimport { PopoverBodyFooterDirective } from './popover-body/popover-body-directives/popover-body-footer.directive';\nimport { PopoverBodyHeaderDirective } from './popover-body/popover-body-directives/popover-body-header.directive';\nimport { PopoverBodyComponent } from './popover-body/popover-body.component';\nimport { PopoverControlComponent } from './popover-control/popover-control.component';\n\nimport { PopoverBodyDirective } from './popover-body.directive';\nimport { PopoverContainerDirective } from './popover-container/popover-container.directive';\nimport { PopoverTriggerDirective } from './popover-trigger.directive';\nimport { PopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [\n PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective\n ],\n exports: [\n PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective\n ]\n})\nexport class PopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3.PopoverContainerDirective","i1.PopoverService"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core",
|
|
3
|
-
"version": "0.53.
|
|
3
|
+
"version": "0.53.5",
|
|
4
4
|
"schematics": "./schematics/collection.json",
|
|
5
5
|
"ng-update": {
|
|
6
6
|
"migrations": "./schematics/migrations.json"
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"@angular/forms": "^18.0.0",
|
|
24
24
|
"@angular/platform-browser": "^18.0.0",
|
|
25
25
|
"@angular/router": "^18.0.0",
|
|
26
|
-
"@fundamental-ngx/cdk": "0.53.
|
|
27
|
-
"@fundamental-ngx/i18n": "0.53.
|
|
26
|
+
"@fundamental-ngx/cdk": "0.53.5",
|
|
27
|
+
"@fundamental-ngx/i18n": "0.53.5",
|
|
28
28
|
"@sap-theming/theming-base-content": "^11.22.0",
|
|
29
29
|
"fundamental-styles": "0.38.0",
|
|
30
30
|
"rxjs": "^7.8.0"
|
|
@@ -75,8 +75,6 @@ export declare class PopoverBodyComponent implements AfterViewInit {
|
|
|
75
75
|
constructor(_elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, _renderer: Renderer2, _contentDensityObserver: ContentDensityObserver);
|
|
76
76
|
/** Handler escape keydown */
|
|
77
77
|
bodyKeyupHandler(event: KeyboardEvent): void;
|
|
78
|
-
/** Handler for focus when clicking outside */
|
|
79
|
-
onClick(targetElement: HTMLElement): void;
|
|
80
78
|
/** @hidden */
|
|
81
79
|
ngAfterViewInit(): void;
|
|
82
80
|
/** @hidden */
|