@fundamental-ngx/btp 0.61.4 → 0.61.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -122,7 +122,7 @@ class ToolHeaderProductSwitchComponent {
|
|
|
122
122
|
></button>
|
|
123
123
|
<ng-content></ng-content>
|
|
124
124
|
</fd-product-switch>
|
|
125
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "component", type: ProductSwitchComponent, selector: "fd-product-switch", inputs: ["
|
|
125
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "component", type: ProductSwitchComponent, selector: "fd-product-switch", inputs: ["placement", "disabled", "closeOnEscapeKey", "closeOnOutsideClick", "noArrow", "disableScrollbar", "triggers", "focusTrapped", "focusAutoCapture", "isOpen"], outputs: ["isOpenChange", "beforeOpen"] }, { kind: "directive", type: ProductSwitchButtonDirective, selector: "[fdProductSwitchButton]" }, { kind: "directive", type: ToolHeaderButtonDirective, selector: "[fd-button][fdbToolHeaderButton]", inputs: ["fdType"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }] }); }
|
|
126
126
|
}
|
|
127
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ToolHeaderProductSwitchComponent, decorators: [{
|
|
128
128
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-btp-tool-header.mjs","sources":["../../../../libs/btp/tool-header/src/tool-header-action.class.ts","../../../../libs/btp/tool-header/src/components/tool-header-action-separator.component.ts","../../../../libs/btp/tool-header/src/components/tool-header-product-switch.component.ts","../../../../libs/btp/tool-header/src/directives/tool-header-action-button.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-element.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-group.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-logo.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-user.directive.ts","../../../../libs/btp/tool-header/src/tool-header-component.class.ts","../../../../libs/btp/tool-header/src/components/tool-header/tool-header.component.ts","../../../../libs/btp/tool-header/src/components/tool-header/tool-header.component.html","../../../../libs/btp/tool-header/src/directives/tool-header-action.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-auto-mode.directive.ts","../../../../libs/btp/tool-header/src/fundamental-ngx-btp-tool-header.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, booleanAttribute } from '@angular/core';\n\n@Directive()\nexport class ToolHeaderActionClass<ActionTemplateContext = any> {\n /** Whether the element is forced to be visible. */\n @Input({ transform: booleanAttribute })\n forceVisibility: boolean;\n\n /** Template of the action section */\n templateRef: TemplateRef<ActionTemplateContext>;\n\n /** @hidden */\n readonly isSeparator: boolean;\n}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { ToolHeaderActionClass } from '../tool-header-action.class';\n\n@Component({\n selector: 'fdb-tool-header-action-separator',\n template: `\n <ng-template>\n <div class=\"fd-tool-header__separator\"></div>\n </ng-template>\n `,\n providers: [\n {\n provide: ToolHeaderActionClass,\n useExisting: ToolHeaderActionSeparatorComponent\n }\n ],\n standalone: true\n})\nexport class ToolHeaderActionSeparatorComponent extends ToolHeaderActionClass {\n /** @hidden */\n @ViewChild(TemplateRef)\n templateRef: TemplateRef<void>;\n\n /** @hidden */\n readonly isSeparator = true;\n}\n","import { Component, input, model, output } from '@angular/core';\nimport { ToolHeaderButtonDirective } from '@fundamental-ngx/btp/button';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { TriggerConfig } from '@fundamental-ngx/core/popover';\nimport {\n FD_PRODUCT_SWITCH_COMPONENT,\n ProductSwitchButtonDirective,\n ProductSwitchComponent\n} from '@fundamental-ngx/core/product-switch';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fdb-tool-header-product-switch',\n imports: [\n ButtonComponent,\n FdTranslatePipe,\n ProductSwitchComponent,\n ProductSwitchButtonDirective,\n ToolHeaderButtonDirective\n ],\n template: `\n <fd-product-switch\n [placement]=\"placement()\"\n [closeOnEscapeKey]=\"closeOnEscapeKey()\"\n [closeOnOutsideClick]=\"closeOnOutsideClick()\"\n [(isOpen)]=\"isOpen\"\n [disabled]=\"disabled()\"\n [triggers]=\"triggers()\"\n [focusTrapped]=\"focusTrapped()\"\n [focusAutoCapture]=\"focusAutoCapture()\"\n [noArrow]=\"noArrow()\"\n [disableScrollbar]=\"disableScrollbar()\"\n >\n <button\n *fdProductSwitchButton\n fd-button\n fdbToolHeaderButton\n [attr.aria-label]=\"'coreProductSwitch.ariaLabel' | fdTranslate\"\n [attr.title]=\"'coreProductSwitch.ariaLabel' | fdTranslate\"\n glyph=\"grid\"\n ></button>\n <ng-content></ng-content>\n </fd-product-switch>\n `,\n providers: [\n {\n provide: FD_PRODUCT_SWITCH_COMPONENT,\n useExisting: ToolHeaderProductSwitchComponent\n }\n ],\n host: {\n '[class.fd-popover-custom--disabled]': 'disabled()'\n }\n})\nexport class ToolHeaderProductSwitchComponent {\n /** Placement of a popover. */\n readonly placement = input<Placement>('bottom-end');\n\n /** Whether the product switch is disabled. */\n readonly disabled = input(false);\n\n /** Whether the popover should close when the escape key is pressed. */\n readonly closeOnEscapeKey = input(true);\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n readonly closeOnOutsideClick = input(true);\n\n /** Whether the popover should have an arrow. */\n readonly noArrow = input(true);\n\n /** Whether to wrap content with fd-scrollbar directive. */\n readonly disableScrollbar = input(true);\n\n /** The trigger events that will open/close the popover. */\n readonly triggers = input<(string | TriggerConfig)[]>(['click']);\n\n /** Whether the popover should be focusTrapped. */\n readonly focusTrapped = input(false);\n\n /** Whether the popover should automatically move focus into the trapped region. */\n readonly focusAutoCapture = input(true);\n\n /** Two-way binding for isOpen state */\n readonly isOpen = model(false);\n\n /** Event emitted right before the popover is being opened. */\n readonly beforeOpen = output<void>();\n}\n","import { Directive } from '@angular/core';\nimport { ToolHeaderButtonDirective } from '@fundamental-ngx/btp/button';\nimport { FocusableItemDirective, IndirectFocusableItemDirective } from '@fundamental-ngx/cdk/utils';\n\n@Directive({\n selector: '[fd-button][fdbToolHeaderActionButton]',\n standalone: true,\n hostDirectives: [\n { directive: ToolHeaderButtonDirective, inputs: ['fdType'] },\n IndirectFocusableItemDirective,\n FocusableItemDirective\n ],\n host: {\n '[class.fd-tool-header__action-button]': 'true'\n }\n})\nexport class ToolHeaderActionButtonDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderElement]',\n host: {\n class: 'fd-tool-header__element'\n },\n standalone: true\n})\nexport class ToolHeaderElementDirective {}\n","import { Directive, ElementRef, Input, booleanAttribute, inject } from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\n@Directive({\n selector: '[fdbToolHeaderGroup]',\n host: {\n class: 'fd-tool-header__group',\n '[class.fd-tool-header__group--center]': 'center',\n '[class.fd-tool-header__group--actions]': 'actions'\n },\n standalone: true\n})\nexport class ToolHeaderGroupDirective implements HasElementRef {\n /** @hidden */\n @Input({ transform: booleanAttribute })\n center = false;\n\n /** @hidden */\n @Input({ transform: booleanAttribute })\n actions = false;\n\n /** @hidden */\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderLogo]',\n host: {\n '[attr.role]': '\"button\"',\n '[attr.tabindex]': '0',\n class: 'fd-tool-header__logo'\n },\n standalone: true\n})\nexport class ToolHeaderLogoDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderUser]',\n standalone: true\n})\nexport class ToolHeaderUserDirective {}\n","import { computed, inject, Signal, signal } from '@angular/core';\nimport { SearchFieldComponent } from '@fundamental-ngx/btp/search-field';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FdbToolHeaderState } from './tool-header-state.type';\n\nexport abstract class ToolHeaderComponentClass {\n /** @hidden */\n mode$: Signal<FdbViewMode>;\n\n /** @hidden */\n orientation$: Signal<'landscape' | 'portrait'>;\n\n /** @hidden */\n searchField$: Signal<SearchFieldComponent | null>;\n\n /** @hidden */\n searchFieldExpanded$: Signal<boolean>;\n\n /** Mode signal */\n protected _mode$ = signal<FdbViewMode>('');\n\n /** @hidden */\n protected _orientation$ = signal<'landscape' | 'portrait'>('landscape');\n\n /** @hidden */\n protected fdbToolHeaderState = computed<FdbToolHeaderState>(() => {\n if (this._mode$() === 'phone') {\n return {\n backButtonVisible: this._searchFieldExpanded$(),\n menuButtonVisible: !this._searchFieldExpanded$(),\n logoVisible: !this._searchFieldExpanded$(),\n productNameVisible: false,\n secondTitleVisible: false,\n searchFieldVisible: this._searchFieldExpanded$(),\n searchFieldToggleActionVisible: !!this._searchField$() && !this._searchFieldExpanded$(),\n providedActionsVisible: !this._searchFieldExpanded$(),\n userAvatarVisible: !this._searchFieldExpanded$(),\n productSwitchVisible: !this._searchFieldExpanded$(),\n voiceInputVisible: this._searchFieldExpanded$(),\n separatorsBetweenActionsVisible: false\n };\n }\n if (this._mode$() === 'tablet') {\n const isPortrait = this._orientation$() === 'portrait';\n const isLandscape = !isPortrait;\n const searchFieldVisible = this._searchFieldExpanded$() || isLandscape;\n const searchFieldToggleActionVisible = !searchFieldVisible && !!this._searchField$();\n\n return {\n backButtonVisible: false,\n menuButtonVisible: true,\n logoVisible: true,\n productNameVisible: isPortrait ? !this._searchFieldExpanded$() : true,\n secondTitleVisible: false,\n searchFieldVisible,\n searchFieldToggleActionVisible,\n providedActionsVisible: true,\n userAvatarVisible: true,\n productSwitchVisible: true,\n voiceInputVisible: false,\n separatorsBetweenActionsVisible: this._orientation$() === 'landscape'\n };\n }\n return {\n backButtonVisible: false,\n menuButtonVisible: true,\n logoVisible: true,\n productNameVisible: true,\n secondTitleVisible: true,\n searchFieldVisible: true,\n searchFieldToggleActionVisible: false,\n providedActionsVisible: true,\n userAvatarVisible: true,\n productSwitchVisible: true,\n voiceInputVisible: false,\n separatorsBetweenActionsVisible: true\n };\n });\n\n /** Search field signal */\n protected _searchField$ = signal<SearchFieldComponent | null>(null);\n\n /** @hidden */\n protected _searchFieldExpanded$ = signal<boolean>(false);\n\n /**\n * RTL signal\n * @hidden\n */\n protected rtl = computed<boolean>(() => this._rtlService?.rtl() ?? false);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n constructor() {\n this.mode$ = this._mode$.asReadonly();\n this.orientation$ = this._orientation$.asReadonly();\n this.searchField$ = this._searchField$.asReadonly();\n this.searchFieldExpanded$ = this._searchFieldExpanded$.asReadonly();\n }\n}\n","/* eslint-disable @angular-eslint/no-input-rename */\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n HostListener,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n Output,\n QueryList,\n ViewEncapsulation,\n booleanAttribute,\n inject\n} from '@angular/core';\nimport { ToolHeaderButtonDirective } from '@fundamental-ngx/btp/button';\nimport {\n NavigationMenuComponent,\n NavigationMenuPopoverComponent,\n NavigationMenuPopoverControlDirective\n} from '@fundamental-ngx/btp/navigation-menu';\nimport { SearchFieldComponent } from '@fundamental-ngx/btp/search-field';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport {\n FDK_INDIRECT_FOCUSABLE_ITEM_ORDER,\n FocusableItemDirective,\n FocusableListDirective,\n IndirectFocusableListDirective\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport {\n OverflowItemRef,\n OverflowItemRefDirective,\n OverflowLayoutComponent,\n OverflowLayoutItemDirective\n} from '@fundamental-ngx/core/overflow-layout';\nimport { FD_PRODUCT_SWITCH_COMPONENT } from '@fundamental-ngx/core/product-switch';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { BehaviorSubject, Subscription, delayWhen, first } from 'rxjs';\nimport { ToolHeaderActionButtonDirective } from '../../directives/tool-header-action-button.directive';\nimport { ToolHeaderActionDirective } from '../../directives/tool-header-action.directive';\nimport { ToolHeaderElementDirective } from '../../directives/tool-header-element.directive';\nimport { ToolHeaderGroupDirective } from '../../directives/tool-header-group.directive';\nimport { ToolHeaderLogoDirective } from '../../directives/tool-header-logo.directive';\nimport { ToolHeaderUserDirective } from '../../directives/tool-header-user.directive';\nimport { ToolHeaderActionClass } from '../../tool-header-action.class';\nimport { ToolHeaderComponentClass } from '../../tool-header-component.class';\n\n@Component({\n selector: 'fdb-tool-header',\n templateUrl: './tool-header.component.html',\n styleUrls: ['./tool-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-tool-header',\n '[class.fd-tool-header--menu]': 'showMenuButton'\n },\n imports: [\n ToolHeaderGroupDirective,\n NgTemplateOutlet,\n ToolHeaderElementDirective,\n ButtonComponent,\n ToolHeaderButtonDirective,\n ToolHeaderLogoDirective,\n FdTranslatePipe,\n NavigationMenuComponent,\n FocusableListDirective,\n IndirectFocusableListDirective,\n FocusableItemDirective,\n NavigationMenuPopoverComponent,\n NavigationMenuPopoverControlDirective,\n AsyncPipe,\n OverflowLayoutComponent,\n OverflowLayoutItemDirective,\n OverflowItemRefDirective,\n PortalModule,\n ToolHeaderActionButtonDirective\n ],\n providers: [\n contentDensityObserverProviders(),\n {\n provide: ToolHeaderComponentClass,\n useExisting: ToolHeaderComponent\n }\n ]\n})\nexport class ToolHeaderComponent extends ToolHeaderComponentClass implements OnDestroy {\n /**\n * (required) the Product Name is the official name of the tool.\n */\n @Input({ required: true }) productName!: string;\n /**\n * Second Title is an optional second text identifier of the tool.\n **/\n @Input() secondTitle?: string;\n /** Mode */\n @Input('mode')\n set _mode(mode: FdbViewMode) {\n if (mode !== this._mode$()) {\n this._mode$.set(mode);\n }\n }\n\n /** @hidden */\n @Input('orientation')\n set _orientation(orientation: 'landscape' | 'portrait') {\n if (orientation !== this._orientation$()) {\n this._orientation$.set(orientation);\n }\n }\n\n /**\n * Whether to show the menu button\n */\n @Input({ transform: booleanAttribute })\n showMenuButton = false;\n\n /**\n * Whether to show the voice input action button on\n * the right side of the tool header, when the mode is mobile\n * and the search input is expanded\n */\n @Input({ transform: booleanAttribute })\n showVoiceInputAction = true;\n\n /**\n * Event emitted when the menu button is clicked\n **/\n @Output()\n menuClick = new EventEmitter<void>();\n\n /**\n * Event emitted when user intends to expand the menu.\n * Happens when user clicks `right arrow` key on the menu button\n * if on ltr or `left arrow` key if on rtl.\n **/\n @Output()\n menuExpand = new EventEmitter<void>();\n\n /**\n * Event emitted when user intends to collapse the menu.\n * Happens when user clicks `left arrow` key on the menu button\n * if on ltr or `right arrow` key if on rtl.\n **/\n @Output()\n menuCollapse = new EventEmitter<void>();\n\n /**\n * Event emitted when the microphone button is clicked\n **/\n @Output()\n microphoneClick = new EventEmitter<void>();\n\n /**\n * Event emitted when the default logo is clicked\n */\n @Output()\n logoClick = new EventEmitter<void>();\n\n /** @hidden */\n @ContentChildren(ToolHeaderActionClass)\n _contentActions: QueryList<ToolHeaderActionClass>;\n\n /** @hidden */\n @ContentChild(ToolHeaderLogoDirective)\n _toolHeaderLogoDirective?: ToolHeaderLogoDirective;\n\n /** @hidden */\n @ContentChild(SearchFieldComponent)\n set _searchField(searchField: SearchFieldComponent) {\n this._searchField$.set(searchField);\n }\n\n /** @hidden */\n @ContentChild(ToolHeaderUserDirective)\n _toolHeaderUser?: ToolHeaderUserDirective;\n\n /** @hidden */\n @ContentChild(FD_PRODUCT_SWITCH_COMPONENT)\n _toolHeaderProductSwitch?: unknown;\n\n /** @hidden */\n protected _hiddenActions$ = new BehaviorSubject<OverflowItemRef<ToolHeaderActionDirective>[]>([]);\n\n /** @hidden */\n protected _delayedHiddenActions$ = this._hiddenActions$.pipe(delayWhen(() => this._ngZone.onStable));\n\n /** @hidden */\n private _searchFieldOutsideClickSubscription?: Subscription;\n\n /** @hidden */\n private _ngZone = inject(NgZone);\n\n /** @hidden */\n private _mapOfItemsAndInjectors = new WeakMap<OverflowItemRef<ToolHeaderActionDirective>, Injector>();\n\n /**\n * The handler, responsible for closing the search field\n * on outside click\n * @hidden\n **/\n @HostListener('document:click', ['$event'])\n _onClick(event: MouseEvent): void {\n if (this._searchFieldExpanded$()) {\n if (\n this._mode$() === 'tablet' &&\n this._orientation$() === 'portrait' &&\n this._searchField$() &&\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n !event.composedPath().includes(this._searchField$()!.elementRef.nativeElement)\n ) {\n this._searchFieldExpanded$.set(false);\n }\n }\n }\n\n /**\n * The handler, responsible for the focusing on the search field,\n * when the user presses `Ctrl + K` or `Cmd + K` keys\n * @hidden\n **/\n @HostListener('document:keydown.control.k')\n @HostListener('document:keydown.meta.k')\n _onKeyDown(): void {\n if (this._mode$() === 'tablet' && this._orientation$() === 'portrait' && this._searchField$()) {\n this._searchFieldExpanded$.set(true);\n this._searchField$()?.focus();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._searchFieldOutsideClickSubscription) {\n this._searchFieldOutsideClickSubscription.unsubscribe();\n }\n }\n\n /**\n * Expand the search field\n **/\n expandSearchField(): void {\n this._searchFieldExpanded$.set(true);\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this._searchField$()?.focus();\n });\n }\n\n /** @hidden */\n protected _handleMenuLeftArrowKey(): void {\n if (this.rtl()) {\n this.menuExpand.emit();\n } else {\n this.menuCollapse.emit();\n }\n }\n\n /** @hidden */\n protected _handleMenuRightArrowKey(): void {\n if (this.rtl()) {\n this.menuCollapse.emit();\n } else {\n this.menuExpand.emit();\n }\n }\n\n /** @hidden */\n protected _handleHiddenItemsChange($event: OverflowItemRef<ToolHeaderActionDirective>[]): void {\n this._ngZone.runOutsideAngular(() => {\n this._hiddenActions$.next(\n $event.reduce((acc: OverflowItemRef<ToolHeaderActionDirective>[], i) => {\n if (!i.item.isSeparator) {\n acc.push(i);\n this._mapOfItemsAndInjectors.delete(i);\n }\n return acc;\n }, [])\n );\n });\n }\n\n /** @hidden */\n protected _indirectFocusableItemInjector(\n parent: Injector,\n item: OverflowItemRef<ToolHeaderActionDirective>\n ): Injector {\n let injector = this._mapOfItemsAndInjectors.get(item);\n if (!injector) {\n injector = Injector.create({\n parent,\n providers: [\n {\n provide: FDK_INDIRECT_FOCUSABLE_ITEM_ORDER,\n useValue: item.globalIndex\n }\n ]\n });\n this._mapOfItemsAndInjectors.set(item, injector);\n }\n return injector;\n }\n}\n","<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n @if (fdbToolHeaderState().backButtonVisible) {\n <div fdbToolHeaderElement>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"slim-arrow-left\"\n (click)=\"_searchFieldExpanded$.set(false)\"\n ></button>\n </div>\n }\n @if (fdbToolHeaderState().menuButtonVisible && showMenuButton) {\n <div fdbToolHeaderElement>\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n }\n @if (fdbToolHeaderState().logoVisible) {\n <div fdbToolHeaderElement>\n @if (_toolHeaderLogoDirective) {\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n } @else {\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n }\n </div>\n }\n @if (fdbToolHeaderState().productNameVisible) {\n <div fdbToolHeaderElement>\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n }\n @if (fdbToolHeaderState().secondTitleVisible && secondTitle) {\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n }\n</div>\n@if (fdbToolHeaderState().searchFieldVisible) {\n <div fdbToolHeaderGroup center>\n <ng-content select=\"fdb-search-field\"></ng-content>\n </div>\n}\n<fd-overflow-layout\n fdbToolHeaderGroup\n actions\n [style.justify-content]=\"'end'\"\n (hiddenItemsChange)=\"_handleHiddenItemsChange($event)\"\n [renderShowMoreButton]=\"false\"\n>\n @if (fdbToolHeaderState().searchFieldToggleActionVisible) {\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <button\n fd-button\n fdbToolHeaderActionButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-template>\n }\n @if (fdbToolHeaderState().providedActionsVisible) {\n @for (action of _contentActions; track action) {\n @if (action.isSeparator ? fdbToolHeaderState().separatorsBetweenActionsVisible : true) {\n <ng-template [fdOverflowItemRef]=\"action\" let-hidden let-injector=\"injector\">\n @if (hidden === false) {\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"!!action.forceVisibility\">\n <ng-template [ngTemplateOutlet]=\"actionTemplate\"></ng-template>\n </div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"action.templateRef\"\n [ngTemplateOutletContext]=\"{ hidden: hidden }\"\n [ngTemplateOutletInjector]=\"injector\"\n >\n </ng-template>\n }\n <ng-template #actionTemplate>\n <ng-template\n [ngTemplateOutlet]=\"action.templateRef\"\n [ngTemplateOutletContext]=\"{ hidden: hidden }\"\n [ngTemplateOutletInjector]=\"injector\"\n >\n </ng-template>\n </ng-template>\n </ng-template>\n }\n }\n }\n <!-- Custom overflow button used as overflow item START -->\n @if (_delayedHiddenActions$ | async; as hiddenActions) {\n @if (hiddenActions.length > 0) {\n <ng-template fdOverflowItemRef>\n <fdb-navigation-menu-popover fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <button\n *fdbNavigationMenuPopoverControl\n fd-button\n fdbToolHeaderActionButton\n glyph=\"overflow\"\n ></button>\n <fdb-navigation-menu\n class=\"fd-tool-header__navigation-menu\"\n fdkIndirectFocusableList\n #indirectFocusableList=\"fdkIndirectFocusableList\"\n >\n @for (item of hiddenActions; track item.globalIndex) {\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: true,\n index: item.index,\n globalIndex: item.globalIndex,\n first: item.first,\n last: item.last,\n injector: _indirectFocusableItemInjector(indirectFocusableList.injector, item)\n }\"\n >\n </ng-template>\n }\n </fdb-navigation-menu>\n </fdb-navigation-menu-popover>\n </ng-template>\n }\n }\n <!-- Custom overflow button used as overflow item END -->\n @if (fdbToolHeaderState().userAvatarVisible && _toolHeaderUser) {\n @if (fdbToolHeaderState().separatorsBetweenActionsVisible) {\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <div class=\"fd-tool-header__separator\"></div>\n </div>\n </ng-template>\n }\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-template>\n }\n @if (fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch) {\n @if (fdbToolHeaderState().separatorsBetweenActionsVisible) {\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <div class=\"fd-tool-header__separator\"></div>\n </div>\n </ng-template>\n }\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-template>\n }\n @if (fdbToolHeaderState().voiceInputVisible) {\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <button\n fd-button\n fdbToolHeaderActionButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n </ng-template>\n }\n</fd-overflow-layout>\n","import { ContentChild, Directive, inject, TemplateRef } from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ToolHeaderActionClass } from '../tool-header-action.class';\n\nexport interface ToolHeaderActionContext {\n hidden: boolean;\n}\n\n@Directive({\n selector: '[fdbToolHeaderAction]',\n providers: [\n {\n provide: ToolHeaderActionClass,\n useExisting: ToolHeaderActionDirective\n }\n ],\n standalone: true\n})\nexport class ToolHeaderActionDirective extends ToolHeaderActionClass {\n /**\n * Button component which will be used for the action\n **/\n @ContentChild(ButtonComponent, { descendants: true })\n button: ButtonComponent;\n\n /** @hidden */\n templateRef = inject<TemplateRef<ToolHeaderActionContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(dir: ToolHeaderActionDirective, ctx: unknown): ctx is ToolHeaderActionContext {\n return !(dir.isSeparator || dir.forceVisibility);\n }\n}\n","import { computed, Directive, ElementRef, EventEmitter, inject, Input, Output, signal } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { HasElementRef, ResizeObserverService, ResponsiveBreakpoints } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityDirective, ContentDensityMode } from '@fundamental-ngx/core/content-density';\nimport { distinctUntilChanged, map, startWith } from 'rxjs';\nimport { ToolHeaderComponent } from '../components/tool-header/tool-header.component';\n\ninterface FdbToolHeaderModeConfig {\n desktop: number;\n tabletLandscape: [number, number];\n tabletPortrait: [number, number];\n phone: number;\n}\n\nconst DEFAULT_CONFIG: FdbToolHeaderModeConfig = {\n desktop: ResponsiveBreakpoints.L + 1,\n tabletLandscape: [ResponsiveBreakpoints.M + 1, ResponsiveBreakpoints.L],\n tabletPortrait: [ResponsiveBreakpoints.S + 1, ResponsiveBreakpoints.M],\n phone: ResponsiveBreakpoints.S\n};\n\n/**\n * Directive that automatically adjusts the ToolHeader's mode, orientation,\n * and content density based on the element's width.\n *\n * Content density is derived from the detected mode:\n * - Desktop mode (empty string): COMPACT density for mouse/keyboard interaction\n * - Tablet/Phone modes: COZY density for touch-friendly interaction\n *\n * @example\n * <fdb-tool-header fdbToolHeaderAutoMode>\n * <!-- Content density automatically adjusts based on width -->\n * </fdb-tool-header>\n *\n * @example\n * <fdb-tool-header\n * fdbToolHeaderAutoMode\n * (modeChange)=\"onModeChange($event)\"\n * (contentDensityChange)=\"onDensityChange($event)\">\n * </fdb-tool-header>\n */\n@Directive({\n selector: 'fdb-tool-header[fdbToolHeaderAutoMode]',\n exportAs: 'fdbToolHeaderAutoMode',\n hostDirectives: [ContentDensityDirective],\n standalone: true\n})\nexport class ToolHeaderAutoModeDirective implements HasElementRef {\n /**\n * What sizes should be used to determine mode.\n * Sizes mean the width of the tool header, not the whole screen.\n **/\n @Input() set config(config: Partial<FdbToolHeaderModeConfig>) {\n this._config.set({ ...DEFAULT_CONFIG, ...config });\n }\n\n /**\n * Current mode of the ToolHeaderComponent\n */\n @Output()\n modeChange = new EventEmitter<FdbViewMode>();\n\n /**\n * Current orientation of the ToolHeaderComponent\n */\n @Output()\n orientationChange = new EventEmitter<'landscape' | 'portrait'>();\n\n /**\n * Current content density of the ToolHeaderComponent\n */\n @Output()\n contentDensityChange = new EventEmitter<ContentDensityMode>();\n\n /**\n * Reference to the element on which the directive is applied.\n */\n readonly elementRef: ElementRef = inject(ElementRef);\n\n /**\n * Current configuration of the directive.\n */\n protected _config = signal(DEFAULT_CONFIG);\n\n /**\n * Reference to the ContentDensityDirective provided via hostDirectives.\n * Used to programmatically set the content density based on the detected mode.\n */\n protected _contentDensity = inject(ContentDensityDirective);\n\n /**\n * Signal of the Width of the element\n */\n protected _elementWidth = toSignal(\n inject(ResizeObserverService)\n .observe(this.elementRef.nativeElement)\n .pipe(\n map((entries) => entries[0].contentRect.width),\n startWith(this.elementRef.nativeElement.clientWidth)\n ),\n { requireSync: true }\n );\n /**\n * Reference to the ToolHeaderComponent\n */\n protected _toolHeaderComponent = inject(ToolHeaderComponent, { host: true });\n\n /**\n * Computed signal that determines the current mode and orientation\n * based on the element's width and configuration breakpoints.\n *\n * Returns a tuple of [mode, orientation] where mode is:\n * - '' (empty): desktop mode, triggers COMPACT density\n * - 'tablet': tablet mode, triggers COZY density\n * - 'phone': phone mode, triggers COZY density\n */\n protected _currentMode = computed(() => this._getMode(this._elementWidth(), this._config()));\n\n /**\n * @hidden\n */\n constructor() {\n toObservable(this._currentMode)\n .pipe(\n distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]),\n takeUntilDestroyed()\n )\n .subscribe((_mode) => {\n const [mode, orientation = 'landscape'] = _mode;\n this._toolHeaderComponent._mode = mode;\n this._toolHeaderComponent._orientation = orientation;\n\n // Derive content density from mode:\n // - Desktop (mode='') uses COMPACT for denser mouse/keyboard layouts\n // - Tablet/Phone (mode='tablet'|'phone') uses COZY for touch-friendly spacing\n const contentDensity = mode ? ContentDensityMode.COZY : ContentDensityMode.COMPACT;\n this._contentDensity.setDensity(contentDensity);\n\n this.modeChange.emit(mode);\n this.orientationChange.emit(orientation);\n this.contentDensityChange.emit(contentDensity);\n });\n }\n\n /**\n * Determines the mode and orientation based on width and configuration.\n *\n * @param width - Current width of the element in pixels\n * @param config - Breakpoint configuration for mode detection\n * @returns Tuple of [mode, orientation] where mode affects content density\n */\n private _getMode(width: number, config: FdbToolHeaderModeConfig): [FdbViewMode, 'landscape' | 'portrait'] {\n if (width >= config.desktop) {\n return ['', 'landscape'];\n }\n if (width <= config.phone) {\n return ['phone', 'landscape'];\n }\n return [\n 'tablet',\n width >= config.tabletLandscape[0] && width <= config.tabletLandscape[1] ? 'landscape' : 'portrait'\n ];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-btp-tool-header.mjs","sources":["../../../../libs/btp/tool-header/src/tool-header-action.class.ts","../../../../libs/btp/tool-header/src/components/tool-header-action-separator.component.ts","../../../../libs/btp/tool-header/src/components/tool-header-product-switch.component.ts","../../../../libs/btp/tool-header/src/directives/tool-header-action-button.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-element.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-group.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-logo.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-user.directive.ts","../../../../libs/btp/tool-header/src/tool-header-component.class.ts","../../../../libs/btp/tool-header/src/components/tool-header/tool-header.component.ts","../../../../libs/btp/tool-header/src/components/tool-header/tool-header.component.html","../../../../libs/btp/tool-header/src/directives/tool-header-action.directive.ts","../../../../libs/btp/tool-header/src/directives/tool-header-auto-mode.directive.ts","../../../../libs/btp/tool-header/src/fundamental-ngx-btp-tool-header.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, booleanAttribute } from '@angular/core';\n\n@Directive()\nexport class ToolHeaderActionClass<ActionTemplateContext = any> {\n /** Whether the element is forced to be visible. */\n @Input({ transform: booleanAttribute })\n forceVisibility: boolean;\n\n /** Template of the action section */\n templateRef: TemplateRef<ActionTemplateContext>;\n\n /** @hidden */\n readonly isSeparator: boolean;\n}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { ToolHeaderActionClass } from '../tool-header-action.class';\n\n@Component({\n selector: 'fdb-tool-header-action-separator',\n template: `\n <ng-template>\n <div class=\"fd-tool-header__separator\"></div>\n </ng-template>\n `,\n providers: [\n {\n provide: ToolHeaderActionClass,\n useExisting: ToolHeaderActionSeparatorComponent\n }\n ],\n standalone: true\n})\nexport class ToolHeaderActionSeparatorComponent extends ToolHeaderActionClass {\n /** @hidden */\n @ViewChild(TemplateRef)\n templateRef: TemplateRef<void>;\n\n /** @hidden */\n readonly isSeparator = true;\n}\n","import { Component, input, model, output } from '@angular/core';\nimport { ToolHeaderButtonDirective } from '@fundamental-ngx/btp/button';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { TriggerConfig } from '@fundamental-ngx/core/popover';\nimport {\n FD_PRODUCT_SWITCH_COMPONENT,\n ProductSwitchButtonDirective,\n ProductSwitchComponent\n} from '@fundamental-ngx/core/product-switch';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fdb-tool-header-product-switch',\n imports: [\n ButtonComponent,\n FdTranslatePipe,\n ProductSwitchComponent,\n ProductSwitchButtonDirective,\n ToolHeaderButtonDirective\n ],\n template: `\n <fd-product-switch\n [placement]=\"placement()\"\n [closeOnEscapeKey]=\"closeOnEscapeKey()\"\n [closeOnOutsideClick]=\"closeOnOutsideClick()\"\n [(isOpen)]=\"isOpen\"\n [disabled]=\"disabled()\"\n [triggers]=\"triggers()\"\n [focusTrapped]=\"focusTrapped()\"\n [focusAutoCapture]=\"focusAutoCapture()\"\n [noArrow]=\"noArrow()\"\n [disableScrollbar]=\"disableScrollbar()\"\n >\n <button\n *fdProductSwitchButton\n fd-button\n fdbToolHeaderButton\n [attr.aria-label]=\"'coreProductSwitch.ariaLabel' | fdTranslate\"\n [attr.title]=\"'coreProductSwitch.ariaLabel' | fdTranslate\"\n glyph=\"grid\"\n ></button>\n <ng-content></ng-content>\n </fd-product-switch>\n `,\n providers: [\n {\n provide: FD_PRODUCT_SWITCH_COMPONENT,\n useExisting: ToolHeaderProductSwitchComponent\n }\n ],\n host: {\n '[class.fd-popover-custom--disabled]': 'disabled()'\n }\n})\nexport class ToolHeaderProductSwitchComponent {\n /** Placement of a popover. */\n readonly placement = input<Placement>('bottom-end');\n\n /** Whether the product switch is disabled. */\n readonly disabled = input(false);\n\n /** Whether the popover should close when the escape key is pressed. */\n readonly closeOnEscapeKey = input(true);\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n readonly closeOnOutsideClick = input(true);\n\n /** Whether the popover should have an arrow. */\n readonly noArrow = input(true);\n\n /** Whether to wrap content with fd-scrollbar directive. */\n readonly disableScrollbar = input(true);\n\n /** The trigger events that will open/close the popover. */\n readonly triggers = input<(string | TriggerConfig)[]>(['click']);\n\n /** Whether the popover should be focusTrapped. */\n readonly focusTrapped = input(false);\n\n /** Whether the popover should automatically move focus into the trapped region. */\n readonly focusAutoCapture = input(true);\n\n /** Two-way binding for isOpen state */\n readonly isOpen = model(false);\n\n /** Event emitted right before the popover is being opened. */\n readonly beforeOpen = output<void>();\n}\n","import { Directive } from '@angular/core';\nimport { ToolHeaderButtonDirective } from '@fundamental-ngx/btp/button';\nimport { FocusableItemDirective, IndirectFocusableItemDirective } from '@fundamental-ngx/cdk/utils';\n\n@Directive({\n selector: '[fd-button][fdbToolHeaderActionButton]',\n standalone: true,\n hostDirectives: [\n { directive: ToolHeaderButtonDirective, inputs: ['fdType'] },\n IndirectFocusableItemDirective,\n FocusableItemDirective\n ],\n host: {\n '[class.fd-tool-header__action-button]': 'true'\n }\n})\nexport class ToolHeaderActionButtonDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderElement]',\n host: {\n class: 'fd-tool-header__element'\n },\n standalone: true\n})\nexport class ToolHeaderElementDirective {}\n","import { Directive, ElementRef, Input, booleanAttribute, inject } from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\n@Directive({\n selector: '[fdbToolHeaderGroup]',\n host: {\n class: 'fd-tool-header__group',\n '[class.fd-tool-header__group--center]': 'center',\n '[class.fd-tool-header__group--actions]': 'actions'\n },\n standalone: true\n})\nexport class ToolHeaderGroupDirective implements HasElementRef {\n /** @hidden */\n @Input({ transform: booleanAttribute })\n center = false;\n\n /** @hidden */\n @Input({ transform: booleanAttribute })\n actions = false;\n\n /** @hidden */\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderLogo]',\n host: {\n '[attr.role]': '\"button\"',\n '[attr.tabindex]': '0',\n class: 'fd-tool-header__logo'\n },\n standalone: true\n})\nexport class ToolHeaderLogoDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdbToolHeaderUser]',\n standalone: true\n})\nexport class ToolHeaderUserDirective {}\n","import { computed, inject, Signal, signal } from '@angular/core';\nimport { SearchFieldComponent } from '@fundamental-ngx/btp/search-field';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FdbToolHeaderState } from './tool-header-state.type';\n\nexport abstract class ToolHeaderComponentClass {\n /** @hidden */\n mode$: Signal<FdbViewMode>;\n\n /** @hidden */\n orientation$: Signal<'landscape' | 'portrait'>;\n\n /** @hidden */\n searchField$: Signal<SearchFieldComponent | null>;\n\n /** @hidden */\n searchFieldExpanded$: Signal<boolean>;\n\n /** Mode signal */\n protected _mode$ = signal<FdbViewMode>('');\n\n /** @hidden */\n protected _orientation$ = signal<'landscape' | 'portrait'>('landscape');\n\n /** @hidden */\n protected fdbToolHeaderState = computed<FdbToolHeaderState>(() => {\n if (this._mode$() === 'phone') {\n return {\n backButtonVisible: this._searchFieldExpanded$(),\n menuButtonVisible: !this._searchFieldExpanded$(),\n logoVisible: !this._searchFieldExpanded$(),\n productNameVisible: false,\n secondTitleVisible: false,\n searchFieldVisible: this._searchFieldExpanded$(),\n searchFieldToggleActionVisible: !!this._searchField$() && !this._searchFieldExpanded$(),\n providedActionsVisible: !this._searchFieldExpanded$(),\n userAvatarVisible: !this._searchFieldExpanded$(),\n productSwitchVisible: !this._searchFieldExpanded$(),\n voiceInputVisible: this._searchFieldExpanded$(),\n separatorsBetweenActionsVisible: false\n };\n }\n if (this._mode$() === 'tablet') {\n const isPortrait = this._orientation$() === 'portrait';\n const isLandscape = !isPortrait;\n const searchFieldVisible = this._searchFieldExpanded$() || isLandscape;\n const searchFieldToggleActionVisible = !searchFieldVisible && !!this._searchField$();\n\n return {\n backButtonVisible: false,\n menuButtonVisible: true,\n logoVisible: true,\n productNameVisible: isPortrait ? !this._searchFieldExpanded$() : true,\n secondTitleVisible: false,\n searchFieldVisible,\n searchFieldToggleActionVisible,\n providedActionsVisible: true,\n userAvatarVisible: true,\n productSwitchVisible: true,\n voiceInputVisible: false,\n separatorsBetweenActionsVisible: this._orientation$() === 'landscape'\n };\n }\n return {\n backButtonVisible: false,\n menuButtonVisible: true,\n logoVisible: true,\n productNameVisible: true,\n secondTitleVisible: true,\n searchFieldVisible: true,\n searchFieldToggleActionVisible: false,\n providedActionsVisible: true,\n userAvatarVisible: true,\n productSwitchVisible: true,\n voiceInputVisible: false,\n separatorsBetweenActionsVisible: true\n };\n });\n\n /** Search field signal */\n protected _searchField$ = signal<SearchFieldComponent | null>(null);\n\n /** @hidden */\n protected _searchFieldExpanded$ = signal<boolean>(false);\n\n /**\n * RTL signal\n * @hidden\n */\n protected rtl = computed<boolean>(() => this._rtlService?.rtl() ?? false);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n constructor() {\n this.mode$ = this._mode$.asReadonly();\n this.orientation$ = this._orientation$.asReadonly();\n this.searchField$ = this._searchField$.asReadonly();\n this.searchFieldExpanded$ = this._searchFieldExpanded$.asReadonly();\n }\n}\n","/* eslint-disable @angular-eslint/no-input-rename */\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n HostListener,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n Output,\n QueryList,\n ViewEncapsulation,\n booleanAttribute,\n inject\n} from '@angular/core';\nimport { ToolHeaderButtonDirective } from '@fundamental-ngx/btp/button';\nimport {\n NavigationMenuComponent,\n NavigationMenuPopoverComponent,\n NavigationMenuPopoverControlDirective\n} from '@fundamental-ngx/btp/navigation-menu';\nimport { SearchFieldComponent } from '@fundamental-ngx/btp/search-field';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport {\n FDK_INDIRECT_FOCUSABLE_ITEM_ORDER,\n FocusableItemDirective,\n FocusableListDirective,\n IndirectFocusableListDirective\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport {\n OverflowItemRef,\n OverflowItemRefDirective,\n OverflowLayoutComponent,\n OverflowLayoutItemDirective\n} from '@fundamental-ngx/core/overflow-layout';\nimport { FD_PRODUCT_SWITCH_COMPONENT } from '@fundamental-ngx/core/product-switch';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { BehaviorSubject, Subscription, delayWhen, first } from 'rxjs';\nimport { ToolHeaderActionButtonDirective } from '../../directives/tool-header-action-button.directive';\nimport { ToolHeaderActionDirective } from '../../directives/tool-header-action.directive';\nimport { ToolHeaderElementDirective } from '../../directives/tool-header-element.directive';\nimport { ToolHeaderGroupDirective } from '../../directives/tool-header-group.directive';\nimport { ToolHeaderLogoDirective } from '../../directives/tool-header-logo.directive';\nimport { ToolHeaderUserDirective } from '../../directives/tool-header-user.directive';\nimport { ToolHeaderActionClass } from '../../tool-header-action.class';\nimport { ToolHeaderComponentClass } from '../../tool-header-component.class';\n\n@Component({\n selector: 'fdb-tool-header',\n templateUrl: './tool-header.component.html',\n styleUrls: ['./tool-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-tool-header',\n '[class.fd-tool-header--menu]': 'showMenuButton'\n },\n imports: [\n ToolHeaderGroupDirective,\n NgTemplateOutlet,\n ToolHeaderElementDirective,\n ButtonComponent,\n ToolHeaderButtonDirective,\n ToolHeaderLogoDirective,\n FdTranslatePipe,\n NavigationMenuComponent,\n FocusableListDirective,\n IndirectFocusableListDirective,\n FocusableItemDirective,\n NavigationMenuPopoverComponent,\n NavigationMenuPopoverControlDirective,\n AsyncPipe,\n OverflowLayoutComponent,\n OverflowLayoutItemDirective,\n OverflowItemRefDirective,\n PortalModule,\n ToolHeaderActionButtonDirective\n ],\n providers: [\n contentDensityObserverProviders(),\n {\n provide: ToolHeaderComponentClass,\n useExisting: ToolHeaderComponent\n }\n ]\n})\nexport class ToolHeaderComponent extends ToolHeaderComponentClass implements OnDestroy {\n /**\n * (required) the Product Name is the official name of the tool.\n */\n @Input({ required: true }) productName!: string;\n /**\n * Second Title is an optional second text identifier of the tool.\n **/\n @Input() secondTitle?: string;\n /** Mode */\n @Input('mode')\n set _mode(mode: FdbViewMode) {\n if (mode !== this._mode$()) {\n this._mode$.set(mode);\n }\n }\n\n /** @hidden */\n @Input('orientation')\n set _orientation(orientation: 'landscape' | 'portrait') {\n if (orientation !== this._orientation$()) {\n this._orientation$.set(orientation);\n }\n }\n\n /**\n * Whether to show the menu button\n */\n @Input({ transform: booleanAttribute })\n showMenuButton = false;\n\n /**\n * Whether to show the voice input action button on\n * the right side of the tool header, when the mode is mobile\n * and the search input is expanded\n */\n @Input({ transform: booleanAttribute })\n showVoiceInputAction = true;\n\n /**\n * Event emitted when the menu button is clicked\n **/\n @Output()\n menuClick = new EventEmitter<void>();\n\n /**\n * Event emitted when user intends to expand the menu.\n * Happens when user clicks `right arrow` key on the menu button\n * if on ltr or `left arrow` key if on rtl.\n **/\n @Output()\n menuExpand = new EventEmitter<void>();\n\n /**\n * Event emitted when user intends to collapse the menu.\n * Happens when user clicks `left arrow` key on the menu button\n * if on ltr or `right arrow` key if on rtl.\n **/\n @Output()\n menuCollapse = new EventEmitter<void>();\n\n /**\n * Event emitted when the microphone button is clicked\n **/\n @Output()\n microphoneClick = new EventEmitter<void>();\n\n /**\n * Event emitted when the default logo is clicked\n */\n @Output()\n logoClick = new EventEmitter<void>();\n\n /** @hidden */\n @ContentChildren(ToolHeaderActionClass)\n _contentActions: QueryList<ToolHeaderActionClass>;\n\n /** @hidden */\n @ContentChild(ToolHeaderLogoDirective)\n _toolHeaderLogoDirective?: ToolHeaderLogoDirective;\n\n /** @hidden */\n @ContentChild(SearchFieldComponent)\n set _searchField(searchField: SearchFieldComponent) {\n this._searchField$.set(searchField);\n }\n\n /** @hidden */\n @ContentChild(ToolHeaderUserDirective)\n _toolHeaderUser?: ToolHeaderUserDirective;\n\n /** @hidden */\n @ContentChild(FD_PRODUCT_SWITCH_COMPONENT)\n _toolHeaderProductSwitch?: unknown;\n\n /** @hidden */\n protected _hiddenActions$ = new BehaviorSubject<OverflowItemRef<ToolHeaderActionDirective>[]>([]);\n\n /** @hidden */\n protected _delayedHiddenActions$ = this._hiddenActions$.pipe(delayWhen(() => this._ngZone.onStable));\n\n /** @hidden */\n private _searchFieldOutsideClickSubscription?: Subscription;\n\n /** @hidden */\n private _ngZone = inject(NgZone);\n\n /** @hidden */\n private _mapOfItemsAndInjectors = new WeakMap<OverflowItemRef<ToolHeaderActionDirective>, Injector>();\n\n /**\n * The handler, responsible for closing the search field\n * on outside click\n * @hidden\n **/\n @HostListener('document:click', ['$event'])\n _onClick(event: MouseEvent): void {\n if (this._searchFieldExpanded$()) {\n if (\n this._mode$() === 'tablet' &&\n this._orientation$() === 'portrait' &&\n this._searchField$() &&\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n !event.composedPath().includes(this._searchField$()!.elementRef.nativeElement)\n ) {\n this._searchFieldExpanded$.set(false);\n }\n }\n }\n\n /**\n * The handler, responsible for the focusing on the search field,\n * when the user presses `Ctrl + K` or `Cmd + K` keys\n * @hidden\n **/\n @HostListener('document:keydown.control.k')\n @HostListener('document:keydown.meta.k')\n _onKeyDown(): void {\n if (this._mode$() === 'tablet' && this._orientation$() === 'portrait' && this._searchField$()) {\n this._searchFieldExpanded$.set(true);\n this._searchField$()?.focus();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._searchFieldOutsideClickSubscription) {\n this._searchFieldOutsideClickSubscription.unsubscribe();\n }\n }\n\n /**\n * Expand the search field\n **/\n expandSearchField(): void {\n this._searchFieldExpanded$.set(true);\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this._searchField$()?.focus();\n });\n }\n\n /** @hidden */\n protected _handleMenuLeftArrowKey(): void {\n if (this.rtl()) {\n this.menuExpand.emit();\n } else {\n this.menuCollapse.emit();\n }\n }\n\n /** @hidden */\n protected _handleMenuRightArrowKey(): void {\n if (this.rtl()) {\n this.menuCollapse.emit();\n } else {\n this.menuExpand.emit();\n }\n }\n\n /** @hidden */\n protected _handleHiddenItemsChange($event: OverflowItemRef<ToolHeaderActionDirective>[]): void {\n this._ngZone.runOutsideAngular(() => {\n this._hiddenActions$.next(\n $event.reduce((acc: OverflowItemRef<ToolHeaderActionDirective>[], i) => {\n if (!i.item.isSeparator) {\n acc.push(i);\n this._mapOfItemsAndInjectors.delete(i);\n }\n return acc;\n }, [])\n );\n });\n }\n\n /** @hidden */\n protected _indirectFocusableItemInjector(\n parent: Injector,\n item: OverflowItemRef<ToolHeaderActionDirective>\n ): Injector {\n let injector = this._mapOfItemsAndInjectors.get(item);\n if (!injector) {\n injector = Injector.create({\n parent,\n providers: [\n {\n provide: FDK_INDIRECT_FOCUSABLE_ITEM_ORDER,\n useValue: item.globalIndex\n }\n ]\n });\n this._mapOfItemsAndInjectors.set(item, injector);\n }\n return injector;\n }\n}\n","<div fdbToolHeaderGroup [class.fd-tool-header--menu]=\"showMenuButton\">\n @if (fdbToolHeaderState().backButtonVisible) {\n <div fdbToolHeaderElement>\n <button\n fd-button\n fdbToolHeaderButton\n glyph=\"slim-arrow-left\"\n (click)=\"_searchFieldExpanded$.set(false)\"\n ></button>\n </div>\n }\n @if (fdbToolHeaderState().menuButtonVisible && showMenuButton) {\n <div fdbToolHeaderElement>\n <button\n fd-button\n fdbToolHeaderButton\n [title]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n [ariaLabel]=\"'btpToolHeader.menuButtonAriaLabel' | fdTranslate\"\n glyph=\"menu2\"\n (keydown.arrowLeft)=\"_handleMenuLeftArrowKey()\"\n (keydown.arrowRight)=\"_handleMenuRightArrowKey()\"\n (click)=\"menuClick.emit()\"\n ></button>\n </div>\n }\n @if (fdbToolHeaderState().logoVisible) {\n <div fdbToolHeaderElement>\n @if (_toolHeaderLogoDirective) {\n <ng-content select=\"[fdbToolHeaderLogo]\"></ng-content>\n } @else {\n <img\n fdbToolHeaderLogo\n (click)=\"logoClick.emit()\"\n src=\"https://unpkg.com/fundamental-styles/dist/images/sap-logo.png\"\n srcset=\"\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@2x.png 1x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@3x.png 2x,\n https://unpkg.com/fundamental-styles/dist/images/sap-logo@4x.png 3x\n \"\n alt=\"SAP logo\"\n aria-label=\"SAP logo\"\n title=\"SAP logo\"\n />\n }\n </div>\n }\n @if (fdbToolHeaderState().productNameVisible) {\n <div fdbToolHeaderElement>\n <h1 class=\"fd-tool-header__product-name\">\n {{ productName }}\n </h1>\n </div>\n }\n @if (fdbToolHeaderState().secondTitleVisible && secondTitle) {\n <div fdbToolHeaderElement>\n <div class=\"fd-tool-header__second-title\">\n {{ secondTitle }}\n </div>\n </div>\n }\n</div>\n@if (fdbToolHeaderState().searchFieldVisible) {\n <div fdbToolHeaderGroup center>\n <ng-content select=\"fdb-search-field\"></ng-content>\n </div>\n}\n<fd-overflow-layout\n fdbToolHeaderGroup\n actions\n [style.justify-content]=\"'end'\"\n (hiddenItemsChange)=\"_handleHiddenItemsChange($event)\"\n [renderShowMoreButton]=\"false\"\n>\n @if (fdbToolHeaderState().searchFieldToggleActionVisible) {\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <button\n fd-button\n fdbToolHeaderActionButton\n glyph=\"search\"\n (click)=\"$event.stopPropagation(); expandSearchField()\"\n ></button>\n </div>\n </ng-template>\n }\n @if (fdbToolHeaderState().providedActionsVisible) {\n @for (action of _contentActions; track action) {\n @if (action.isSeparator ? fdbToolHeaderState().separatorsBetweenActionsVisible : true) {\n <ng-template [fdOverflowItemRef]=\"action\" let-hidden let-injector=\"injector\">\n @if (hidden === false) {\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"!!action.forceVisibility\">\n <ng-template [ngTemplateOutlet]=\"actionTemplate\"></ng-template>\n </div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"action.templateRef\"\n [ngTemplateOutletContext]=\"{ hidden: hidden }\"\n [ngTemplateOutletInjector]=\"injector\"\n >\n </ng-template>\n }\n <ng-template #actionTemplate>\n <ng-template\n [ngTemplateOutlet]=\"action.templateRef\"\n [ngTemplateOutletContext]=\"{ hidden: hidden }\"\n [ngTemplateOutletInjector]=\"injector\"\n >\n </ng-template>\n </ng-template>\n </ng-template>\n }\n }\n }\n <!-- Custom overflow button used as overflow item START -->\n @if (_delayedHiddenActions$ | async; as hiddenActions) {\n @if (hiddenActions.length > 0) {\n <ng-template fdOverflowItemRef>\n <fdb-navigation-menu-popover fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <button\n *fdbNavigationMenuPopoverControl\n fd-button\n fdbToolHeaderActionButton\n glyph=\"overflow\"\n ></button>\n <fdb-navigation-menu\n class=\"fd-tool-header__navigation-menu\"\n fdkIndirectFocusableList\n #indirectFocusableList=\"fdkIndirectFocusableList\"\n >\n @for (item of hiddenActions; track item.globalIndex) {\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: true,\n index: item.index,\n globalIndex: item.globalIndex,\n first: item.first,\n last: item.last,\n injector: _indirectFocusableItemInjector(indirectFocusableList.injector, item)\n }\"\n >\n </ng-template>\n }\n </fdb-navigation-menu>\n </fdb-navigation-menu-popover>\n </ng-template>\n }\n }\n <!-- Custom overflow button used as overflow item END -->\n @if (fdbToolHeaderState().userAvatarVisible && _toolHeaderUser) {\n @if (fdbToolHeaderState().separatorsBetweenActionsVisible) {\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <div class=\"fd-tool-header__separator\"></div>\n </div>\n </ng-template>\n }\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <ng-content select=\"[fdbToolHeaderUser]\"></ng-content>\n </div>\n </ng-template>\n }\n @if (fdbToolHeaderState().productSwitchVisible && _toolHeaderProductSwitch) {\n @if (fdbToolHeaderState().separatorsBetweenActionsVisible) {\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <div class=\"fd-tool-header__separator\"></div>\n </div>\n </ng-template>\n }\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <ng-content select=\"fdb-tool-header-product-switch, fd-product-switch\"></ng-content>\n </div>\n </ng-template>\n }\n @if (fdbToolHeaderState().voiceInputVisible) {\n <ng-template fdOverflowItemRef>\n <div fdbToolHeaderElement fdOverflowLayoutItem [forceVisibility]=\"true\">\n <button\n fd-button\n fdbToolHeaderActionButton\n glyph=\"microphone\"\n [ariaLabel]=\"'Search with voice'\"\n (click)=\"microphoneClick.emit()\"\n ></button>\n </div>\n </ng-template>\n }\n</fd-overflow-layout>\n","import { ContentChild, Directive, inject, TemplateRef } from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ToolHeaderActionClass } from '../tool-header-action.class';\n\nexport interface ToolHeaderActionContext {\n hidden: boolean;\n}\n\n@Directive({\n selector: '[fdbToolHeaderAction]',\n providers: [\n {\n provide: ToolHeaderActionClass,\n useExisting: ToolHeaderActionDirective\n }\n ],\n standalone: true\n})\nexport class ToolHeaderActionDirective extends ToolHeaderActionClass {\n /**\n * Button component which will be used for the action\n **/\n @ContentChild(ButtonComponent, { descendants: true })\n button: ButtonComponent;\n\n /** @hidden */\n templateRef = inject<TemplateRef<ToolHeaderActionContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(dir: ToolHeaderActionDirective, ctx: unknown): ctx is ToolHeaderActionContext {\n return !(dir.isSeparator || dir.forceVisibility);\n }\n}\n","import { computed, Directive, ElementRef, EventEmitter, inject, Input, Output, signal } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { HasElementRef, ResizeObserverService, ResponsiveBreakpoints } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityDirective, ContentDensityMode } from '@fundamental-ngx/core/content-density';\nimport { distinctUntilChanged, map, startWith } from 'rxjs';\nimport { ToolHeaderComponent } from '../components/tool-header/tool-header.component';\n\ninterface FdbToolHeaderModeConfig {\n desktop: number;\n tabletLandscape: [number, number];\n tabletPortrait: [number, number];\n phone: number;\n}\n\nconst DEFAULT_CONFIG: FdbToolHeaderModeConfig = {\n desktop: ResponsiveBreakpoints.L + 1,\n tabletLandscape: [ResponsiveBreakpoints.M + 1, ResponsiveBreakpoints.L],\n tabletPortrait: [ResponsiveBreakpoints.S + 1, ResponsiveBreakpoints.M],\n phone: ResponsiveBreakpoints.S\n};\n\n/**\n * Directive that automatically adjusts the ToolHeader's mode, orientation,\n * and content density based on the element's width.\n *\n * Content density is derived from the detected mode:\n * - Desktop mode (empty string): COMPACT density for mouse/keyboard interaction\n * - Tablet/Phone modes: COZY density for touch-friendly interaction\n *\n * @example\n * <fdb-tool-header fdbToolHeaderAutoMode>\n * <!-- Content density automatically adjusts based on width -->\n * </fdb-tool-header>\n *\n * @example\n * <fdb-tool-header\n * fdbToolHeaderAutoMode\n * (modeChange)=\"onModeChange($event)\"\n * (contentDensityChange)=\"onDensityChange($event)\">\n * </fdb-tool-header>\n */\n@Directive({\n selector: 'fdb-tool-header[fdbToolHeaderAutoMode]',\n exportAs: 'fdbToolHeaderAutoMode',\n hostDirectives: [ContentDensityDirective],\n standalone: true\n})\nexport class ToolHeaderAutoModeDirective implements HasElementRef {\n /**\n * What sizes should be used to determine mode.\n * Sizes mean the width of the tool header, not the whole screen.\n **/\n @Input() set config(config: Partial<FdbToolHeaderModeConfig>) {\n this._config.set({ ...DEFAULT_CONFIG, ...config });\n }\n\n /**\n * Current mode of the ToolHeaderComponent\n */\n @Output()\n modeChange = new EventEmitter<FdbViewMode>();\n\n /**\n * Current orientation of the ToolHeaderComponent\n */\n @Output()\n orientationChange = new EventEmitter<'landscape' | 'portrait'>();\n\n /**\n * Current content density of the ToolHeaderComponent\n */\n @Output()\n contentDensityChange = new EventEmitter<ContentDensityMode>();\n\n /**\n * Reference to the element on which the directive is applied.\n */\n readonly elementRef: ElementRef = inject(ElementRef);\n\n /**\n * Current configuration of the directive.\n */\n protected _config = signal(DEFAULT_CONFIG);\n\n /**\n * Reference to the ContentDensityDirective provided via hostDirectives.\n * Used to programmatically set the content density based on the detected mode.\n */\n protected _contentDensity = inject(ContentDensityDirective);\n\n /**\n * Signal of the Width of the element\n */\n protected _elementWidth = toSignal(\n inject(ResizeObserverService)\n .observe(this.elementRef.nativeElement)\n .pipe(\n map((entries) => entries[0].contentRect.width),\n startWith(this.elementRef.nativeElement.clientWidth)\n ),\n { requireSync: true }\n );\n /**\n * Reference to the ToolHeaderComponent\n */\n protected _toolHeaderComponent = inject(ToolHeaderComponent, { host: true });\n\n /**\n * Computed signal that determines the current mode and orientation\n * based on the element's width and configuration breakpoints.\n *\n * Returns a tuple of [mode, orientation] where mode is:\n * - '' (empty): desktop mode, triggers COMPACT density\n * - 'tablet': tablet mode, triggers COZY density\n * - 'phone': phone mode, triggers COZY density\n */\n protected _currentMode = computed(() => this._getMode(this._elementWidth(), this._config()));\n\n /**\n * @hidden\n */\n constructor() {\n toObservable(this._currentMode)\n .pipe(\n distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]),\n takeUntilDestroyed()\n )\n .subscribe((_mode) => {\n const [mode, orientation = 'landscape'] = _mode;\n this._toolHeaderComponent._mode = mode;\n this._toolHeaderComponent._orientation = orientation;\n\n // Derive content density from mode:\n // - Desktop (mode='') uses COMPACT for denser mouse/keyboard layouts\n // - Tablet/Phone (mode='tablet'|'phone') uses COZY for touch-friendly spacing\n const contentDensity = mode ? ContentDensityMode.COZY : ContentDensityMode.COMPACT;\n this._contentDensity.setDensity(contentDensity);\n\n this.modeChange.emit(mode);\n this.orientationChange.emit(orientation);\n this.contentDensityChange.emit(contentDensity);\n });\n }\n\n /**\n * Determines the mode and orientation based on width and configuration.\n *\n * @param width - Current width of the element in pixels\n * @param config - Breakpoint configuration for mode detection\n * @returns Tuple of [mode, orientation] where mode affects content density\n */\n private _getMode(width: number, config: FdbToolHeaderModeConfig): [FdbViewMode, 'landscape' | 'portrait'] {\n if (width >= config.desktop) {\n return ['', 'landscape'];\n }\n if (width <= config.phone) {\n return ['phone', 'landscape'];\n }\n return [\n 'tablet',\n width >= config.tabletLandscape[0] && width <= config.tabletLandscape[1] ? 'landscape' : 'portrait'\n ];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/btp",
|
|
3
|
-
"version": "0.61.
|
|
3
|
+
"version": "0.61.5",
|
|
4
4
|
"description": "Fundamental Library for Angular - BTP",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://sap.github.io/fundamental-ngx",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"peerDependencies": {
|
|
15
15
|
"@angular/common": "^21.0.0",
|
|
16
16
|
"@angular/core": "^21.0.0",
|
|
17
|
-
"@fundamental-ngx/cdk": "0.61.
|
|
18
|
-
"@fundamental-ngx/core": "0.61.
|
|
17
|
+
"@fundamental-ngx/cdk": "0.61.5",
|
|
18
|
+
"@fundamental-ngx/core": "0.61.5"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"tslib": "^2.3.0"
|