@fundamental-ngx/core 0.65.1-rc.8 → 0.65.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-core-action-bar.mjs +25 -25
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +28 -28
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs +34 -34
- package/fesm2022/fundamental-ngx-core-avatar.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-bar.mjs +22 -22
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-button.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-calendar.mjs +37 -37
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs +109 -109
- package/fesm2022/fundamental-ngx-core-carousel.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-checkbox.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-combobox.mjs +18 -18
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-content-density.mjs +22 -22
- package/fesm2022/fundamental-ngx-core-date-picker.mjs +12 -12
- package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +12 -12
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs +30 -30
- package/fesm2022/fundamental-ngx-core-dialog.mjs +61 -69
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +49 -49
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-facets.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-feed-input.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +24 -24
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-form.mjs +70 -70
- package/fesm2022/fundamental-ngx-core-formatted-text.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-generic-tag.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +46 -46
- package/fesm2022/fundamental-ngx-core-icon.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +20 -20
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-info-label.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-inline-help.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-input-group.mjs +21 -21
- package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs +31 -31
- package/fesm2022/fundamental-ngx-core-link.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-list.mjs +72 -98
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +61 -61
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs +37 -37
- package/fesm2022/fundamental-ngx-core-message-page.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +26 -27
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-toast.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-mobile-mode.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +24 -24
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +40 -40
- package/fesm2022/fundamental-ngx-core-notification.mjs +76 -76
- package/fesm2022/fundamental-ngx-core-object-attribute.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-marker.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-number.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-status.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +31 -31
- package/fesm2022/fundamental-ngx-core-pagination.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-panel.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-popover.mjs +181 -77
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-quick-view.mjs +37 -37
- package/fesm2022/fundamental-ngx-core-radio.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-scroll-spy.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-scrollbar.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-select.mjs +20 -20
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-settings.mjs +49 -49
- package/fesm2022/fundamental-ngx-core-shared.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +49 -49
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-skeleton.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-slider.mjs +12 -12
- package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-split-button.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-step-input.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-switch.mjs +9 -9
- package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +49 -49
- package/fesm2022/fundamental-ngx-core-tabs.mjs +52 -52
- package/fesm2022/fundamental-ngx-core-text.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-theming.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-tile.mjs +94 -94
- package/fesm2022/fundamental-ngx-core-time-picker.mjs +9 -9
- package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-timeline.mjs +43 -43
- package/fesm2022/fundamental-ngx-core-title.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-token.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +28 -28
- package/fesm2022/fundamental-ngx-core-tree.mjs +31 -31
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +43 -57
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +46 -46
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-wizard.mjs +28 -28
- package/fesm2022/fundamental-ngx-core.mjs +4 -4
- package/package.json +3 -3
- package/schematics/package.json +1 -1
- package/types/fundamental-ngx-core-calendar.d.ts +22 -22
- package/types/fundamental-ngx-core-carousel.d.ts +1 -1
- package/types/fundamental-ngx-core-content-density.d.ts +2 -2
- package/types/fundamental-ngx-core-datetime.d.ts +1 -1
- package/types/fundamental-ngx-core-dialog.d.ts +6 -10
- package/types/fundamental-ngx-core-dynamic-page.d.ts +2 -2
- package/types/fundamental-ngx-core-file-uploader.d.ts +1 -1
- package/types/fundamental-ngx-core-form.d.ts +1 -1
- package/types/fundamental-ngx-core-list.d.ts +2 -10
- package/types/fundamental-ngx-core-menu.d.ts +2 -2
- package/types/fundamental-ngx-core-message-box.d.ts +3 -3
- package/types/fundamental-ngx-core-message-strip.d.ts +1 -1
- package/types/fundamental-ngx-core-message-toast.d.ts +2 -2
- package/types/fundamental-ngx-core-multi-combobox.d.ts +1 -1
- package/types/fundamental-ngx-core-nested-list.d.ts +2 -2
- package/types/fundamental-ngx-core-notification.d.ts +1 -1
- package/types/fundamental-ngx-core-overflow-layout.d.ts +1 -1
- package/types/fundamental-ngx-core-pagination.d.ts +1 -1
- package/types/fundamental-ngx-core-popover.d.ts +46 -6
- package/types/fundamental-ngx-core-select.d.ts +1 -1
- package/types/fundamental-ngx-core-shared.d.ts +1 -1
- package/types/fundamental-ngx-core-theming.d.ts +1 -1
- package/types/fundamental-ngx-core-timeline.d.ts +1 -1
- package/types/fundamental-ngx-core-tree.d.ts +1 -1
- package/types/fundamental-ngx-core-upload-collection.d.ts +0 -2
- package/types/fundamental-ngx-core-wizard.d.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, Directive, inject, TemplateRef, HostBinding, input, viewChild, linkedSignal, output, ElementRef, Renderer2, afterNextRender, ChangeDetectionStrategy, ViewEncapsulation, Component, DestroyRef, InjectionToken, effect, ViewChild, NgModule, EventEmitter, Injector, computed, isSignal, Injectable, Input, model, booleanAttribute, ViewContainerRef, contentChild } from '@angular/core';
|
|
2
|
+
import { signal, Directive, inject, TemplateRef, HostBinding, input, viewChild, linkedSignal, output, ElementRef, Renderer2, afterNextRender, ChangeDetectionStrategy, ViewEncapsulation, Component, DestroyRef, InjectionToken, effect, ViewChild, NgModule, EventEmitter, Injector, NgZone, computed, isSignal, Injectable, Input, model, booleanAttribute, ViewContainerRef, contentChild } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/cdk/a11y';
|
|
4
4
|
import { CdkTrapFocus, A11yModule } from '@angular/cdk/a11y';
|
|
5
5
|
import { ESCAPE, DOWN_ARROW } from '@angular/cdk/keycodes';
|
|
@@ -172,10 +172,10 @@ class BasePopoverClass {
|
|
|
172
172
|
this._bodyId = signal(null, /* @ts-ignore */
|
|
173
173
|
...(ngDevMode ? [{ debugName: "_bodyId" }] : /* istanbul ignore next */ []));
|
|
174
174
|
}
|
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
176
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
175
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: BasePopoverClass, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
176
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: BasePopoverClass, isStandalone: true, host: { properties: { "class.fd-popover-custom--disabled": "disabled()" } }, ngImport: i0 }); }
|
|
177
177
|
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: BasePopoverClass, decorators: [{
|
|
179
179
|
type: Directive,
|
|
180
180
|
args: [{
|
|
181
181
|
host: {
|
|
@@ -191,10 +191,10 @@ class PopoverBodyDirective {
|
|
|
191
191
|
**/
|
|
192
192
|
this.templateRef = inject(TemplateRef);
|
|
193
193
|
}
|
|
194
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
195
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
195
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: PopoverBodyDirective, isStandalone: true, selector: "[fdPopoverBody]", ngImport: i0 }); }
|
|
196
196
|
}
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverBodyDirective, decorators: [{
|
|
198
198
|
type: Directive,
|
|
199
199
|
args: [{
|
|
200
200
|
selector: '[fdPopoverBody]',
|
|
@@ -207,10 +207,10 @@ class PopoverBodyFooterDirective {
|
|
|
207
207
|
/** @hidden */
|
|
208
208
|
this.fdPopoverBodyFooterClass = true;
|
|
209
209
|
}
|
|
210
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
211
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
210
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverBodyFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
211
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: PopoverBodyFooterDirective, isStandalone: true, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]", host: { properties: { "class.fd-popover__body-footer": "this.fdPopoverBodyFooterClass" } }, ngImport: i0 }); }
|
|
212
212
|
}
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverBodyFooterDirective, decorators: [{
|
|
214
214
|
type: Directive,
|
|
215
215
|
args: [{
|
|
216
216
|
selector: '[fdPopoverBodyFooter], [fd-popover-body-footer]',
|
|
@@ -226,10 +226,10 @@ class PopoverBodyHeaderDirective {
|
|
|
226
226
|
/** @hidden */
|
|
227
227
|
this.fdPopoverBodyHeaderClass = true;
|
|
228
228
|
}
|
|
229
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
230
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverBodyHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
230
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: PopoverBodyHeaderDirective, isStandalone: true, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]", host: { properties: { "class.fd-popover__body-header": "this.fdPopoverBodyHeaderClass" } }, ngImport: i0 }); }
|
|
231
231
|
}
|
|
232
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverBodyHeaderDirective, decorators: [{
|
|
233
233
|
type: Directive,
|
|
234
234
|
args: [{
|
|
235
235
|
selector: '[fdPopoverBodyHeader], [fd-popover-body-header]',
|
|
@@ -421,10 +421,10 @@ class PopoverBodyComponent {
|
|
|
421
421
|
});
|
|
422
422
|
}
|
|
423
423
|
}
|
|
424
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
425
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: PopoverBodyComponent, isStandalone: true, selector: "fd-popover-body", inputs: { minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, ariaModal: { classPropertyName: "ariaModal", publicName: "ariaModal", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose" }, host: { listeners: { "keydown": "bodyKeyupHandler($event)" } }, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], viewQueries: [{ propertyName: "_cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }, { propertyName: "_scrollbar", first: true, predicate: ScrollbarDirective, descendants: true, isSignal: 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.aria-label]=\"_bodyAriaLabel()\"\n [attr.aria-labelledby]=\"_bodyAriaLabelledBy()\"\n [attr.aria-modal]=\"_bodyAriaModal()\"\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\" role=\"presentation\" aria-hidden=\"true\"></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 @if (_templateToDisplay()) {\n <ng-template [ngTemplateOutlet]=\"_templateToDisplay()!\"></ng-template>\n }\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:has(.fd-tokenizer--display){cursor:auto}.fd-popover__control:has(.fd-select__control.is-disabled){cursor:not-allowed;pointer-events:none}.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__control>a{white-space:nowrap}.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_Offset:-.5rem;--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Justify:center;--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;font-size:inherit}.fd-popover__body:after,.fd-popover__body:before{content:\"\";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;border-top:none;display:inline-block;height:0;top:calc(var(--fdPopover_Arrow_Size) * -1 + var(--fdPopover_Border_Width));width:0;z-index:1002}.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;border-top:none;display:inline-block;height:0;top:calc(var(--fdPopover_Arrow_Size) * -1);width:0;z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.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-footer>:last-child,.fd-popover__body>:last-child:not(.fd-popover__resize-handle){border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-menu{width:100%}.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)}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{-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:auto}.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-left:none;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;display:inline-block;height:0;left:auto!important;right:100%!important;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));width:0}.fd-popover__body--arrow-left:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-left:none;border-right:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;display:inline-block;height:0;left:auto!important;right:100%!important;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));width:0}.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-right:none;border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;display:inline-block;height:0;left:100%!important;right:auto!important;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));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-right:none;border-top:var(--fdPopover_Arrow_Size) solid transparent;display:inline-block;height:0;left:100%!important;right:auto!important;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));width:0}.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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.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:var(--fdPopover_Resize_Handle_Offset);--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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:-.5rem;--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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Container_Justify:flex-end}.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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Container_Justify:flex-start}.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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--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--after.fd-popover__body--bottom[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Container_Justify:flex-start}.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:var(--fdPopover_Resize_Handle_Offset);--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;height:1.5rem;line-height:normal;margin-block:0;margin-inline:0;min-width:1.5rem;padding-block:0;padding-inline:0;width:1.5rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);-ms-flex-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);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:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);line-height:1rem;overflow:hidden;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{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-popover__resize-handle:after{content:\"\\e24f\"}.fd-popover__resize-handle:after{display:-webkit-box;display:-ms-flexbox;display:flex;height:1rem;min-width:1rem;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;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.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,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}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--inline-help.fd-inline-help__content>.fd-scrollbar{border-radius:0}.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-popover__body-header:not(:has(~.fd-list)){border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-popover__body-header:not(:has(~.fd-list)) .fd-list__item:first-child,.fd-popover__body .fd-popover__body-header:not(:has(~.fd-list)) .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:not(:has(~.fd-popover__body-footer)){border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list:not(:has(~.fd-popover__body-footer)) .fd-list__item:last-child,.fd-popover__body .fd-list:not(:has(~.fd-popover__body-footer)) .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}.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start{left:-.3125rem}[dir=rtl] .fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start,.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start[dir=rtl]{left:auto;right:-.3125rem}.cdk-overlay-container{z-index:1002}.cdk-overlay-pane{max-width:100%;max-height:100%}\n/*!\n * Fundamental Library Styles v0.41.9\n * Copyright (c) 2026 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: i1.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 }); }
|
|
424
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
425
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: PopoverBodyComponent, isStandalone: true, selector: "fd-popover-body", inputs: { minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, ariaModal: { classPropertyName: "ariaModal", publicName: "ariaModal", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose" }, host: { listeners: { "keydown": "bodyKeyupHandler($event)" } }, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], viewQueries: [{ propertyName: "_cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }, { propertyName: "_scrollbar", first: true, predicate: ScrollbarDirective, descendants: true, isSignal: 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.aria-label]=\"_bodyAriaLabel()\"\n [attr.aria-labelledby]=\"_bodyAriaLabelledBy()\"\n [attr.aria-modal]=\"_bodyAriaModal()\"\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\" role=\"presentation\" aria-hidden=\"true\"></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 @if (_templateToDisplay()) {\n <ng-template [ngTemplateOutlet]=\"_templateToDisplay()!\"></ng-template>\n }\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:has(.fd-tokenizer--display){cursor:auto}.fd-popover__control:has(.fd-select__control.is-disabled){cursor:not-allowed;pointer-events:none}.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__control>a{white-space:nowrap}.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_Offset:-.5rem;--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Justify:center;--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;font-size:inherit}.fd-popover__body:after,.fd-popover__body:before{content:\"\";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;border-top:none;display:inline-block;height:0;top:calc(var(--fdPopover_Arrow_Size) * -1 + var(--fdPopover_Border_Width));width:0;z-index:1002}.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;border-top:none;display:inline-block;height:0;top:calc(var(--fdPopover_Arrow_Size) * -1);width:0;z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.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-footer>:last-child,.fd-popover__body>:last-child:not(.fd-popover__resize-handle){border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-menu{width:100%}.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)}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{-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:auto}.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-left:none;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;display:inline-block;height:0;left:auto!important;right:100%!important;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));width:0}.fd-popover__body--arrow-left:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-left:none;border-right:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;display:inline-block;height:0;left:auto!important;right:100%!important;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));width:0}.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-right:none;border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;display:inline-block;height:0;left:100%!important;right:auto!important;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));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-right:none;border-top:var(--fdPopover_Arrow_Size) solid transparent;display:inline-block;height:0;left:100%!important;right:auto!important;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));width:0}.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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.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:var(--fdPopover_Resize_Handle_Offset);--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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:-.5rem;--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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Container_Justify:flex-end}.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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Container_Justify:flex-start}.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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--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:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--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--after.fd-popover__body--bottom[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Container_Justify:flex-start}.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:var(--fdPopover_Resize_Handle_Offset);--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;height:1.5rem;line-height:normal;margin-block:0;margin-inline:0;min-width:1.5rem;padding-block:0;padding-inline:0;width:1.5rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);-ms-flex-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);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:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);line-height:1rem;overflow:hidden;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{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-popover__resize-handle:after{content:\"\\e24f\"}.fd-popover__resize-handle:after{display:-webkit-box;display:-ms-flexbox;display:flex;height:1rem;min-width:1rem;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;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.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,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}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--inline-help.fd-inline-help__content>.fd-scrollbar{border-radius:0}.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-popover__body-header:not(:has(~.fd-list)){border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-popover__body-header:not(:has(~.fd-list)) .fd-list__item:first-child,.fd-popover__body .fd-popover__body-header:not(:has(~.fd-list)) .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:not(:has(~.fd-popover__body-footer)){border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list:not(:has(~.fd-popover__body-footer)) .fd-list__item:last-child,.fd-popover__body .fd-list:not(:has(~.fd-popover__body-footer)) .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}.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start{left:-.3125rem}[dir=rtl] .fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start,.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start[dir=rtl]{left:auto;right:-.3125rem}.cdk-overlay-container{z-index:1002}.cdk-overlay-pane{max-width:100%;max-height:100%}\n/*!\n * Fundamental Library Styles v0.41.9\n * Copyright (c) 2026 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: i1.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 }); }
|
|
426
426
|
}
|
|
427
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
427
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverBodyComponent, decorators: [{
|
|
428
428
|
type: Component,
|
|
429
429
|
args: [{ selector: 'fd-popover-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], imports: [A11yModule, CdkScrollable, ScrollbarDirective, NgTemplateOutlet, ResizeHandleDirective, ResizeDirective], standalone: true, host: {
|
|
430
430
|
'(keydown)': 'bodyKeyupHandler($event)'
|
|
@@ -448,10 +448,10 @@ class PopoverContainerDirective {
|
|
|
448
448
|
this.refreshPosition$.next();
|
|
449
449
|
});
|
|
450
450
|
}
|
|
451
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
452
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
451
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverContainerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
452
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: PopoverContainerDirective, isStandalone: true, selector: "[fdPopoverContainer]", ngImport: i0 }); }
|
|
453
453
|
}
|
|
454
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
454
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverContainerDirective, decorators: [{
|
|
455
455
|
type: Directive,
|
|
456
456
|
args: [{
|
|
457
457
|
selector: '[fdPopoverContainer]',
|
|
@@ -488,10 +488,10 @@ class PopoverControlComponent {
|
|
|
488
488
|
elemChild.tabIndex = '0';
|
|
489
489
|
}
|
|
490
490
|
}
|
|
491
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
492
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
491
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
492
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: PopoverControlComponent, isStandalone: true, selector: "fd-popover-control, [fdPopoverControl]", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
493
493
|
}
|
|
494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
494
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverControlComponent, decorators: [{
|
|
495
495
|
type: Component,
|
|
496
496
|
args: [{
|
|
497
497
|
selector: 'fd-popover-control, [fdPopoverControl]',
|
|
@@ -557,10 +557,10 @@ class PopoverMobileComponent extends MobileModeBase {
|
|
|
557
557
|
ariaLabelledBy: this.titleId
|
|
558
558
|
});
|
|
559
559
|
}
|
|
560
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
561
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
560
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverMobileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
561
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: PopoverMobileComponent, isStandalone: true, selector: "fd-popover-mobile", viewQueries: [{ propertyName: "_dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<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 [mobile]=\"true\" (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", dependencies: [{ kind: "component", type: TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["twoLineClamp", "headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header", inputs: ["inShellbar"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
562
562
|
}
|
|
563
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
563
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverMobileComponent, decorators: [{
|
|
564
564
|
type: Component,
|
|
565
565
|
args: [{ selector: 'fd-popover-mobile', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
|
566
566
|
TemplateDirective,
|
|
@@ -582,11 +582,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImpor
|
|
|
582
582
|
* Use direct imports of components and directives.
|
|
583
583
|
*/
|
|
584
584
|
class PopoverMobileModule {
|
|
585
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
586
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.
|
|
587
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.
|
|
585
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverMobileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
586
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: PopoverMobileModule, imports: [DialogModule, ButtonComponent, PopoverMobileComponent], exports: [PopoverMobileComponent] }); }
|
|
587
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverMobileModule, providers: [DynamicComponentService], imports: [DialogModule, ButtonComponent, PopoverMobileComponent] }); }
|
|
588
588
|
}
|
|
589
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
589
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverMobileModule, decorators: [{
|
|
590
590
|
type: NgModule,
|
|
591
591
|
args: [{
|
|
592
592
|
imports: [DialogModule, ButtonComponent, PopoverMobileComponent],
|
|
@@ -724,8 +724,16 @@ class PopoverService {
|
|
|
724
724
|
this._viewportRuler = inject(ViewportRuler);
|
|
725
725
|
/** @hidden */
|
|
726
726
|
this._injector = inject(Injector);
|
|
727
|
-
/** @hidden Watches
|
|
727
|
+
/** @hidden Watches document.body while open for mutations that may affect the overlay's position. */
|
|
728
728
|
this._ancestorMutationObserver = null;
|
|
729
|
+
/** @hidden Pending layout measurement frame, cancelled when its open session ends. */
|
|
730
|
+
this._layoutShiftAnimationFrame = null;
|
|
731
|
+
/** @hidden Session identity used to reject callbacks retained after close, deactivate or reopen. */
|
|
732
|
+
this._layoutShiftObserverSession = 0;
|
|
733
|
+
/** @hidden Geometry captured after positioning, used to suppress updates for unchanged layout. */
|
|
734
|
+
this._layoutShiftGeometry = null;
|
|
735
|
+
/** @hidden */
|
|
736
|
+
this._ngZone = inject(NgZone);
|
|
729
737
|
/** @hidden Flag to prevent infinite loop when programmatically opening/closing */
|
|
730
738
|
this._programmaticChange = false;
|
|
731
739
|
/** @hidden Computed signal for body-related config to track dependencies */
|
|
@@ -778,8 +786,7 @@ class PopoverService {
|
|
|
778
786
|
this._clearHoverCloseTimer();
|
|
779
787
|
this._removeOverlayHoverListeners();
|
|
780
788
|
this._removeTriggerListeners();
|
|
781
|
-
this.
|
|
782
|
-
this._ancestorMutationObserver = null;
|
|
789
|
+
this._stopLayoutShiftObserver();
|
|
783
790
|
if (this._overlayRef) {
|
|
784
791
|
this._overlayRef.detach();
|
|
785
792
|
this._overlayRef.dispose();
|
|
@@ -820,8 +827,9 @@ class PopoverService {
|
|
|
820
827
|
}
|
|
821
828
|
/** Closes the popover. */
|
|
822
829
|
close(focusActiveElement = true) {
|
|
823
|
-
|
|
824
|
-
this.
|
|
830
|
+
// Disposal emits a detachment; don't close again and override the focus decision.
|
|
831
|
+
this._stopCloseListening$.next();
|
|
832
|
+
this._stopLayoutShiftObserver();
|
|
825
833
|
this._clearHoverCloseTimer();
|
|
826
834
|
this._removeOverlayHoverListeners();
|
|
827
835
|
if (this._overlayRef) {
|
|
@@ -836,7 +844,6 @@ class PopoverService {
|
|
|
836
844
|
if ((!this._overlayRef || !this._overlayRef.hasAttached()) && !this.disabled() && this._triggerElement) {
|
|
837
845
|
const position = this._getPositionStrategy();
|
|
838
846
|
this._overlayRef = this._overlay.create(this._getOverlayConfig(position));
|
|
839
|
-
this._startLayoutShiftObserver();
|
|
840
847
|
if (this._placementContainerValue) {
|
|
841
848
|
const placementElement = this._placementContainerValue instanceof ElementRef
|
|
842
849
|
? this._placementContainerValue.nativeElement
|
|
@@ -861,6 +868,7 @@ class PopoverService {
|
|
|
861
868
|
this._onLoad.next(this._getPopoverBody()._elementRef);
|
|
862
869
|
// Update position - this will trigger the positionChanges observable
|
|
863
870
|
this._overlayRef.updatePosition();
|
|
871
|
+
this._startLayoutShiftObserver();
|
|
864
872
|
}
|
|
865
873
|
}
|
|
866
874
|
/** method updating template or text inside rendered PopoverBody */
|
|
@@ -906,10 +914,12 @@ class PopoverService {
|
|
|
906
914
|
const refPosition = this._getPositionStrategy(positions);
|
|
907
915
|
this._listenForPositionChange(refPosition.positionChanges);
|
|
908
916
|
this._overlayRef.updatePositionStrategy(refPosition);
|
|
917
|
+
this._resetLayoutShiftGeometry();
|
|
909
918
|
}
|
|
910
919
|
/** Method called to refresh position of opened popover */
|
|
911
920
|
refreshPosition() {
|
|
912
921
|
this._overlayRef?.updatePosition();
|
|
922
|
+
this._resetLayoutShiftGeometry();
|
|
913
923
|
}
|
|
914
924
|
/** Temporary sets the ignoring of the event triggers. */
|
|
915
925
|
setIgnoreTriggers(ignore) {
|
|
@@ -1029,6 +1039,7 @@ class PopoverService {
|
|
|
1029
1039
|
* to enable it back in the future by initialise()
|
|
1030
1040
|
*/
|
|
1031
1041
|
deactivate() {
|
|
1042
|
+
this._stopLayoutShiftObserver();
|
|
1032
1043
|
// Close the popover if it's open
|
|
1033
1044
|
if (this.isOpen()) {
|
|
1034
1045
|
this.close();
|
|
@@ -1352,52 +1363,145 @@ class PopoverService {
|
|
|
1352
1363
|
}
|
|
1353
1364
|
/**
|
|
1354
1365
|
* @hidden
|
|
1355
|
-
* Starts a MutationObserver on document.body
|
|
1356
|
-
*
|
|
1366
|
+
* Starts a MutationObserver on document.body for DOM changes that may invalidate the
|
|
1367
|
+
* overlay position — including mutations in elements outside the trigger's
|
|
1357
1368
|
* nearest scroll container (e.g. a collapsible header above a table pushing the trigger down).
|
|
1358
1369
|
*
|
|
1359
1370
|
* Observed mutation types:
|
|
1360
1371
|
* - `childList`: elements added/removed from the DOM (Angular `@if`, ngIf, toast dismissed).
|
|
1361
1372
|
* - `attributes` with `attributeFilter: ['style', 'class']`: visibility toggled via CSS.
|
|
1362
1373
|
*
|
|
1363
|
-
*
|
|
1364
|
-
*
|
|
1374
|
+
* Starts after attachment and initial positioning to capture the initial geometry baseline.
|
|
1375
|
+
* The observer and its requestAnimationFrame pipeline are registered outside Angular so
|
|
1376
|
+
* their work does not schedule zone-driven change detection. Own-host mutations are ignored;
|
|
1377
|
+
* other mutations are coalesced into at most one geometry measurement per frame.
|
|
1378
|
+
*
|
|
1379
|
+
* Calls updatePosition() only when the captured origin, overlay size, viewport or fill-mode
|
|
1380
|
+
* trigger size changes, then captures the resulting geometry as the next baseline. This
|
|
1381
|
+
* lets unchanged-layout mutation feedback settle while preserving later genuine shifts.
|
|
1382
|
+
* There is no fixed update limit: a layout that keeps changing remains eligible for one
|
|
1383
|
+
* reposition per frame. Session and overlay identity checks reject stale callbacks.
|
|
1365
1384
|
*/
|
|
1366
1385
|
_startLayoutShiftObserver() {
|
|
1367
|
-
const
|
|
1368
|
-
if (!
|
|
1386
|
+
const overlayRef = this._overlayRef;
|
|
1387
|
+
if (!this._triggerElement || !overlayRef?.hasAttached()) {
|
|
1369
1388
|
return;
|
|
1370
1389
|
}
|
|
1371
|
-
|
|
1372
|
-
const
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
this.
|
|
1390
|
+
this._stopLayoutShiftObserver();
|
|
1391
|
+
const session = ++this._layoutShiftObserverSession;
|
|
1392
|
+
this._layoutShiftGeometry = this._getLayoutShiftGeometry(overlayRef);
|
|
1393
|
+
this._ngZone.runOutsideAngular(() => {
|
|
1394
|
+
const scheduleUpdate = (records) => {
|
|
1395
|
+
// Skip self-caused mutations: updatePosition() writes `style` on hostElement
|
|
1396
|
+
// (the CDK position bounding-box) and its descendants. Using hostElement as the
|
|
1397
|
+
// scope boundary covers both the default case (.cdk-overlay-container) and the
|
|
1398
|
+
// placementContainer case where the host is moved outside that container.
|
|
1399
|
+
if (records.every((record) => overlayRef.hostElement.contains(record.target))) {
|
|
1400
|
+
return;
|
|
1401
|
+
}
|
|
1402
|
+
if (this._layoutShiftAnimationFrame !== null) {
|
|
1403
|
+
return;
|
|
1404
|
+
}
|
|
1405
|
+
this._layoutShiftAnimationFrame = window.requestAnimationFrame(() => {
|
|
1406
|
+
if (session !== this._layoutShiftObserverSession || this._overlayRef !== overlayRef) {
|
|
1407
|
+
return;
|
|
1408
|
+
}
|
|
1409
|
+
this._layoutShiftAnimationFrame = null;
|
|
1410
|
+
if (!overlayRef.hasAttached()) {
|
|
1411
|
+
return;
|
|
1412
|
+
}
|
|
1413
|
+
const geometry = this._getLayoutShiftGeometry(overlayRef);
|
|
1414
|
+
if (this._sameLayoutShiftGeometry(this._layoutShiftGeometry, geometry)) {
|
|
1415
|
+
return;
|
|
1416
|
+
}
|
|
1417
|
+
overlayRef.updatePosition();
|
|
1418
|
+
this._layoutShiftGeometry = this._getLayoutShiftGeometry(overlayRef);
|
|
1419
|
+
});
|
|
1420
|
+
};
|
|
1421
|
+
this._ancestorMutationObserver = new MutationObserver(scheduleUpdate);
|
|
1422
|
+
this._ancestorMutationObserver.observe(document.body, {
|
|
1423
|
+
subtree: true,
|
|
1424
|
+
childList: true,
|
|
1425
|
+
attributes: true,
|
|
1426
|
+
attributeFilter: ['style', 'class']
|
|
1387
1427
|
});
|
|
1388
|
-
};
|
|
1389
|
-
this._ancestorMutationObserver = new MutationObserver(scheduleUpdate);
|
|
1390
|
-
this._ancestorMutationObserver.observe(document.body, {
|
|
1391
|
-
subtree: true,
|
|
1392
|
-
childList: true,
|
|
1393
|
-
attributes: true,
|
|
1394
|
-
attributeFilter: ['style', 'class']
|
|
1395
1428
|
});
|
|
1396
1429
|
}
|
|
1397
|
-
|
|
1398
|
-
|
|
1430
|
+
/**
|
|
1431
|
+
* @hidden
|
|
1432
|
+
* Ends the current observer session, disconnects observation and cancels its pending frame.
|
|
1433
|
+
* Invalidates session identity before clearing geometry so a retained callback cannot
|
|
1434
|
+
* reposition a replacement overlay or clear its pending frame.
|
|
1435
|
+
*/
|
|
1436
|
+
_stopLayoutShiftObserver() {
|
|
1437
|
+
this._layoutShiftObserverSession++;
|
|
1438
|
+
this._ancestorMutationObserver?.disconnect();
|
|
1439
|
+
this._ancestorMutationObserver = null;
|
|
1440
|
+
if (this._layoutShiftAnimationFrame !== null) {
|
|
1441
|
+
window.cancelAnimationFrame(this._layoutShiftAnimationFrame);
|
|
1442
|
+
this._layoutShiftAnimationFrame = null;
|
|
1443
|
+
}
|
|
1444
|
+
this._layoutShiftGeometry = null;
|
|
1445
|
+
}
|
|
1446
|
+
/**
|
|
1447
|
+
* @hidden
|
|
1448
|
+
* Captures the attached overlay's geometry after refreshPosition() or applyNewPosition().
|
|
1449
|
+
* Subsequent mutations are compared against that updated baseline, avoiding a redundant
|
|
1450
|
+
* observer-driven reposition for layout already handled by the explicit operation.
|
|
1451
|
+
*/
|
|
1452
|
+
_resetLayoutShiftGeometry() {
|
|
1453
|
+
if (this._overlayRef?.hasAttached()) {
|
|
1454
|
+
this._layoutShiftGeometry = this._getLayoutShiftGeometry(this._overlayRef);
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
/**
|
|
1458
|
+
* @hidden
|
|
1459
|
+
* Captures the effective origin (appendTo or trigger), overlay size and viewport geometry.
|
|
1460
|
+
* Includes the trigger's size in fill mode, where it can differ from the positioning origin.
|
|
1461
|
+
* Overlay x/y are positioning outputs and are excluded to avoid treating position writes
|
|
1462
|
+
* as new layout inputs. The snapshot does not track placement-container geometry.
|
|
1463
|
+
*/
|
|
1464
|
+
_getLayoutShiftGeometry(overlayRef) {
|
|
1465
|
+
const origin = this.appendTo() ?? this._triggerHtmlElement;
|
|
1466
|
+
const originElement = origin instanceof ElementRef ? origin.nativeElement : origin;
|
|
1467
|
+
const originRect = originElement.getBoundingClientRect();
|
|
1468
|
+
const overlayRect = overlayRef.overlayElement.getBoundingClientRect();
|
|
1469
|
+
const viewportRect = this._viewportRuler.getViewportRect();
|
|
1470
|
+
const triggerRect = this.fillControlMode() ? this._triggerHtmlElement.getBoundingClientRect() : null;
|
|
1471
|
+
return {
|
|
1472
|
+
originX: originRect.x,
|
|
1473
|
+
originY: originRect.y,
|
|
1474
|
+
originWidth: originRect.width,
|
|
1475
|
+
originHeight: originRect.height,
|
|
1476
|
+
overlayWidth: overlayRect.width,
|
|
1477
|
+
overlayHeight: overlayRect.height,
|
|
1478
|
+
viewportTop: viewportRect.top,
|
|
1479
|
+
viewportLeft: viewportRect.left,
|
|
1480
|
+
viewportWidth: viewportRect.width,
|
|
1481
|
+
viewportHeight: viewportRect.height,
|
|
1482
|
+
triggerWidth: triggerRect?.width ?? null,
|
|
1483
|
+
triggerHeight: triggerRect?.height ?? null
|
|
1484
|
+
};
|
|
1485
|
+
}
|
|
1486
|
+
/** @hidden Compares captured geometry; a missing previous snapshot requires positioning. */
|
|
1487
|
+
_sameLayoutShiftGeometry(previous, current) {
|
|
1488
|
+
return (previous?.originX === current.originX &&
|
|
1489
|
+
previous.originY === current.originY &&
|
|
1490
|
+
previous.originWidth === current.originWidth &&
|
|
1491
|
+
previous.originHeight === current.originHeight &&
|
|
1492
|
+
previous.overlayWidth === current.overlayWidth &&
|
|
1493
|
+
previous.overlayHeight === current.overlayHeight &&
|
|
1494
|
+
previous.viewportTop === current.viewportTop &&
|
|
1495
|
+
previous.viewportLeft === current.viewportLeft &&
|
|
1496
|
+
previous.viewportWidth === current.viewportWidth &&
|
|
1497
|
+
previous.viewportHeight === current.viewportHeight &&
|
|
1498
|
+
previous.triggerWidth === current.triggerWidth &&
|
|
1499
|
+
previous.triggerHeight === current.triggerHeight);
|
|
1500
|
+
}
|
|
1501
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1502
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverService }); }
|
|
1399
1503
|
}
|
|
1400
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
1504
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverService, decorators: [{
|
|
1401
1505
|
type: Injectable
|
|
1402
1506
|
}], ctorParameters: () => [] });
|
|
1403
1507
|
|
|
@@ -1440,10 +1544,10 @@ class PopoverTriggerDirective {
|
|
|
1440
1544
|
this._isExpandedSubscription.unsubscribe();
|
|
1441
1545
|
}
|
|
1442
1546
|
}
|
|
1443
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
1444
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
1547
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverTriggerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1548
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: PopoverTriggerDirective, isStandalone: true, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: { popover: ["fdPopoverTrigger", "popover"] }, host: { properties: { "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-controls": "this.ariaControls", "attr.aria-expanded": "this.ariaExpanded" } }, ngImport: i0 }); }
|
|
1445
1549
|
}
|
|
1446
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
1550
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverTriggerDirective, decorators: [{
|
|
1447
1551
|
type: Directive,
|
|
1448
1552
|
args: [{
|
|
1449
1553
|
selector: '[fdPopoverTrigger], [fd-popover-trigger]',
|
|
@@ -1944,8 +2048,8 @@ class PopoverComponent {
|
|
|
1944
2048
|
this._mobileModeComponentRef.destroy();
|
|
1945
2049
|
}
|
|
1946
2050
|
}
|
|
1947
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
1948
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
2051
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2052
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: PopoverComponent, isStandalone: true, selector: "fd-popover", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, mobile: { classPropertyName: "mobile", publicName: "mobile", isSignal: true, isRequired: false, transformFunction: null }, mobileConfig: { classPropertyName: "mobileConfig", publicName: "mobileConfig", isSignal: true, isRequired: false, transformFunction: null }, preventSpaceKeyScroll: { classPropertyName: "preventSpaceKeyScroll", publicName: "preventSpaceKeyScroll", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, fillControlMode: { classPropertyName: "fillControlMode", publicName: "fillControlMode", isSignal: true, isRequired: false, transformFunction: null }, closeOnOutsideClick: { classPropertyName: "closeOnOutsideClick", publicName: "closeOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscapeKey: { classPropertyName: "closeOnEscapeKey", publicName: "closeOnEscapeKey", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, triggers: { classPropertyName: "triggers", publicName: "triggers", isSignal: true, isRequired: false, transformFunction: null }, focusTrapped: { classPropertyName: "focusTrapped", publicName: "focusTrapped", isSignal: true, isRequired: false, transformFunction: null }, focusAutoCapture: { classPropertyName: "focusAutoCapture", publicName: "focusAutoCapture", isSignal: true, isRequired: false, transformFunction: null }, restoreFocusOnClose: { classPropertyName: "restoreFocusOnClose", publicName: "restoreFocusOnClose", isSignal: true, isRequired: false, transformFunction: null }, noArrow: { classPropertyName: "noArrow", publicName: "noArrow", isSignal: true, isRequired: false, transformFunction: null }, disableScrollbar: { classPropertyName: "disableScrollbar", publicName: "disableScrollbar", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, placementContainer: { classPropertyName: "placementContainer", publicName: "placementContainer", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, cdkPositions: { classPropertyName: "cdkPositions", publicName: "cdkPositions", isSignal: true, isRequired: false, transformFunction: null }, applyOverlay: { classPropertyName: "applyOverlay", publicName: "applyOverlay", isSignal: true, isRequired: false, transformFunction: null }, additionalBodyClass: { classPropertyName: "additionalBodyClass", publicName: "additionalBodyClass", isSignal: true, isRequired: false, transformFunction: null }, additionalTriggerClass: { classPropertyName: "additionalTriggerClass", publicName: "additionalTriggerClass", isSignal: true, isRequired: false, transformFunction: null }, closeOnNavigation: { classPropertyName: "closeOnNavigation", publicName: "closeOnNavigation", isSignal: true, isRequired: false, transformFunction: null }, fixedPosition: { classPropertyName: "fixedPosition", publicName: "fixedPosition", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, bodyAriaLabel: { classPropertyName: "bodyAriaLabel", publicName: "bodyAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, bodyRole: { classPropertyName: "bodyRole", publicName: "bodyRole", isSignal: true, isRequired: false, transformFunction: null }, bodyAriaLabelledBy: { classPropertyName: "bodyAriaLabelledBy", publicName: "bodyAriaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { trigger: "triggerChange", isOpen: "isOpenChange", beforeOpen: "beforeOpen" }, host: { listeners: { "keydown.escape": "_onEscapeKey($event)", "keydown.space": "_onKeyDown($event)", "keydown.enter": "_onKeyDown($event)" }, properties: { "class.fd-popover-custom--mobile": "mobile()", "class.fd-popover-custom--disabled": "disabled()", "attr.id": "id()" }, classAttribute: "fd-popover-custom" }, providers: [
|
|
1949
2053
|
PopoverService,
|
|
1950
2054
|
{
|
|
1951
2055
|
provide: FD_POPOVER_COMPONENT,
|
|
@@ -1954,7 +2058,7 @@ class PopoverComponent {
|
|
|
1954
2058
|
contentDensityObserverProviders()
|
|
1955
2059
|
], queries: [{ propertyName: "popoverBody", first: true, predicate: PopoverBodyComponent, descendants: true, isSignal: true }, { propertyName: "popoverBodyDirective", first: true, predicate: PopoverBodyDirective, descendants: true, isSignal: true }, { propertyName: "popoverControl", first: true, predicate: PopoverControlComponent, descendants: true, isSignal: true }, { propertyName: "popoverBodyContentTemplate", first: true, predicate: ["popoverBodyContent"], descendants: true, isSignal: true }, { propertyName: "popoverFooterContentTemplate", first: true, predicate: ["popoverFooterContent"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "triggerOrigin", first: true, predicate: CdkOverlayOrigin, descendants: true, isSignal: true }], ngImport: i0, template: "@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", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: A11yModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1956
2060
|
}
|
|
1957
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
2061
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverComponent, decorators: [{
|
|
1958
2062
|
type: Component,
|
|
1959
2063
|
args: [{ selector: 'fd-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, providers: [
|
|
1960
2064
|
PopoverService,
|
|
@@ -1979,8 +2083,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImpor
|
|
|
1979
2083
|
* Use direct imports of components and directives.
|
|
1980
2084
|
*/
|
|
1981
2085
|
class PopoverModule {
|
|
1982
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
1983
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.
|
|
2086
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2087
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: PopoverModule, imports: [PopoverControlComponent,
|
|
1984
2088
|
PopoverBodyComponent,
|
|
1985
2089
|
PopoverBodyHeaderDirective,
|
|
1986
2090
|
PopoverBodyFooterDirective,
|
|
@@ -1995,10 +2099,10 @@ class PopoverModule {
|
|
|
1995
2099
|
PopoverTriggerDirective,
|
|
1996
2100
|
PopoverContainerDirective,
|
|
1997
2101
|
PopoverBodyDirective] }); }
|
|
1998
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.
|
|
2102
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverModule, imports: [PopoverBodyComponent,
|
|
1999
2103
|
PopoverComponent] }); }
|
|
2000
2104
|
}
|
|
2001
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
2105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverModule, decorators: [{
|
|
2002
2106
|
type: NgModule,
|
|
2003
2107
|
args: [{
|
|
2004
2108
|
imports: [
|