@fundamental-ngx/core 0.64.4-rc.2 → 0.64.4
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-popover.mjs +142 -55
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +31 -42
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/package.json +3 -3
- package/schematics/package.json +1 -1
- package/types/fundamental-ngx-core-popover.d.ts +50 -15
- package/types/fundamental-ngx-core-product-switch.d.ts +10 -19
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { TAB, ENTER, SPACE, DOWN_ARROW, UP_ARROW, RIGHT_ARROW, LEFT_ARROW } from '@angular/cdk/keycodes';
|
|
2
2
|
import * as i1 from '@angular/cdk/scrolling';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { EventEmitter,
|
|
4
|
+
import { EventEmitter, model, computed, inject, ElementRef, DestroyRef, effect, Output, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, Directive, InjectionToken, input, booleanAttribute, output, signal, contentChild, NgModule } from '@angular/core';
|
|
5
5
|
import { Subscription, Subject } from 'rxjs';
|
|
6
6
|
import { RtlService, KeyUtil, DndItemDirective, DndListDirective } from '@fundamental-ngx/cdk/utils';
|
|
7
7
|
import { NgTemplateOutlet } from '@angular/common';
|
|
8
8
|
import { AvatarComponent } from '@fundamental-ngx/core/avatar';
|
|
9
|
-
import { BusyIndicatorComponent } from '@fundamental-ngx/core/busy-indicator';
|
|
10
9
|
import { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent } from '@fundamental-ngx/core/icon';
|
|
11
10
|
import { resolveTranslationSignalFn, FdTranslatePipe } from '@fundamental-ngx/i18n';
|
|
12
11
|
import { ButtonComponent } from '@fundamental-ngx/core/button';
|
|
@@ -28,8 +27,6 @@ class ProductSwitchBodyComponent {
|
|
|
28
27
|
this.productsChange = new EventEmitter();
|
|
29
28
|
/** Event emitted on product click */
|
|
30
29
|
this.itemClicked = new EventEmitter();
|
|
31
|
-
/** Whether the product switch body is in a loading/busy state. */
|
|
32
|
-
this.busy = input(false, { ...(ngDevMode ? { debugName: "busy" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
33
30
|
/** Whether the product switch body is open. When set to true, focuses the first item. */
|
|
34
31
|
this.isOpen = model(false, /* @ts-ignore */
|
|
35
32
|
...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
@@ -43,13 +40,10 @@ class ProductSwitchBodyComponent {
|
|
|
43
40
|
if (item.subtitle) {
|
|
44
41
|
parts.push(item.subtitle);
|
|
45
42
|
}
|
|
46
|
-
if (item.
|
|
47
|
-
const
|
|
48
|
-
if (
|
|
49
|
-
|
|
50
|
-
if (label) {
|
|
51
|
-
parts.push(label);
|
|
52
|
-
}
|
|
43
|
+
if (item.target && item.target !== '_self') {
|
|
44
|
+
const label = targetLabels[item.target];
|
|
45
|
+
if (label) {
|
|
46
|
+
parts.push(label);
|
|
53
47
|
}
|
|
54
48
|
}
|
|
55
49
|
return parts.join(' ');
|
|
@@ -75,9 +69,16 @@ class ProductSwitchBodyComponent {
|
|
|
75
69
|
/** @hidden */
|
|
76
70
|
this._elementRef = inject(ElementRef);
|
|
77
71
|
/** @hidden */
|
|
72
|
+
this._destroyRef = inject(DestroyRef);
|
|
73
|
+
/** @hidden */
|
|
78
74
|
this._triggerElement = null;
|
|
79
|
-
|
|
75
|
+
/** @hidden */
|
|
76
|
+
this._lastFocusedIndex = -1;
|
|
80
77
|
effect(() => this._syncFocusWithOpenState());
|
|
78
|
+
const el = this._elementRef.nativeElement;
|
|
79
|
+
const onFocusIn = (event) => this._trackFocusedItem(event);
|
|
80
|
+
el.addEventListener('focusin', onFocusIn);
|
|
81
|
+
this._destroyRef.onDestroy(() => el.removeEventListener('focusin', onFocusIn));
|
|
81
82
|
}
|
|
82
83
|
/** @hidden */
|
|
83
84
|
ngOnInit() {
|
|
@@ -92,22 +93,13 @@ class ProductSwitchBodyComponent {
|
|
|
92
93
|
ngOnDestroy() {
|
|
93
94
|
this._subscriptions.unsubscribe();
|
|
94
95
|
}
|
|
95
|
-
_onDragStart() {
|
|
96
|
-
this._wasDragged = true;
|
|
97
|
-
}
|
|
98
96
|
/** @hidden */
|
|
99
97
|
_itemClick(item, event) {
|
|
100
|
-
|
|
101
|
-
this._wasDragged = false;
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
98
|
+
this.products.forEach((product) => (product.selected = product === item));
|
|
104
99
|
this.itemClicked.emit();
|
|
105
100
|
if (item.callback) {
|
|
106
101
|
item.callback(event);
|
|
107
102
|
}
|
|
108
|
-
if (item.url && !item.callback) {
|
|
109
|
-
window.open(item.url, item.target ?? '_blank');
|
|
110
|
-
}
|
|
111
103
|
}
|
|
112
104
|
/** Method called on products change */
|
|
113
105
|
_productSwitchItemsChangeHandle(dropEvent) {
|
|
@@ -121,8 +113,8 @@ class ProductSwitchBodyComponent {
|
|
|
121
113
|
event.preventDefault();
|
|
122
114
|
}
|
|
123
115
|
if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {
|
|
124
|
-
// Click the inner <a> when one exists to
|
|
125
|
-
// while also bubbling up to the <li>'s (click) handler to fire itemClicked.
|
|
116
|
+
// Click the inner <a> when one exists to triggers browser navigation (including target handling),
|
|
117
|
+
// while also bubbling up to the <li>'s (click) handler to update selected state and fire itemClicked.
|
|
126
118
|
const anchor = target.querySelector('a.fd-product-switch__link');
|
|
127
119
|
(anchor ?? target).click();
|
|
128
120
|
}
|
|
@@ -136,21 +128,17 @@ class ProductSwitchBodyComponent {
|
|
|
136
128
|
}
|
|
137
129
|
/** @hidden */
|
|
138
130
|
_isSmallMode() {
|
|
139
|
-
return this.products?.length
|
|
140
|
-
}
|
|
141
|
-
/** @hidden */
|
|
142
|
-
_isTwoColumnMode() {
|
|
143
|
-
return this.products?.length < 3;
|
|
131
|
+
return this.products?.length < 7;
|
|
144
132
|
}
|
|
145
133
|
/** @hidden */
|
|
146
134
|
_isListMode() {
|
|
147
135
|
return this._listMode || this.forceListMode;
|
|
148
136
|
}
|
|
149
|
-
/** @hidden Focuses the
|
|
137
|
+
/** @hidden Focuses the appropriate item on open, or returns focus to the trigger on close. */
|
|
150
138
|
_syncFocusWithOpenState() {
|
|
151
139
|
if (this.isOpen()) {
|
|
152
140
|
this._triggerElement = document.activeElement;
|
|
153
|
-
this._focusItemAtIndex(0);
|
|
141
|
+
this._focusItemAtIndex(this._lastFocusedIndex >= 0 ? this._lastFocusedIndex : 0);
|
|
154
142
|
}
|
|
155
143
|
else if (this._triggerElement) {
|
|
156
144
|
this._triggerElement.focus();
|
|
@@ -162,9 +150,17 @@ class ProductSwitchBodyComponent {
|
|
|
162
150
|
const items = this._elementRef.nativeElement.querySelectorAll('.fd-product-switch__item');
|
|
163
151
|
items[index]?.focus();
|
|
164
152
|
}
|
|
153
|
+
/** @hidden Records the index of the last focused product item so it can be restored on reopen. */
|
|
154
|
+
_trackFocusedItem(event) {
|
|
155
|
+
const items = Array.from(this._elementRef.nativeElement.querySelectorAll('.fd-product-switch__item'));
|
|
156
|
+
const index = items.indexOf(event.target);
|
|
157
|
+
if (index !== -1) {
|
|
158
|
+
this._lastFocusedIndex = index;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
165
161
|
/** @hidden */
|
|
166
162
|
_checkSize(width) {
|
|
167
|
-
if (this.
|
|
163
|
+
if (this._isSmallMode()) {
|
|
168
164
|
this._listMode = width < containerWidthPxSmallMode;
|
|
169
165
|
}
|
|
170
166
|
else {
|
|
@@ -243,18 +239,11 @@ class ProductSwitchBodyComponent {
|
|
|
243
239
|
}
|
|
244
240
|
}
|
|
245
241
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProductSwitchBodyComponent, deps: [{ token: i1.ViewportRuler }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
246
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: ProductSwitchBodyComponent, isStandalone: true, selector: "fd-product-switch-body", inputs: { dragAndDropEnabled: { classPropertyName: "dragAndDropEnabled", publicName: "dragAndDropEnabled", isSignal: false, isRequired: false, transformFunction: null }, products: { classPropertyName: "products", publicName: "products", isSignal: false, isRequired: false, transformFunction: null }, forceListMode: { classPropertyName: "forceListMode", publicName: "forceListMode", isSignal: false, isRequired: false, transformFunction: null }, busy: { classPropertyName: "busy", publicName: "busy", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { productsChange: "productsChange", itemClicked: "itemClicked", isOpen: "isOpenChange" }, ngImport: i0, template: "<fd-busy-indicator [loading]=\"busy()\">\n <div\n class=\"fd-product-switch__body\"\n [class.fd-product-switch__body--col-2]=\"_isTwoColumnMode() && !_isListMode()\"\n [class.fd-product-switch__body--col-3]=\"_isSmallMode() && !_isListMode()\"\n [class.fd-product-switch__body--mobile]=\"_isListMode()\"\n >\n <ul\n fd-dnd-list\n role=\"menu\"\n class=\"fd-product-switch__list\"\n [items]=\"products\"\n [gridMode]=\"!_isListMode()\"\n (itemDropped)=\"_productSwitchItemsChangeHandle($event)\"\n >\n @for (product of products; track product; let i = $index) {\n <li\n fd-dnd-item\n tabindex=\"0\"\n role=\"menuitem\"\n class=\"fd-product-switch__item\"\n [attr.aria-label]=\"_itemAriaLabel()(product)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"products.length\"\n (keydown)=\"_keyDownHandle($event)\"\n (click)=\"_itemClick(product, $event)\"\n [draggable]=\"!product.disabledDragAndDrop && dragAndDropEnabled\"\n [stickInPlace]=\"!!product.stickToPosition\"\n (started)=\"_onDragStart()\"\n >\n @if (product.url) {\n <a\n class=\"fd-product-switch__link\"\n [href]=\"product.url\"\n [target]=\"product.target ?? '_blank'\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n (click)=\"$event.preventDefault()\"\n >\n <ng-container\n *ngTemplateOutlet=\"itemContent; context: { $implicit: product }\"\n ></ng-container>\n </a>\n } @else {\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: product }\"></ng-container>\n }\n </li>\n }\n </ul>\n </div>\n</fd-busy-indicator>\n\n<ng-template #itemContent let-product>\n @if (product.avatar) {\n <fd-avatar\n size=\"s\"\n [glyph]=\"product.avatar.glyph ?? null\"\n [label]=\"product.avatar.label ?? null\"\n [circle]=\"!!product.avatar.circle\"\n [image]=\"product.avatar.image ?? null\"\n [contain]=\"!!product.avatar.contain\"\n [transparent]=\"!!product.avatar.transparent\"\n [placeholder]=\"!!product.avatar.placeholder\"\n [tile]=\"!!product.avatar.tile\"\n [colorAccent]=\"product.avatar.colorAccent\"\n [colorIndication]=\"product.avatar.colorIndication\"\n [border]=\"!!product.avatar.border\"\n [alterIcon]=\"product.avatar.alterIcon ?? null\"\n [backupImage]=\"product.avatar.backupImage ?? null\"\n [ariaLabel]=\"product.avatar.ariaLabel ?? null\"\n >\n </fd-avatar>\n } @else {\n <fd-icon\n [font]=\"product.font || FD_DEFAULT_ICON_FONT_FAMILY\"\n role=\"presentation\"\n class=\"fd-product-switch__icon\"\n [glyph]=\"product.icon\"\n ></fd-icon>\n }\n\n <div class=\"fd-product-switch__text\">\n <div class=\"fd-product-switch__title\">{{ product.title }}</div>\n @if (product.subtitle) {\n <div class=\"fd-product-switch__subtitle\">{{ product.subtitle }}</div>\n }\n </div>\n</ng-template>\n", styles: [".drag-placeholder{opacity:.3;position:absolute}.fd-product-switch{--fdProduct_Switch_Item_Border_Color:transparent;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-product-switch:after,.fd-product-switch:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__list{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.5rem;width:46.5rem}.fd-product-switch__list:after,.fd-product-switch__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:11.25rem;min-height:7.375rem;text-align:center;-webkit-box-flex:1;background-color:var(--sapList_Background);border-radius:var(--sapElement_BorderCornerRadius);-webkit-box-shadow:var(--fdProductSwitch_Shadow);box-shadow:var(--fdProductSwitch_Shadow);-ms-flex:1 0 25%;flex:1 0 25%;outline:.125rem solid var(--fdProduct_Switch_Item_Border_Color);outline-offset:-.125rem;padding-block:1rem;padding-inline:.5rem}.fd-product-switch__item:after,.fd-product-switch__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__item .fd-product-switch__title:not(:last-child){white-space:normal}.fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__item.is-hover,.fd-product-switch__item:hover{background-color:var(--sapList_Hover_Background);cursor:pointer}.fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__item.is-active,.fd-product-switch__item:active{--fdProduct_Switch_Item_Border_Color:var(--sapContent_FocusColor);background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-active.is-focus,.fd-product-switch__item.is-active:focus,.fd-product-switch__item:active.is-focus,.fd-product-switch__item:active:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem}.fd-product-switch__item.is-active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__item.is-active .fd-product-switch__title,.fd-product-switch__item:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__subtitle,.fd-product-switch__item:active .fd-product-switch__title{color:var(--sapList_Active_TextColor)}.fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:before,.fd-product-switch__item.is-active:hover .fd-product-switch__title:after,.fd-product-switch__item.is-active:hover .fd-product-switch__title:before,.fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__item:active .fd-product-switch__title:before,.fd-product-switch__item:active.is-hover .fd-product-switch__title:after,.fd-product-switch__item:active.is-hover .fd-product-switch__title:before,.fd-product-switch__item:active:hover .fd-product-switch__title:after,.fd-product-switch__item:active:hover .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.selected{--fdProduct_Switch_Item_Border_Color:var(--sapContent_FocusColor)}.fd-product-switch__item.selected,.fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_SelectionBackgroundColor)}.fd-product-switch__item.selected.is-hover,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__item.selected:hover,.fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__item.selected.is-active,.fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__item.selected:active,.fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-focus,.fd-product-switch__item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-product-switch__item.dragged{-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2);cursor:-webkit-grabbing;cursor:grabbing}.fd-product-switch__item.dragged,.fd-product-switch__item.dragged:active,.fd-product-switch__item.dragged:hover{background-color:var(--sapList_Background)}.fd-product-switch__item.dragged:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon[class*=sap-icon]{color:var(--sapContent_IconColor)}.fd-product-switch__item.dragged:active .fd-product-switch__title,.fd-product-switch__item.dragged:hover .fd-product-switch__title{color:var(--sapGroup_TitleTextColor)}.fd-product-switch__item.dragged:active .fd-product-switch__subtitle,.fd-product-switch__item.dragged:hover .fd-product-switch__subtitle{color:var(--sapContent_LabelColor)}.fd-product-switch__item.dragged.selected{border:none;-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2)}.fd-product-switch__item.dragged.is-hover,.fd-product-switch__item.dragged:hover{outline:none}.fd-product-switch__icon [class*=sap-icon],.fd-product-switch__icon[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_IconColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:inherit;font-size:1.5rem;line-height:1;min-height:3rem;min-width:3rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-product-switch__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;text-shadow:var(--fdProductSwitch_Text_Shadow);width:100%}.fd-product-switch__text:after,.fd-product-switch__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapTitleColor);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;white-space:normal;z-index:1}.fd-product-switch__title:after,.fd-product-switch__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__title:before{left:9.4rem;width:1rem;z-index:2}.fd-product-switch__title:after{left:9.4rem;width:1rem;z-index:3}.fd-product-switch__subtitle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;white-space:normal}.fd-product-switch__subtitle:after,.fd-product-switch__subtitle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body{background-color:var(--sapList_Background);border:0;border-radius:var(--sapElement_BorderCornerRadius);-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;max-height:calc(100vh - 76px);overflow-y:auto;padding-block:0;padding-block:1.5rem;padding-inline:0;padding-inline:1rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-product-switch__body:after,.fd-product-switch__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body.is-focus,.fd-product-switch__body:focus{outline:none;z-index:5}.fd-product-switch__body::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-product-switch__body::-webkit-scrollbar-corner,.fd-product-switch__body::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-product-switch__body::-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-product-switch__body::-webkit-scrollbar-thumb:active,.fd-product-switch__body::-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-product-switch__body--col-3 .fd-product-switch__list{width:34.75rem}.fd-product-switch__body--mobile{border-radius:0;max-height:100vh;max-width:353px;overflow-x:hidden;padding-block:1rem;padding-inline:1rem;width:100%}.fd-product-switch__body--mobile .fd-product-switch__list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0;width:100%}.fd-product-switch__body--mobile .fd-product-switch__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;border-radius:var(--sapElement_BorderCornerRadius);-ms-flex-direction:row;flex-direction:row;gap:.75rem;max-width:100%;min-height:5rem;padding-block:1rem;padding-inline:1rem;text-align:left;-webkit-box-flex:1;-ms-flex:auto;flex:auto}.fd-product-switch__body--mobile .fd-product-switch__item:after,.fd-product-switch__body--mobile .fd-product-switch__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapTile_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item.is-active:focus,.fd-product-switch__body--mobile .fd-product-switch__item:active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:active:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem}.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{left:21.7rem;width:1rem;z-index:2}.fd-product-switch__body--mobile .fd-product-switch__text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;height:100%;justify-content:space-between}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child),[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):after{display:none}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):before{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__title:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{right:21.8rem;width:2rem}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:before{right:21.8rem;text-align:right;width:2rem;z-index:2}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:after{display:none;z-index:3}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item:active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__subtitle{color:var(--sapList_Active_TextColor)}.fd-product-switch__body{border-radius:var(--sapPopover_BorderCornerRadius, var(--sapElement_BorderCornerRadius));max-height:33rem}.fd-product-switch__body--col-2 .fd-product-switch__list{width:23rem}.fd-product-switch__body--mobile .fd-product-switch__item{min-height:6rem}.fd-product-switch__list{position:relative}.fd-product-switch__link{display:contents;color:inherit;text-decoration:none}.fd-product-switch__item.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-product-switch__body--mobile .fd-product-switch__item.cdk-drag-dragging{outline:none;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-dnd-item{position:relative}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:before,.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:after{background-color:#fff;background-color:var(--sapList_Background, #fff)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__icon{color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title{color:#32363a;color:var(--sapGroup_TitleTextColor, #32363a)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__subtitle{color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item:active{background-color:#fff;background-color:var(--sapList_Background, #fff)}[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__title,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__subtitle{text-align:right}\n/*! Bundled license information:\n\nfundamental-styles/dist/product-switch.css:\n (*!\n * Fundamental Library Styles v0.41.8\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*/\n", ".cdk-drag-dragging{z-index:15;background-color:#fff;background-color:var(--sapList_Background, #fff);opacity:.8;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.fd-replace-indicator{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;border-width:.125rem;border-style:solid;background-color:transparent;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor)}.fd-replace-indicator:before{content:\"\";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#0854a0;background-color:var(--sapContent_DragAndDropActiveColor, #0854a0);opacity:.5}.cdk-drag{cursor:grab}.cdk-drag.cdk-drag-dragging{cursor:grabbing}.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.cdk-drag-disabled{cursor:default}.fd-dnd-placeholder{top:0;left:0;position:absolute;opacity:.3;z-index:-1}.fd-dnd-item{position:relative;cursor:grab}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15;cursor:grabbing}.drop-area__line{z-index:9999;position:absolute;background:#0854a0;background:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--vertical{top:0;height:calc(100% - .5rem);width:2px}.drop-area__line--vertical.after{right:.2rem}.drop-area__line--vertical.before{left:-.3rem}.drop-area__line--vertical:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:-.2rem;top:-.5rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--horizontal{left:0;width:100%;height:2px}.drop-area__line--horizontal.before{top:0}.drop-area__line--horizontal.after{bottom:0}.drop-area__line--horizontal:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:0;top:-.2rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.fd-dnd-list{position:relative}\n"], dependencies: [{ kind: "directive", type: DndItemDirective, selector: "[fdkDndItem], [fd-dnd-item]", inputs: ["fdkDndItem", "applyDragItemClass", "containerSelector", "stickInPlace", "draggable", "classWhenElementDragged"], outputs: ["moved", "released", "started"] }, { kind: "directive", type: DndListDirective, selector: "[fdkDndList], [fd-dnd-list]", inputs: ["gridMode", "dropMode", "threshold", "items", "draggable", "dropPredicate", "dragoverPredicate"], outputs: ["dropPredicateCalculating", "itemsChange", "itemDropped", "dropCancelled"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "component", type: AvatarComponent, selector: "fd-avatar", inputs: ["id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "interactive", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive", "preventWheelEvents"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
242
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: ProductSwitchBodyComponent, isStandalone: true, selector: "fd-product-switch-body", inputs: { dragAndDropEnabled: { classPropertyName: "dragAndDropEnabled", publicName: "dragAndDropEnabled", isSignal: false, isRequired: false, transformFunction: null }, products: { classPropertyName: "products", publicName: "products", isSignal: false, isRequired: false, transformFunction: null }, forceListMode: { classPropertyName: "forceListMode", publicName: "forceListMode", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { productsChange: "productsChange", itemClicked: "itemClicked", isOpen: "isOpenChange" }, ngImport: i0, template: "<div\n class=\"fd-product-switch__body\"\n [class.fd-product-switch__body--col-3]=\"_isSmallMode() && !_isListMode()\"\n [class.fd-product-switch__body--mobile]=\"_isListMode()\"\n>\n <ul\n fd-dnd-list\n role=\"menu\"\n class=\"fd-product-switch__list\"\n [items]=\"products\"\n [gridMode]=\"!_isListMode()\"\n (itemDropped)=\"_productSwitchItemsChangeHandle($event)\"\n >\n @for (product of products; track product; let i = $index) {\n <li\n fd-dnd-item\n tabindex=\"0\"\n role=\"menuitem\"\n class=\"fd-product-switch__item\"\n [class.selected]=\"product.selected\"\n [attr.aria-label]=\"_itemAriaLabel()(product)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"products.length\"\n (keydown)=\"_keyDownHandle($event)\"\n (click)=\"_itemClick(product, $event)\"\n [draggable]=\"!product.disabledDragAndDrop && dragAndDropEnabled\"\n [stickInPlace]=\"!!product.stickToPosition\"\n >\n @if (product.url) {\n <a\n class=\"fd-product-switch__link\"\n [href]=\"product.url\"\n [target]=\"product.target || '_self'\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: product }\"></ng-container>\n </a>\n } @else {\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: product }\"></ng-container>\n }\n </li>\n }\n </ul>\n</div>\n\n<ng-template #itemContent let-product>\n @if (product.avatar) {\n <fd-avatar\n size=\"s\"\n [glyph]=\"product.avatar.glyph ?? null\"\n [label]=\"product.avatar.label ?? null\"\n [circle]=\"!!product.avatar.circle\"\n [image]=\"product.avatar.image ?? null\"\n [contain]=\"!!product.avatar.contain\"\n [transparent]=\"!!product.avatar.transparent\"\n [placeholder]=\"!!product.avatar.placeholder\"\n [tile]=\"!!product.avatar.tile\"\n [colorAccent]=\"product.avatar.colorAccent\"\n [colorIndication]=\"product.avatar.colorIndication\"\n [border]=\"!!product.avatar.border\"\n [alterIcon]=\"product.avatar.alterIcon ?? null\"\n [backupImage]=\"product.avatar.backupImage ?? null\"\n [ariaLabel]=\"product.avatar.ariaLabel ?? null\"\n >\n </fd-avatar>\n } @else {\n <fd-icon\n [font]=\"product.font || FD_DEFAULT_ICON_FONT_FAMILY\"\n role=\"presentation\"\n class=\"fd-product-switch__icon\"\n [glyph]=\"product.icon\"\n ></fd-icon>\n }\n\n <div class=\"fd-product-switch__text\">\n <div class=\"fd-product-switch__title\">{{ product.title }}</div>\n @if (product.subtitle) {\n <div class=\"fd-product-switch__subtitle\">{{ product.subtitle }}</div>\n }\n </div>\n</ng-template>\n", styles: [".drag-placeholder{opacity:.3;position:absolute}.fd-product-switch{--fdProduct_Switch_Item_Border_Color:transparent;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-product-switch:after,.fd-product-switch:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__list{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.5rem;width:46.5rem}.fd-product-switch__list:after,.fd-product-switch__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:11.25rem;min-height:7.375rem;text-align:center;-webkit-box-flex:1;background-color:var(--sapList_Background);border-radius:var(--sapElement_BorderCornerRadius);-webkit-box-shadow:var(--fdProductSwitch_Shadow);box-shadow:var(--fdProductSwitch_Shadow);-ms-flex:1 0 25%;flex:1 0 25%;outline:.125rem solid var(--fdProduct_Switch_Item_Border_Color);outline-offset:-.125rem;padding-block:1rem;padding-inline:.5rem}.fd-product-switch__item:after,.fd-product-switch__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__item .fd-product-switch__title:not(:last-child){white-space:normal}.fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__item.is-hover,.fd-product-switch__item:hover{background-color:var(--sapList_Hover_Background);cursor:pointer}.fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__item.is-active,.fd-product-switch__item:active{--fdProduct_Switch_Item_Border_Color:var(--sapContent_FocusColor);background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-active.is-focus,.fd-product-switch__item.is-active:focus,.fd-product-switch__item:active.is-focus,.fd-product-switch__item:active:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem}.fd-product-switch__item.is-active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__item.is-active .fd-product-switch__title,.fd-product-switch__item:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__subtitle,.fd-product-switch__item:active .fd-product-switch__title{color:var(--sapList_Active_TextColor)}.fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:before,.fd-product-switch__item.is-active:hover .fd-product-switch__title:after,.fd-product-switch__item.is-active:hover .fd-product-switch__title:before,.fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__item:active .fd-product-switch__title:before,.fd-product-switch__item:active.is-hover .fd-product-switch__title:after,.fd-product-switch__item:active.is-hover .fd-product-switch__title:before,.fd-product-switch__item:active:hover .fd-product-switch__title:after,.fd-product-switch__item:active:hover .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.selected{--fdProduct_Switch_Item_Border_Color:var(--sapContent_FocusColor)}.fd-product-switch__item.selected,.fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_SelectionBackgroundColor)}.fd-product-switch__item.selected.is-hover,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__item.selected:hover,.fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__item.selected.is-active,.fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__item.selected:active,.fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-focus,.fd-product-switch__item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-product-switch__item.dragged{-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2);cursor:-webkit-grabbing;cursor:grabbing}.fd-product-switch__item.dragged,.fd-product-switch__item.dragged:active,.fd-product-switch__item.dragged:hover{background-color:var(--sapList_Background)}.fd-product-switch__item.dragged:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon[class*=sap-icon]{color:var(--sapContent_IconColor)}.fd-product-switch__item.dragged:active .fd-product-switch__title,.fd-product-switch__item.dragged:hover .fd-product-switch__title{color:var(--sapGroup_TitleTextColor)}.fd-product-switch__item.dragged:active .fd-product-switch__subtitle,.fd-product-switch__item.dragged:hover .fd-product-switch__subtitle{color:var(--sapContent_LabelColor)}.fd-product-switch__item.dragged.selected{border:none;-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2)}.fd-product-switch__item.dragged.is-hover,.fd-product-switch__item.dragged:hover{outline:none}.fd-product-switch__icon [class*=sap-icon],.fd-product-switch__icon[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_IconColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:inherit;font-size:1.5rem;line-height:1;min-height:3rem;min-width:3rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-product-switch__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;text-shadow:var(--fdProductSwitch_Text_Shadow);width:100%}.fd-product-switch__text:after,.fd-product-switch__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapTitleColor);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;white-space:normal;z-index:1}.fd-product-switch__title:after,.fd-product-switch__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__title:before{left:9.4rem;width:1rem;z-index:2}.fd-product-switch__title:after{left:9.4rem;width:1rem;z-index:3}.fd-product-switch__subtitle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;white-space:normal}.fd-product-switch__subtitle:after,.fd-product-switch__subtitle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body{background-color:var(--sapList_Background);border:0;border-radius:var(--sapElement_BorderCornerRadius);-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;max-height:calc(100vh - 76px);overflow-y:auto;padding-block:0;padding-block:1.5rem;padding-inline:0;padding-inline:1rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-product-switch__body:after,.fd-product-switch__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body.is-focus,.fd-product-switch__body:focus{outline:none;z-index:5}.fd-product-switch__body::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-product-switch__body::-webkit-scrollbar-corner,.fd-product-switch__body::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-product-switch__body::-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-product-switch__body::-webkit-scrollbar-thumb:active,.fd-product-switch__body::-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-product-switch__body--col-3 .fd-product-switch__list{width:34.75rem}.fd-product-switch__body--mobile{border-radius:0;max-height:100vh;max-width:353px;overflow-x:hidden;padding-block:1rem;padding-inline:1rem;width:100%}.fd-product-switch__body--mobile .fd-product-switch__list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0;width:100%}.fd-product-switch__body--mobile .fd-product-switch__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;border-radius:var(--sapElement_BorderCornerRadius);-ms-flex-direction:row;flex-direction:row;gap:.75rem;max-width:100%;min-height:5rem;padding-block:1rem;padding-inline:1rem;text-align:left;-webkit-box-flex:1;-ms-flex:auto;flex:auto}.fd-product-switch__body--mobile .fd-product-switch__item:after,.fd-product-switch__body--mobile .fd-product-switch__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapTile_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item.is-active:focus,.fd-product-switch__body--mobile .fd-product-switch__item:active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:active:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem}.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{left:21.7rem;width:1rem;z-index:2}.fd-product-switch__body--mobile .fd-product-switch__text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;height:100%;justify-content:space-between}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child),[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):after{display:none}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):before{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__title:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{right:21.8rem;width:2rem}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:before{right:21.8rem;text-align:right;width:2rem;z-index:2}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:after{display:none;z-index:3}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item:active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__subtitle{color:var(--sapList_Active_TextColor)}.fd-product-switch__list{position:relative}.fd-product-switch__link{display:contents;color:inherit;text-decoration:none}.fd-product-switch__item.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-product-switch__body--mobile .fd-product-switch__item.cdk-drag-dragging{outline:none;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-dnd-item{position:relative}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:before,.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:after{background-color:#fff;background-color:var(--sapList_Background, #fff)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__icon{color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title{color:#32363a;color:var(--sapGroup_TitleTextColor, #32363a)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__subtitle{color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item:active,.fd-dnd-item.fd-dnd-on-drag.selected{background-color:#fff;background-color:var(--sapList_Background, #fff)}[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__title,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__subtitle{text-align:right}\n/*! Bundled license information:\n\nfundamental-styles/dist/product-switch.css:\n (*!\n * Fundamental Library Styles v0.41.8\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*/\n", ".cdk-drag-dragging{z-index:15;background-color:#fff;background-color:var(--sapList_Background, #fff);opacity:.8;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.fd-replace-indicator{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;border-width:.125rem;border-style:solid;background-color:transparent;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor)}.fd-replace-indicator:before{content:\"\";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#0854a0;background-color:var(--sapContent_DragAndDropActiveColor, #0854a0);opacity:.5}.cdk-drag{cursor:grab}.cdk-drag.cdk-drag-dragging{cursor:grabbing}.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.cdk-drag-disabled{cursor:default}.fd-dnd-placeholder{top:0;left:0;position:absolute;opacity:.3;z-index:-1}.fd-dnd-item{position:relative;cursor:grab}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15;cursor:grabbing}.drop-area__line{z-index:9999;position:absolute;background:#0854a0;background:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--vertical{top:0;height:calc(100% - .5rem);width:2px}.drop-area__line--vertical.after{right:.2rem}.drop-area__line--vertical.before{left:-.3rem}.drop-area__line--vertical:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:-.2rem;top:-.5rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--horizontal{left:0;width:100%;height:2px}.drop-area__line--horizontal.before{top:0}.drop-area__line--horizontal.after{bottom:0}.drop-area__line--horizontal:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:0;top:-.2rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.fd-dnd-list{position:relative}\n"], dependencies: [{ kind: "directive", type: DndItemDirective, selector: "[fdkDndItem], [fd-dnd-item]", inputs: ["fdkDndItem", "applyDragItemClass", "containerSelector", "stickInPlace", "draggable", "classWhenElementDragged"], outputs: ["moved", "released", "started"] }, { kind: "directive", type: DndListDirective, selector: "[fdkDndList], [fd-dnd-list]", inputs: ["gridMode", "dropMode", "threshold", "items", "draggable", "dropPredicate", "dragoverPredicate"], outputs: ["dropPredicateCalculating", "itemsChange", "itemDropped", "dropCancelled"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "component", type: AvatarComponent, selector: "fd-avatar", inputs: ["id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "interactive", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
247
243
|
}
|
|
248
244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProductSwitchBodyComponent, decorators: [{
|
|
249
245
|
type: Component,
|
|
250
|
-
args: [{ selector: 'fd-product-switch-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
251
|
-
DndItemDirective,
|
|
252
|
-
DndListDirective,
|
|
253
|
-
IconComponent,
|
|
254
|
-
AvatarComponent,
|
|
255
|
-
NgTemplateOutlet,
|
|
256
|
-
BusyIndicatorComponent
|
|
257
|
-
], template: "<fd-busy-indicator [loading]=\"busy()\">\n <div\n class=\"fd-product-switch__body\"\n [class.fd-product-switch__body--col-2]=\"_isTwoColumnMode() && !_isListMode()\"\n [class.fd-product-switch__body--col-3]=\"_isSmallMode() && !_isListMode()\"\n [class.fd-product-switch__body--mobile]=\"_isListMode()\"\n >\n <ul\n fd-dnd-list\n role=\"menu\"\n class=\"fd-product-switch__list\"\n [items]=\"products\"\n [gridMode]=\"!_isListMode()\"\n (itemDropped)=\"_productSwitchItemsChangeHandle($event)\"\n >\n @for (product of products; track product; let i = $index) {\n <li\n fd-dnd-item\n tabindex=\"0\"\n role=\"menuitem\"\n class=\"fd-product-switch__item\"\n [attr.aria-label]=\"_itemAriaLabel()(product)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"products.length\"\n (keydown)=\"_keyDownHandle($event)\"\n (click)=\"_itemClick(product, $event)\"\n [draggable]=\"!product.disabledDragAndDrop && dragAndDropEnabled\"\n [stickInPlace]=\"!!product.stickToPosition\"\n (started)=\"_onDragStart()\"\n >\n @if (product.url) {\n <a\n class=\"fd-product-switch__link\"\n [href]=\"product.url\"\n [target]=\"product.target ?? '_blank'\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n (click)=\"$event.preventDefault()\"\n >\n <ng-container\n *ngTemplateOutlet=\"itemContent; context: { $implicit: product }\"\n ></ng-container>\n </a>\n } @else {\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: product }\"></ng-container>\n }\n </li>\n }\n </ul>\n </div>\n</fd-busy-indicator>\n\n<ng-template #itemContent let-product>\n @if (product.avatar) {\n <fd-avatar\n size=\"s\"\n [glyph]=\"product.avatar.glyph ?? null\"\n [label]=\"product.avatar.label ?? null\"\n [circle]=\"!!product.avatar.circle\"\n [image]=\"product.avatar.image ?? null\"\n [contain]=\"!!product.avatar.contain\"\n [transparent]=\"!!product.avatar.transparent\"\n [placeholder]=\"!!product.avatar.placeholder\"\n [tile]=\"!!product.avatar.tile\"\n [colorAccent]=\"product.avatar.colorAccent\"\n [colorIndication]=\"product.avatar.colorIndication\"\n [border]=\"!!product.avatar.border\"\n [alterIcon]=\"product.avatar.alterIcon ?? null\"\n [backupImage]=\"product.avatar.backupImage ?? null\"\n [ariaLabel]=\"product.avatar.ariaLabel ?? null\"\n >\n </fd-avatar>\n } @else {\n <fd-icon\n [font]=\"product.font || FD_DEFAULT_ICON_FONT_FAMILY\"\n role=\"presentation\"\n class=\"fd-product-switch__icon\"\n [glyph]=\"product.icon\"\n ></fd-icon>\n }\n\n <div class=\"fd-product-switch__text\">\n <div class=\"fd-product-switch__title\">{{ product.title }}</div>\n @if (product.subtitle) {\n <div class=\"fd-product-switch__subtitle\">{{ product.subtitle }}</div>\n }\n </div>\n</ng-template>\n", styles: [".drag-placeholder{opacity:.3;position:absolute}.fd-product-switch{--fdProduct_Switch_Item_Border_Color:transparent;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-product-switch:after,.fd-product-switch:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__list{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.5rem;width:46.5rem}.fd-product-switch__list:after,.fd-product-switch__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:11.25rem;min-height:7.375rem;text-align:center;-webkit-box-flex:1;background-color:var(--sapList_Background);border-radius:var(--sapElement_BorderCornerRadius);-webkit-box-shadow:var(--fdProductSwitch_Shadow);box-shadow:var(--fdProductSwitch_Shadow);-ms-flex:1 0 25%;flex:1 0 25%;outline:.125rem solid var(--fdProduct_Switch_Item_Border_Color);outline-offset:-.125rem;padding-block:1rem;padding-inline:.5rem}.fd-product-switch__item:after,.fd-product-switch__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__item .fd-product-switch__title:not(:last-child){white-space:normal}.fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__item.is-hover,.fd-product-switch__item:hover{background-color:var(--sapList_Hover_Background);cursor:pointer}.fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__item.is-active,.fd-product-switch__item:active{--fdProduct_Switch_Item_Border_Color:var(--sapContent_FocusColor);background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-active.is-focus,.fd-product-switch__item.is-active:focus,.fd-product-switch__item:active.is-focus,.fd-product-switch__item:active:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem}.fd-product-switch__item.is-active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__item.is-active .fd-product-switch__title,.fd-product-switch__item:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__subtitle,.fd-product-switch__item:active .fd-product-switch__title{color:var(--sapList_Active_TextColor)}.fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:before,.fd-product-switch__item.is-active:hover .fd-product-switch__title:after,.fd-product-switch__item.is-active:hover .fd-product-switch__title:before,.fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__item:active .fd-product-switch__title:before,.fd-product-switch__item:active.is-hover .fd-product-switch__title:after,.fd-product-switch__item:active.is-hover .fd-product-switch__title:before,.fd-product-switch__item:active:hover .fd-product-switch__title:after,.fd-product-switch__item:active:hover .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.selected{--fdProduct_Switch_Item_Border_Color:var(--sapContent_FocusColor)}.fd-product-switch__item.selected,.fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_SelectionBackgroundColor)}.fd-product-switch__item.selected.is-hover,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__item.selected:hover,.fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__item.selected.is-active,.fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__item.selected:active,.fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-focus,.fd-product-switch__item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-product-switch__item.dragged{-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2);cursor:-webkit-grabbing;cursor:grabbing}.fd-product-switch__item.dragged,.fd-product-switch__item.dragged:active,.fd-product-switch__item.dragged:hover{background-color:var(--sapList_Background)}.fd-product-switch__item.dragged:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon[class*=sap-icon]{color:var(--sapContent_IconColor)}.fd-product-switch__item.dragged:active .fd-product-switch__title,.fd-product-switch__item.dragged:hover .fd-product-switch__title{color:var(--sapGroup_TitleTextColor)}.fd-product-switch__item.dragged:active .fd-product-switch__subtitle,.fd-product-switch__item.dragged:hover .fd-product-switch__subtitle{color:var(--sapContent_LabelColor)}.fd-product-switch__item.dragged.selected{border:none;-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2)}.fd-product-switch__item.dragged.is-hover,.fd-product-switch__item.dragged:hover{outline:none}.fd-product-switch__icon [class*=sap-icon],.fd-product-switch__icon[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_IconColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:inherit;font-size:1.5rem;line-height:1;min-height:3rem;min-width:3rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-product-switch__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;text-shadow:var(--fdProductSwitch_Text_Shadow);width:100%}.fd-product-switch__text:after,.fd-product-switch__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapTitleColor);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;white-space:normal;z-index:1}.fd-product-switch__title:after,.fd-product-switch__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__title:before{left:9.4rem;width:1rem;z-index:2}.fd-product-switch__title:after{left:9.4rem;width:1rem;z-index:3}.fd-product-switch__subtitle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;white-space:normal}.fd-product-switch__subtitle:after,.fd-product-switch__subtitle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body{background-color:var(--sapList_Background);border:0;border-radius:var(--sapElement_BorderCornerRadius);-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;max-height:calc(100vh - 76px);overflow-y:auto;padding-block:0;padding-block:1.5rem;padding-inline:0;padding-inline:1rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-product-switch__body:after,.fd-product-switch__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body.is-focus,.fd-product-switch__body:focus{outline:none;z-index:5}.fd-product-switch__body::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-product-switch__body::-webkit-scrollbar-corner,.fd-product-switch__body::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-product-switch__body::-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-product-switch__body::-webkit-scrollbar-thumb:active,.fd-product-switch__body::-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-product-switch__body--col-3 .fd-product-switch__list{width:34.75rem}.fd-product-switch__body--mobile{border-radius:0;max-height:100vh;max-width:353px;overflow-x:hidden;padding-block:1rem;padding-inline:1rem;width:100%}.fd-product-switch__body--mobile .fd-product-switch__list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0;width:100%}.fd-product-switch__body--mobile .fd-product-switch__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;border-radius:var(--sapElement_BorderCornerRadius);-ms-flex-direction:row;flex-direction:row;gap:.75rem;max-width:100%;min-height:5rem;padding-block:1rem;padding-inline:1rem;text-align:left;-webkit-box-flex:1;-ms-flex:auto;flex:auto}.fd-product-switch__body--mobile .fd-product-switch__item:after,.fd-product-switch__body--mobile .fd-product-switch__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapTile_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item.is-active:focus,.fd-product-switch__body--mobile .fd-product-switch__item:active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:active:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem}.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{left:21.7rem;width:1rem;z-index:2}.fd-product-switch__body--mobile .fd-product-switch__text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;height:100%;justify-content:space-between}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child),[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):after{display:none}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):before{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__title:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{right:21.8rem;width:2rem}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:before{right:21.8rem;text-align:right;width:2rem;z-index:2}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:after{display:none;z-index:3}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item:active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__subtitle{color:var(--sapList_Active_TextColor)}.fd-product-switch__body{border-radius:var(--sapPopover_BorderCornerRadius, var(--sapElement_BorderCornerRadius));max-height:33rem}.fd-product-switch__body--col-2 .fd-product-switch__list{width:23rem}.fd-product-switch__body--mobile .fd-product-switch__item{min-height:6rem}.fd-product-switch__list{position:relative}.fd-product-switch__link{display:contents;color:inherit;text-decoration:none}.fd-product-switch__item.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-product-switch__body--mobile .fd-product-switch__item.cdk-drag-dragging{outline:none;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-dnd-item{position:relative}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:before,.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:after{background-color:#fff;background-color:var(--sapList_Background, #fff)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__icon{color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title{color:#32363a;color:var(--sapGroup_TitleTextColor, #32363a)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__subtitle{color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item:active{background-color:#fff;background-color:var(--sapList_Background, #fff)}[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__title,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__subtitle{text-align:right}\n/*! Bundled license information:\n\nfundamental-styles/dist/product-switch.css:\n (*!\n * Fundamental Library Styles v0.41.8\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*/\n", ".cdk-drag-dragging{z-index:15;background-color:#fff;background-color:var(--sapList_Background, #fff);opacity:.8;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.fd-replace-indicator{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;border-width:.125rem;border-style:solid;background-color:transparent;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor)}.fd-replace-indicator:before{content:\"\";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#0854a0;background-color:var(--sapContent_DragAndDropActiveColor, #0854a0);opacity:.5}.cdk-drag{cursor:grab}.cdk-drag.cdk-drag-dragging{cursor:grabbing}.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.cdk-drag-disabled{cursor:default}.fd-dnd-placeholder{top:0;left:0;position:absolute;opacity:.3;z-index:-1}.fd-dnd-item{position:relative;cursor:grab}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15;cursor:grabbing}.drop-area__line{z-index:9999;position:absolute;background:#0854a0;background:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--vertical{top:0;height:calc(100% - .5rem);width:2px}.drop-area__line--vertical.after{right:.2rem}.drop-area__line--vertical.before{left:-.3rem}.drop-area__line--vertical:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:-.2rem;top:-.5rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--horizontal{left:0;width:100%;height:2px}.drop-area__line--horizontal.before{top:0}.drop-area__line--horizontal.after{bottom:0}.drop-area__line--horizontal:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:0;top:-.2rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.fd-dnd-list{position:relative}\n"] }]
|
|
246
|
+
args: [{ selector: 'fd-product-switch-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [DndItemDirective, DndListDirective, IconComponent, AvatarComponent, NgTemplateOutlet], template: "<div\n class=\"fd-product-switch__body\"\n [class.fd-product-switch__body--col-3]=\"_isSmallMode() && !_isListMode()\"\n [class.fd-product-switch__body--mobile]=\"_isListMode()\"\n>\n <ul\n fd-dnd-list\n role=\"menu\"\n class=\"fd-product-switch__list\"\n [items]=\"products\"\n [gridMode]=\"!_isListMode()\"\n (itemDropped)=\"_productSwitchItemsChangeHandle($event)\"\n >\n @for (product of products; track product; let i = $index) {\n <li\n fd-dnd-item\n tabindex=\"0\"\n role=\"menuitem\"\n class=\"fd-product-switch__item\"\n [class.selected]=\"product.selected\"\n [attr.aria-label]=\"_itemAriaLabel()(product)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"products.length\"\n (keydown)=\"_keyDownHandle($event)\"\n (click)=\"_itemClick(product, $event)\"\n [draggable]=\"!product.disabledDragAndDrop && dragAndDropEnabled\"\n [stickInPlace]=\"!!product.stickToPosition\"\n >\n @if (product.url) {\n <a\n class=\"fd-product-switch__link\"\n [href]=\"product.url\"\n [target]=\"product.target || '_self'\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: product }\"></ng-container>\n </a>\n } @else {\n <ng-container *ngTemplateOutlet=\"itemContent; context: { $implicit: product }\"></ng-container>\n }\n </li>\n }\n </ul>\n</div>\n\n<ng-template #itemContent let-product>\n @if (product.avatar) {\n <fd-avatar\n size=\"s\"\n [glyph]=\"product.avatar.glyph ?? null\"\n [label]=\"product.avatar.label ?? null\"\n [circle]=\"!!product.avatar.circle\"\n [image]=\"product.avatar.image ?? null\"\n [contain]=\"!!product.avatar.contain\"\n [transparent]=\"!!product.avatar.transparent\"\n [placeholder]=\"!!product.avatar.placeholder\"\n [tile]=\"!!product.avatar.tile\"\n [colorAccent]=\"product.avatar.colorAccent\"\n [colorIndication]=\"product.avatar.colorIndication\"\n [border]=\"!!product.avatar.border\"\n [alterIcon]=\"product.avatar.alterIcon ?? null\"\n [backupImage]=\"product.avatar.backupImage ?? null\"\n [ariaLabel]=\"product.avatar.ariaLabel ?? null\"\n >\n </fd-avatar>\n } @else {\n <fd-icon\n [font]=\"product.font || FD_DEFAULT_ICON_FONT_FAMILY\"\n role=\"presentation\"\n class=\"fd-product-switch__icon\"\n [glyph]=\"product.icon\"\n ></fd-icon>\n }\n\n <div class=\"fd-product-switch__text\">\n <div class=\"fd-product-switch__title\">{{ product.title }}</div>\n @if (product.subtitle) {\n <div class=\"fd-product-switch__subtitle\">{{ product.subtitle }}</div>\n }\n </div>\n</ng-template>\n", styles: [".drag-placeholder{opacity:.3;position:absolute}.fd-product-switch{--fdProduct_Switch_Item_Border_Color:transparent;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-product-switch:after,.fd-product-switch:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__list{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.5rem;width:46.5rem}.fd-product-switch__list:after,.fd-product-switch__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:11.25rem;min-height:7.375rem;text-align:center;-webkit-box-flex:1;background-color:var(--sapList_Background);border-radius:var(--sapElement_BorderCornerRadius);-webkit-box-shadow:var(--fdProductSwitch_Shadow);box-shadow:var(--fdProductSwitch_Shadow);-ms-flex:1 0 25%;flex:1 0 25%;outline:.125rem solid var(--fdProduct_Switch_Item_Border_Color);outline-offset:-.125rem;padding-block:1rem;padding-inline:.5rem}.fd-product-switch__item:after,.fd-product-switch__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__item .fd-product-switch__title:not(:last-child){white-space:normal}.fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__item.is-hover,.fd-product-switch__item:hover{background-color:var(--sapList_Hover_Background);cursor:pointer}.fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__item.is-active,.fd-product-switch__item:active{--fdProduct_Switch_Item_Border_Color:var(--sapContent_FocusColor);background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-active.is-focus,.fd-product-switch__item.is-active:focus,.fd-product-switch__item:active.is-focus,.fd-product-switch__item:active:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem}.fd-product-switch__item.is-active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__item.is-active .fd-product-switch__title,.fd-product-switch__item:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__subtitle,.fd-product-switch__item:active .fd-product-switch__title{color:var(--sapList_Active_TextColor)}.fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:before,.fd-product-switch__item.is-active:hover .fd-product-switch__title:after,.fd-product-switch__item.is-active:hover .fd-product-switch__title:before,.fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__item:active .fd-product-switch__title:before,.fd-product-switch__item:active.is-hover .fd-product-switch__title:after,.fd-product-switch__item:active.is-hover .fd-product-switch__title:before,.fd-product-switch__item:active:hover .fd-product-switch__title:after,.fd-product-switch__item:active:hover .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.selected{--fdProduct_Switch_Item_Border_Color:var(--sapContent_FocusColor)}.fd-product-switch__item.selected,.fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_SelectionBackgroundColor)}.fd-product-switch__item.selected.is-hover,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__item.selected:hover,.fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__item.selected.is-active,.fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__item.selected:active,.fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-focus,.fd-product-switch__item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-product-switch__item.dragged{-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2);cursor:-webkit-grabbing;cursor:grabbing}.fd-product-switch__item.dragged,.fd-product-switch__item.dragged:active,.fd-product-switch__item.dragged:hover{background-color:var(--sapList_Background)}.fd-product-switch__item.dragged:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon[class*=sap-icon]{color:var(--sapContent_IconColor)}.fd-product-switch__item.dragged:active .fd-product-switch__title,.fd-product-switch__item.dragged:hover .fd-product-switch__title{color:var(--sapGroup_TitleTextColor)}.fd-product-switch__item.dragged:active .fd-product-switch__subtitle,.fd-product-switch__item.dragged:hover .fd-product-switch__subtitle{color:var(--sapContent_LabelColor)}.fd-product-switch__item.dragged.selected{border:none;-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2)}.fd-product-switch__item.dragged.is-hover,.fd-product-switch__item.dragged:hover{outline:none}.fd-product-switch__icon [class*=sap-icon],.fd-product-switch__icon[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_IconColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:inherit;font-size:1.5rem;line-height:1;min-height:3rem;min-width:3rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-product-switch__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;text-shadow:var(--fdProductSwitch_Text_Shadow);width:100%}.fd-product-switch__text:after,.fd-product-switch__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapTitleColor);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;white-space:normal;z-index:1}.fd-product-switch__title:after,.fd-product-switch__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__title:before{left:9.4rem;width:1rem;z-index:2}.fd-product-switch__title:after{left:9.4rem;width:1rem;z-index:3}.fd-product-switch__subtitle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;white-space:normal}.fd-product-switch__subtitle:after,.fd-product-switch__subtitle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body{background-color:var(--sapList_Background);border:0;border-radius:var(--sapElement_BorderCornerRadius);-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;max-height:calc(100vh - 76px);overflow-y:auto;padding-block:0;padding-block:1.5rem;padding-inline:0;padding-inline:1rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-product-switch__body:after,.fd-product-switch__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body.is-focus,.fd-product-switch__body:focus{outline:none;z-index:5}.fd-product-switch__body::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-product-switch__body::-webkit-scrollbar-corner,.fd-product-switch__body::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-product-switch__body::-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-product-switch__body::-webkit-scrollbar-thumb:active,.fd-product-switch__body::-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-product-switch__body--col-3 .fd-product-switch__list{width:34.75rem}.fd-product-switch__body--mobile{border-radius:0;max-height:100vh;max-width:353px;overflow-x:hidden;padding-block:1rem;padding-inline:1rem;width:100%}.fd-product-switch__body--mobile .fd-product-switch__list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0;width:100%}.fd-product-switch__body--mobile .fd-product-switch__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;border-radius:var(--sapElement_BorderCornerRadius);-ms-flex-direction:row;flex-direction:row;gap:.75rem;max-width:100%;min-height:5rem;padding-block:1rem;padding-inline:1rem;text-align:left;-webkit-box-flex:1;-ms-flex:auto;flex:auto}.fd-product-switch__body--mobile .fd-product-switch__item:after,.fd-product-switch__body--mobile .fd-product-switch__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapTile_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item.is-active:focus,.fd-product-switch__body--mobile .fd-product-switch__item:active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:active:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem}.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{left:21.7rem;width:1rem;z-index:2}.fd-product-switch__body--mobile .fd-product-switch__text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;height:100%;justify-content:space-between}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child),[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):after{display:none}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):before{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__title:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{right:21.8rem;width:2rem}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:before{right:21.8rem;text-align:right;width:2rem;z-index:2}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:after{display:none;z-index:3}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item:active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__subtitle{color:var(--sapList_Active_TextColor)}.fd-product-switch__list{position:relative}.fd-product-switch__link{display:contents;color:inherit;text-decoration:none}.fd-product-switch__item.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-product-switch__body--mobile .fd-product-switch__item.cdk-drag-dragging{outline:none;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-dnd-item{position:relative}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:before,.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:after{background-color:#fff;background-color:var(--sapList_Background, #fff)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__icon{color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title{color:#32363a;color:var(--sapGroup_TitleTextColor, #32363a)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__subtitle{color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item:active,.fd-dnd-item.fd-dnd-on-drag.selected{background-color:#fff;background-color:var(--sapList_Background, #fff)}[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__title,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__subtitle{text-align:right}\n/*! Bundled license information:\n\nfundamental-styles/dist/product-switch.css:\n (*!\n * Fundamental Library Styles v0.41.8\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*/\n", ".cdk-drag-dragging{z-index:15;background-color:#fff;background-color:var(--sapList_Background, #fff);opacity:.8;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.fd-replace-indicator{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;border-width:.125rem;border-style:solid;background-color:transparent;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor)}.fd-replace-indicator:before{content:\"\";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#0854a0;background-color:var(--sapContent_DragAndDropActiveColor, #0854a0);opacity:.5}.cdk-drag{cursor:grab}.cdk-drag.cdk-drag-dragging{cursor:grabbing}.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.cdk-drag-disabled{cursor:default}.fd-dnd-placeholder{top:0;left:0;position:absolute;opacity:.3;z-index:-1}.fd-dnd-item{position:relative;cursor:grab}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15;cursor:grabbing}.drop-area__line{z-index:9999;position:absolute;background:#0854a0;background:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--vertical{top:0;height:calc(100% - .5rem);width:2px}.drop-area__line--vertical.after{right:.2rem}.drop-area__line--vertical.before{left:-.3rem}.drop-area__line--vertical:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:-.2rem;top:-.5rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--horizontal{left:0;width:100%;height:2px}.drop-area__line--horizontal.before{top:0}.drop-area__line--horizontal.after{bottom:0}.drop-area__line--horizontal:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:0;top:-.2rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.fd-dnd-list{position:relative}\n"] }]
|
|
258
247
|
}], ctorParameters: () => [{ type: i1.ViewportRuler }, { type: i0.ChangeDetectorRef }], propDecorators: { dragAndDropEnabled: [{
|
|
259
248
|
type: Input
|
|
260
249
|
}], products: [{
|
|
@@ -265,7 +254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
265
254
|
type: Output
|
|
266
255
|
}], itemClicked: [{
|
|
267
256
|
type: Output
|
|
268
|
-
}],
|
|
257
|
+
}], isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }, { type: i0.Output, args: ["isOpenChange"] }] } });
|
|
269
258
|
|
|
270
259
|
class ProductSwitchButtonDirective {
|
|
271
260
|
/** @hidden */
|