@fundamental-ngx/core 0.62.0-rc.13 → 0.62.0-rc.14
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-breadcrumb.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-inline-help.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +26 -10
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +23 -27
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/package.json +3 -3
- package/types/fundamental-ngx-core-inline-help.d.ts +1 -1
- package/types/fundamental-ngx-core-menu.d.ts +17 -9
- package/types/fundamental-ngx-core-product-switch.d.ts +20 -24
|
@@ -214,7 +214,7 @@ class BreadcrumbComponent {
|
|
|
214
214
|
provide: FD_BREADCRUMB_COMPONENT,
|
|
215
215
|
useExisting: BreadcrumbComponent
|
|
216
216
|
}
|
|
217
|
-
], queries: [{ propertyName: "_contentItems", predicate: FD_BREADCRUMB_ITEM_COMPONENT }], viewQueries: [{ propertyName: "_menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowLayout", first: true, predicate: OverflowLayoutComponent, descendants: true }], ngImport: i0, template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n ariaRole=\"list\"\n>\n @for (breadcrumb of _items$(); track breadcrumb) {\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n }\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items$()\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement()\">\n @for (breadcrumbItem of breadcrumbs; track breadcrumbItem) {\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a fd-menu-interactive (click)=\"itemClicked(breadcrumbItem.item, $event)\">\n @if (breadcrumbItem?.item.breadcrumbLink) {\n @if (breadcrumbItem.item.breadcrumbLink._prefixIconName) {\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n }\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n @if (breadcrumbItem.item.breadcrumbLink._postfixIconName) {\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n }\n } @else {\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n }\n </a>\n </li>\n }\n </fd-menu>\n @if (breadcrumbs.length > 0) {\n <span class=\"fd-breadcrumb__item\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n [attr.aria-label]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n aria-haspopup=\"menu\"\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n <fd-icon\n glyph=\"overflow\"\n [title]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n [ariaLabel]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n ></fd-icon>\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n <span class=\"fd-breadcrumb__separator\" aria-hidden=\"true\"></span>\n </span>\n }\n </ng-container>\n</fd-overflow-layout>\n<ng-content></ng-content>\n", styles: [".fd-breadcrumb{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;--fdLink_Line_Height: 1.5rem;list-style:none;-webkit-margin-after:.5rem;margin-block-end:.5rem}.fd-breadcrumb:before,.fd-breadcrumb:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-block:.0625rem;color:var(--sapContent_LabelColor)}.fd-breadcrumb__item:before,.fd-breadcrumb__item:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:last-child:not(:has(a)){--fdBreadcrumb_Separator: none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb__separator{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0}.fd-breadcrumb__separator:before,.fd-breadcrumb__separator:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-breadcrumb__separator:after{margin-inline:.25rem;color:var(--sapTextColor);content:var(--fdBreadcrumb_Separator, \"/\")}.fd-breadcrumb--backslash{--fdBreadcrumb_Separator: \"\\\\\"}.fd-breadcrumb--double-slash{--fdBreadcrumb_Separator: \"//\"}.fd-breadcrumb--double-backslash{--fdBreadcrumb_Separator: \"\\\\\\\\\"}.fd-breadcrumb--greater-than{--fdBreadcrumb_Separator: \">\"}.fd-breadcrumb--double-greater-than{--fdBreadcrumb_Separator: \">>\"}.fd-breadcrumb{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-overflow-layout .fd-overflow-layout__more .fd-breadcrumb__item{height:26px;vertical-align:text-top}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"], dependencies: [{ kind: "component", type: OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "renderShowMoreButton", "reverseHiddenItems", "enableKeyboardNavigation", "ariaRole", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount", "hiddenItemsChange"] }, { kind: "directive", type: OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "component", type: MenuComponent, selector: "fd-menu", inputs: ["openOnHoverTime", "ariaLabel", "ariaLabelledby", "id", "config", "mobile", "mobileConfig", "placement", "closeOnEscapeKey", "focusAutoCapture", "disabled", "disableScrollbar", "triggers", "fillControlMode", "closeOnOutsideClick", "noArrow", "focusTrapped", "additionalBodyClass", "isOpen"], outputs: ["isOpenChange", "activePath", "beforeOpen"] }, { kind: "component", type: MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "component", type: MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "submenuIndicator", "ariaHidden"] }, { kind: "directive", type: MenuTitleDirective, selector: "[fd-menu-title]", inputs: ["truncate"] }, { kind: "directive", type: MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["emphasized", "disabled", "inverted", "subtle", "undecorated", "touchTarget"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
217
|
+
], queries: [{ propertyName: "_contentItems", predicate: FD_BREADCRUMB_ITEM_COMPONENT }], viewQueries: [{ propertyName: "_menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowLayout", first: true, predicate: OverflowLayoutComponent, descendants: true }], ngImport: i0, template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n ariaRole=\"list\"\n>\n @for (breadcrumb of _items$(); track breadcrumb) {\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n }\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items$()\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement()\">\n @for (breadcrumbItem of breadcrumbs; track breadcrumbItem) {\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a fd-menu-interactive (click)=\"itemClicked(breadcrumbItem.item, $event)\">\n @if (breadcrumbItem?.item.breadcrumbLink) {\n @if (breadcrumbItem.item.breadcrumbLink._prefixIconName) {\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n }\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n @if (breadcrumbItem.item.breadcrumbLink._postfixIconName) {\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n }\n } @else {\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n }\n </a>\n </li>\n }\n </fd-menu>\n @if (breadcrumbs.length > 0) {\n <span class=\"fd-breadcrumb__item\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n [attr.aria-label]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n aria-haspopup=\"menu\"\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n <fd-icon\n glyph=\"overflow\"\n [title]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n [ariaLabel]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n ></fd-icon>\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n <span class=\"fd-breadcrumb__separator\" aria-hidden=\"true\"></span>\n </span>\n }\n </ng-container>\n</fd-overflow-layout>\n<ng-content></ng-content>\n", styles: [".fd-breadcrumb{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;--fdLink_Line_Height: 1.5rem;list-style:none;-webkit-margin-after:.5rem;margin-block-end:.5rem}.fd-breadcrumb:before,.fd-breadcrumb:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-block:.0625rem;color:var(--sapContent_LabelColor)}.fd-breadcrumb__item:before,.fd-breadcrumb__item:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:last-child:not(:has(a)){--fdBreadcrumb_Separator: none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb__separator{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0}.fd-breadcrumb__separator:before,.fd-breadcrumb__separator:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-breadcrumb__separator:after{margin-inline:.25rem;color:var(--sapTextColor);content:var(--fdBreadcrumb_Separator, \"/\")}.fd-breadcrumb--backslash{--fdBreadcrumb_Separator: \"\\\\\"}.fd-breadcrumb--double-slash{--fdBreadcrumb_Separator: \"//\"}.fd-breadcrumb--double-backslash{--fdBreadcrumb_Separator: \"\\\\\\\\\"}.fd-breadcrumb--greater-than{--fdBreadcrumb_Separator: \">\"}.fd-breadcrumb--double-greater-than{--fdBreadcrumb_Separator: \">>\"}.fd-breadcrumb{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-overflow-layout .fd-overflow-layout__more .fd-breadcrumb__item{height:26px;vertical-align:text-top}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"], dependencies: [{ kind: "component", type: OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "renderShowMoreButton", "reverseHiddenItems", "enableKeyboardNavigation", "ariaRole", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount", "hiddenItemsChange"] }, { kind: "directive", type: OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "component", type: MenuComponent, selector: "fd-menu", inputs: ["openOnHoverTime", "ariaLabel", "ariaLabelledby", "id", "config", "mobile", "mobileConfig", "placement", "closeOnEscapeKey", "focusAutoCapture", "disabled", "disableScrollbar", "triggers", "fillControlMode", "closeOnOutsideClick", "noArrow", "focusTrapped", "additionalBodyClass", "closeOnNavigation", "restoreFocusOnClose", "appendTo", "fixedPosition", "isOpen"], outputs: ["isOpenChange", "activePath", "beforeOpen"] }, { kind: "component", type: MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "component", type: MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "submenuIndicator", "ariaHidden"] }, { kind: "directive", type: MenuTitleDirective, selector: "[fd-menu-title]", inputs: ["truncate"] }, { kind: "directive", type: MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["emphasized", "disabled", "inverted", "subtle", "undecorated", "touchTarget"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
218
218
|
}
|
|
219
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
220
220
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-breadcrumb.mjs","sources":["../../../../libs/core/breadcrumb/tokens.ts","../../../../libs/core/breadcrumb/breadcrumb-item.component.ts","../../../../libs/core/breadcrumb/breadcrumb.component.ts","../../../../libs/core/breadcrumb/breadcrumb.component.html","../../../../libs/core/breadcrumb/breadcrumb.module.ts","../../../../libs/core/breadcrumb/fundamental-ngx-core-breadcrumb.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_BREADCRUMB_ITEM_COMPONENT = new InjectionToken('FdBreadcrumbItemComponent');\nexport const FD_BREADCRUMB_COMPONENT = new InjectionToken('FdBreadcrumbComponent');\n","import { DomPortal } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { FD_LINK_COMPONENT, LinkComponent } from '@fundamental-ngx/core/link';\nimport { FD_BREADCRUMB_ITEM_COMPONENT } from './tokens';\n\n/**\n * Breadcrumb item directive. Must have child breadcrumb link directives.\n *\n * ```html\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * ```\n */\n@Component({\n selector: 'fd-breadcrumb-item',\n template: `<ng-content></ng-content> <span class=\"fd-breadcrumb__separator\" aria-hidden=\"true\"></span>`,\n host: {\n class: 'fd-breadcrumb__item'\n },\n providers: [\n {\n provide: FD_BREADCRUMB_ITEM_COMPONENT,\n useExisting: BreadcrumbItemComponent\n }\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class BreadcrumbItemComponent implements AfterViewInit {\n /** @hidden */\n @ContentChild(FD_LINK_COMPONENT)\n breadcrumbLink: LinkComponent;\n\n /** In case there is no link in Item and breadcrumb item is non-interactive, we move whole item content to menu item title */\n breadcrumbItemPortal: DomPortal<Element>;\n\n /** When breadcrumb item has link in it, we are moving link content to menu item title */\n linkContentPortal: DomPortal;\n\n /**\n * Breadcrumb item dom portal.\n */\n portal: DomPortal;\n\n /** @hidden */\n private _attached = false;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._attach();\n }\n\n /**\n * Sets breadcrumb item dom portal.\n */\n setPortal(): void {\n if (!this.portal) {\n this.portal = new DomPortal(this.elementRef);\n }\n }\n\n /** @hidden */\n _detach(): void {\n if (!this._attached) {\n return;\n }\n\n if (this.linkContentPortal?.isAttached) {\n this.linkContentPortal?.detach();\n }\n\n if (this.breadcrumbItemPortal?.isAttached) {\n this.breadcrumbItemPortal?.detach();\n }\n\n this._attached = false;\n }\n\n /** @hidden */\n _attach(): void {\n if (this._attached) {\n return;\n }\n\n const contentSpan = this.breadcrumbLink?.contentSpan();\n if (this.breadcrumbLink && contentSpan) {\n this.linkContentPortal = new DomPortal<HTMLElement>(contentSpan.nativeElement);\n }\n\n this.breadcrumbItemPortal = new DomPortal(this.elementRef.nativeElement.firstElementChild as Element);\n this._attached = true;\n }\n}\n","import { PortalModule } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n computed,\n effect,\n inject,\n input,\n signal\n} from '@angular/core';\nimport { HasElementRef, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport {\n GlyphMenuAddonDirective,\n MenuAddonDirective,\n MenuComponent,\n MenuInteractiveComponent,\n MenuItemComponent,\n MenuTitleDirective,\n MenuTriggerDirective\n} from '@fundamental-ngx/core/menu';\nimport {\n OverflowExpandDirective,\n OverflowItemRefDirective,\n OverflowLayoutComponent,\n OverflowLayoutItemDirective\n} from '@fundamental-ngx/core/overflow-layout';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { FD_LANGUAGE_SIGNAL, FdTranslatePipe, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { FD_BREADCRUMB_COMPONENT, FD_BREADCRUMB_ITEM_COMPONENT } from './tokens';\n\nexport type BreadcrumbSeparatorStyle =\n | ''\n | 'backslash'\n | 'double-slash'\n | 'double-backslash'\n | 'greater-than'\n | 'double-greater-than';\n\n/**\n * Breadcrumb parent wrapper directive. Must have breadcrumb item child directives.\n *\n * ```html\n * <fd-breadcrumb>\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * </fd-breadcrumb>\n * ```\n */\n@Component({\n selector: 'fd-breadcrumb',\n host: {\n role: 'navigation',\n '[class]': '_cssClass()',\n '[attr.aria-label]': '_ariaLabel'\n },\n templateUrl: './breadcrumb.component.html',\n styleUrl: './breadcrumb.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_BREADCRUMB_COMPONENT,\n useExisting: BreadcrumbComponent\n }\n ],\n imports: [\n OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowLayoutItemDirective,\n PortalModule,\n OverflowExpandDirective,\n MenuComponent,\n MenuItemComponent,\n MenuInteractiveComponent,\n GlyphMenuAddonDirective,\n MenuAddonDirective,\n MenuTitleDirective,\n MenuTriggerDirective,\n LinkComponent,\n IconComponent,\n FdTranslatePipe\n ]\n})\nexport class BreadcrumbComponent implements AfterViewInit, HasElementRef {\n /** Whether to append items to the overflow dropdown in reverse order. Default is true. */\n @Input()\n reverse = false;\n\n /** Tabindex of the breadcrumb. */\n @Input()\n tabIndex = '0';\n\n /**\n * Event emitted when visible items count is changed.\n */\n @Output()\n visibleItemsCount = new EventEmitter<number>();\n\n /**\n * Event emitted when hidden items count is changed.\n */\n @Output()\n hiddenItemsCount = new EventEmitter<number>();\n\n /** @hidden */\n @ContentChildren(FD_BREADCRUMB_ITEM_COMPONENT)\n private readonly _contentItems: QueryList<BreadcrumbItemComponent>;\n\n /** @hidden */\n @ViewChild(MenuComponent)\n private readonly _menuComponent: MenuComponent;\n\n /** @hidden */\n @ViewChild(OverflowLayoutComponent)\n private readonly _overflowLayout: OverflowLayoutComponent;\n\n /**\n * Separator style for the breadcrumb items.\n * Can be 'backslash' | 'double-slash' | 'double-backslash' | 'greater-than' | 'double-greater-than'\n * Omit for default (slash)\n */\n separatorStyle = input<BreadcrumbSeparatorStyle>('');\n\n /** @hidden */\n _ariaLabel: string;\n\n /**\n * @hidden\n * Array of breadcrumb items.\n */\n _items$ = signal<BreadcrumbItemComponent[]>([]);\n\n /** @hidden */\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** @hidden */\n protected readonly placement = computed<Placement>(() => (this._rtlService?.rtl() ? 'bottom-end' : 'bottom-start'));\n\n /** @hidden */\n protected readonly _cssClass = computed(() => {\n const classes = ['fd-breadcrumb'];\n const style = this.separatorStyle();\n if (style) {\n classes.push(`fd-breadcrumb--${style}`);\n }\n return classes.join(' ');\n });\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, {\n optional: true\n });\n\n /** @hidden */\n private readonly _langSignal = inject(FD_LANGUAGE_SIGNAL);\n\n /** @hidden */\n private readonly _translationResolver = new TranslationResolver();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor() {\n effect(() => {\n const lang = this._langSignal();\n this._ariaLabel = this._translationResolver.resolve(lang, 'coreBreadcrumb.breadcrumbTrailLabel');\n });\n }\n\n /** @hidden */\n onResize(): void {\n this._overflowLayout.triggerRecalculation();\n }\n\n /**\n * Function that handles click, touch, enter and space events.\n */\n itemClicked(breadcrumbItem: BreadcrumbItemComponent, $event: Event): void {\n $event.preventDefault();\n breadcrumbItem.breadcrumbLink.elementRef.nativeElement.click();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setItems();\n\n this._contentItems.changes.subscribe(() => this._setItems());\n\n // Set menu roles for breadcrumb context\n (this._menuComponent as any)._navContainerRole = 'dialog';\n (this._menuComponent as any)._menuListContainerRole = 'menu';\n }\n\n /** @hidden */\n _keyDownHandle(event: Event): void {\n this._menuComponent.toggle();\n event.preventDefault();\n }\n\n /** @hidden */\n _onHiddenChange(isHidden: boolean, breadcrumb: BreadcrumbItemComponent): void {\n if (!isHidden) {\n breadcrumb._detach();\n } else {\n breadcrumb._attach();\n }\n }\n\n /** @hidden */\n _onVisibleItemsCountChange(visibleItemsCount: number): void {\n this.visibleItemsCount.emit(visibleItemsCount);\n }\n\n /** @hidden */\n _onHiddenItemsCountChange(hiddenItemsCount: number): void {\n this.hiddenItemsCount.emit(hiddenItemsCount);\n }\n\n /** @hidden */\n private _setItems(): void {\n this._contentItems.forEach((item) => item.setPortal());\n this._items$.set(this._contentItems.toArray());\n }\n}\n","<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n ariaRole=\"list\"\n>\n @for (breadcrumb of _items$(); track breadcrumb) {\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n }\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items$()\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement()\">\n @for (breadcrumbItem of breadcrumbs; track breadcrumbItem) {\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a fd-menu-interactive (click)=\"itemClicked(breadcrumbItem.item, $event)\">\n @if (breadcrumbItem?.item.breadcrumbLink) {\n @if (breadcrumbItem.item.breadcrumbLink._prefixIconName) {\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n }\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n @if (breadcrumbItem.item.breadcrumbLink._postfixIconName) {\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n }\n } @else {\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n }\n </a>\n </li>\n }\n </fd-menu>\n @if (breadcrumbs.length > 0) {\n <span class=\"fd-breadcrumb__item\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n [attr.aria-label]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n aria-haspopup=\"menu\"\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n <fd-icon\n glyph=\"overflow\"\n [title]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n [ariaLabel]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n ></fd-icon>\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n <span class=\"fd-breadcrumb__separator\" aria-hidden=\"true\"></span>\n </span>\n }\n </ng-container>\n</fd-overflow-layout>\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { BreadcrumbComponent } from './breadcrumb.component';\n\nconst components = [BreadcrumbComponent, BreadcrumbItemComponent, LinkComponent, ContentDensityModule];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-breadcrumb.mjs","sources":["../../../../libs/core/breadcrumb/tokens.ts","../../../../libs/core/breadcrumb/breadcrumb-item.component.ts","../../../../libs/core/breadcrumb/breadcrumb.component.ts","../../../../libs/core/breadcrumb/breadcrumb.component.html","../../../../libs/core/breadcrumb/breadcrumb.module.ts","../../../../libs/core/breadcrumb/fundamental-ngx-core-breadcrumb.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_BREADCRUMB_ITEM_COMPONENT = new InjectionToken('FdBreadcrumbItemComponent');\nexport const FD_BREADCRUMB_COMPONENT = new InjectionToken('FdBreadcrumbComponent');\n","import { DomPortal } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { FD_LINK_COMPONENT, LinkComponent } from '@fundamental-ngx/core/link';\nimport { FD_BREADCRUMB_ITEM_COMPONENT } from './tokens';\n\n/**\n * Breadcrumb item directive. Must have child breadcrumb link directives.\n *\n * ```html\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * ```\n */\n@Component({\n selector: 'fd-breadcrumb-item',\n template: `<ng-content></ng-content> <span class=\"fd-breadcrumb__separator\" aria-hidden=\"true\"></span>`,\n host: {\n class: 'fd-breadcrumb__item'\n },\n providers: [\n {\n provide: FD_BREADCRUMB_ITEM_COMPONENT,\n useExisting: BreadcrumbItemComponent\n }\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class BreadcrumbItemComponent implements AfterViewInit {\n /** @hidden */\n @ContentChild(FD_LINK_COMPONENT)\n breadcrumbLink: LinkComponent;\n\n /** In case there is no link in Item and breadcrumb item is non-interactive, we move whole item content to menu item title */\n breadcrumbItemPortal: DomPortal<Element>;\n\n /** When breadcrumb item has link in it, we are moving link content to menu item title */\n linkContentPortal: DomPortal;\n\n /**\n * Breadcrumb item dom portal.\n */\n portal: DomPortal;\n\n /** @hidden */\n private _attached = false;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._attach();\n }\n\n /**\n * Sets breadcrumb item dom portal.\n */\n setPortal(): void {\n if (!this.portal) {\n this.portal = new DomPortal(this.elementRef);\n }\n }\n\n /** @hidden */\n _detach(): void {\n if (!this._attached) {\n return;\n }\n\n if (this.linkContentPortal?.isAttached) {\n this.linkContentPortal?.detach();\n }\n\n if (this.breadcrumbItemPortal?.isAttached) {\n this.breadcrumbItemPortal?.detach();\n }\n\n this._attached = false;\n }\n\n /** @hidden */\n _attach(): void {\n if (this._attached) {\n return;\n }\n\n const contentSpan = this.breadcrumbLink?.contentSpan();\n if (this.breadcrumbLink && contentSpan) {\n this.linkContentPortal = new DomPortal<HTMLElement>(contentSpan.nativeElement);\n }\n\n this.breadcrumbItemPortal = new DomPortal(this.elementRef.nativeElement.firstElementChild as Element);\n this._attached = true;\n }\n}\n","import { PortalModule } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n computed,\n effect,\n inject,\n input,\n signal\n} from '@angular/core';\nimport { HasElementRef, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport {\n GlyphMenuAddonDirective,\n MenuAddonDirective,\n MenuComponent,\n MenuInteractiveComponent,\n MenuItemComponent,\n MenuTitleDirective,\n MenuTriggerDirective\n} from '@fundamental-ngx/core/menu';\nimport {\n OverflowExpandDirective,\n OverflowItemRefDirective,\n OverflowLayoutComponent,\n OverflowLayoutItemDirective\n} from '@fundamental-ngx/core/overflow-layout';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { FD_LANGUAGE_SIGNAL, FdTranslatePipe, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { FD_BREADCRUMB_COMPONENT, FD_BREADCRUMB_ITEM_COMPONENT } from './tokens';\n\nexport type BreadcrumbSeparatorStyle =\n | ''\n | 'backslash'\n | 'double-slash'\n | 'double-backslash'\n | 'greater-than'\n | 'double-greater-than';\n\n/**\n * Breadcrumb parent wrapper directive. Must have breadcrumb item child directives.\n *\n * ```html\n * <fd-breadcrumb>\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * </fd-breadcrumb>\n * ```\n */\n@Component({\n selector: 'fd-breadcrumb',\n host: {\n role: 'navigation',\n '[class]': '_cssClass()',\n '[attr.aria-label]': '_ariaLabel'\n },\n templateUrl: './breadcrumb.component.html',\n styleUrl: './breadcrumb.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_BREADCRUMB_COMPONENT,\n useExisting: BreadcrumbComponent\n }\n ],\n imports: [\n OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowLayoutItemDirective,\n PortalModule,\n OverflowExpandDirective,\n MenuComponent,\n MenuItemComponent,\n MenuInteractiveComponent,\n GlyphMenuAddonDirective,\n MenuAddonDirective,\n MenuTitleDirective,\n MenuTriggerDirective,\n LinkComponent,\n IconComponent,\n FdTranslatePipe\n ]\n})\nexport class BreadcrumbComponent implements AfterViewInit, HasElementRef {\n /** Whether to append items to the overflow dropdown in reverse order. Default is true. */\n @Input()\n reverse = false;\n\n /** Tabindex of the breadcrumb. */\n @Input()\n tabIndex = '0';\n\n /**\n * Event emitted when visible items count is changed.\n */\n @Output()\n visibleItemsCount = new EventEmitter<number>();\n\n /**\n * Event emitted when hidden items count is changed.\n */\n @Output()\n hiddenItemsCount = new EventEmitter<number>();\n\n /** @hidden */\n @ContentChildren(FD_BREADCRUMB_ITEM_COMPONENT)\n private readonly _contentItems: QueryList<BreadcrumbItemComponent>;\n\n /** @hidden */\n @ViewChild(MenuComponent)\n private readonly _menuComponent: MenuComponent;\n\n /** @hidden */\n @ViewChild(OverflowLayoutComponent)\n private readonly _overflowLayout: OverflowLayoutComponent;\n\n /**\n * Separator style for the breadcrumb items.\n * Can be 'backslash' | 'double-slash' | 'double-backslash' | 'greater-than' | 'double-greater-than'\n * Omit for default (slash)\n */\n separatorStyle = input<BreadcrumbSeparatorStyle>('');\n\n /** @hidden */\n _ariaLabel: string;\n\n /**\n * @hidden\n * Array of breadcrumb items.\n */\n _items$ = signal<BreadcrumbItemComponent[]>([]);\n\n /** @hidden */\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** @hidden */\n protected readonly placement = computed<Placement>(() => (this._rtlService?.rtl() ? 'bottom-end' : 'bottom-start'));\n\n /** @hidden */\n protected readonly _cssClass = computed(() => {\n const classes = ['fd-breadcrumb'];\n const style = this.separatorStyle();\n if (style) {\n classes.push(`fd-breadcrumb--${style}`);\n }\n return classes.join(' ');\n });\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, {\n optional: true\n });\n\n /** @hidden */\n private readonly _langSignal = inject(FD_LANGUAGE_SIGNAL);\n\n /** @hidden */\n private readonly _translationResolver = new TranslationResolver();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor() {\n effect(() => {\n const lang = this._langSignal();\n this._ariaLabel = this._translationResolver.resolve(lang, 'coreBreadcrumb.breadcrumbTrailLabel');\n });\n }\n\n /** @hidden */\n onResize(): void {\n this._overflowLayout.triggerRecalculation();\n }\n\n /**\n * Function that handles click, touch, enter and space events.\n */\n itemClicked(breadcrumbItem: BreadcrumbItemComponent, $event: Event): void {\n $event.preventDefault();\n breadcrumbItem.breadcrumbLink.elementRef.nativeElement.click();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setItems();\n\n this._contentItems.changes.subscribe(() => this._setItems());\n\n // Set menu roles for breadcrumb context\n (this._menuComponent as any)._navContainerRole = 'dialog';\n (this._menuComponent as any)._menuListContainerRole = 'menu';\n }\n\n /** @hidden */\n _keyDownHandle(event: Event): void {\n this._menuComponent.toggle();\n event.preventDefault();\n }\n\n /** @hidden */\n _onHiddenChange(isHidden: boolean, breadcrumb: BreadcrumbItemComponent): void {\n if (!isHidden) {\n breadcrumb._detach();\n } else {\n breadcrumb._attach();\n }\n }\n\n /** @hidden */\n _onVisibleItemsCountChange(visibleItemsCount: number): void {\n this.visibleItemsCount.emit(visibleItemsCount);\n }\n\n /** @hidden */\n _onHiddenItemsCountChange(hiddenItemsCount: number): void {\n this.hiddenItemsCount.emit(hiddenItemsCount);\n }\n\n /** @hidden */\n private _setItems(): void {\n this._contentItems.forEach((item) => item.setPortal());\n this._items$.set(this._contentItems.toArray());\n }\n}\n","<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n ariaRole=\"list\"\n>\n @for (breadcrumb of _items$(); track breadcrumb) {\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n }\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items$()\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement()\">\n @for (breadcrumbItem of breadcrumbs; track breadcrumbItem) {\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a fd-menu-interactive (click)=\"itemClicked(breadcrumbItem.item, $event)\">\n @if (breadcrumbItem?.item.breadcrumbLink) {\n @if (breadcrumbItem.item.breadcrumbLink._prefixIconName) {\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n }\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n @if (breadcrumbItem.item.breadcrumbLink._postfixIconName) {\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n }\n } @else {\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n }\n </a>\n </li>\n }\n </fd-menu>\n @if (breadcrumbs.length > 0) {\n <span class=\"fd-breadcrumb__item\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n [attr.aria-label]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n aria-haspopup=\"menu\"\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n <fd-icon\n glyph=\"overflow\"\n [title]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n [ariaLabel]=\"('coreBreadcrumb.overflowTitleMore' | fdTranslate)()\"\n ></fd-icon>\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n <span class=\"fd-breadcrumb__separator\" aria-hidden=\"true\"></span>\n </span>\n }\n </ng-container>\n</fd-overflow-layout>\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { BreadcrumbComponent } from './breadcrumb.component';\n\nconst components = [BreadcrumbComponent, BreadcrumbItemComponent, LinkComponent, ContentDensityModule];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ class InlineHelpDirective {
|
|
|
31
31
|
*/
|
|
32
32
|
this.triggers = input(DEFAULT_TRIGGERS, ...(ngDevMode ? [{ debugName: "triggers" }] : []));
|
|
33
33
|
/** Whether the popover should close when a click is made outside its boundaries. */
|
|
34
|
-
this.closeOnOutsideClick = input(false, ...(ngDevMode ?
|
|
34
|
+
this.closeOnOutsideClick = input(false, { ...(ngDevMode ? { debugName: "closeOnOutsideClick" } : {}), transform: booleanAttribute });
|
|
35
35
|
/** Additional CSS class(es) to apply to the popover body. */
|
|
36
36
|
this.additionalBodyClass = input(null, ...(ngDevMode ? [{ debugName: "additionalBodyClass" }] : []));
|
|
37
37
|
/** Whether the inline help is disabled. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-inline-help.mjs","sources":["../../../../libs/core/inline-help/inline-help.directive.ts","../../../../libs/core/inline-help/inline-help.module.ts","../../../../libs/core/inline-help/fundamental-ngx-core-inline-help.ts"],"sourcesContent":["import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n EmbeddedViewRef,\n inject,\n input,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_ICON_COMPONENT } from '@fundamental-ngx/core/icon';\nimport { PopoverService, TriggerConfig } from '@fundamental-ngx/core/popover';\nimport { Placement } from '@fundamental-ngx/core/shared';\n\nconst INLINE_HELP_CLASS = 'fd-popover__body--inline-help fd-inline-help__content';\nconst INLINE_HELP_ICON_CLASS = 'fd-popover__body--inline-help-with-icon';\n\n/** Default trigger configuration for inline help */\nconst DEFAULT_TRIGGERS: TriggerConfig[] = [\n { trigger: 'mouseenter', openAction: true, closeAction: false },\n { trigger: 'mouseleave', openAction: false, closeAction: true },\n { trigger: 'focusin', openAction: true, closeAction: false },\n { trigger: 'focusout', openAction: false, closeAction: true }\n];\n\nlet inlineHelpId = 0;\n\n/**\n * The component that represents an inline-help.\n * Inline help is used to display help text in a popover, often inline with headers, body text and form labels.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-inline-help]:not([fd-inline-help-template]), [fd-inline-help-template]:not([fd-inline-help])',\n providers: [PopoverService],\n host: {\n '[class.fd-inline-help__trigger]': 'true',\n '[attr.aria-describedby]': 'bodyId()'\n }\n})\nexport class InlineHelpDirective {\n /** Inline help text to display inside generated popover */\n readonly inlineHelpContent = input<string | TemplateRef<any>>('', { alias: 'fd-inline-help' });\n\n /** Popover placement */\n readonly placement = input<Placement | null>(null);\n\n /**\n * The trigger events that will open/close the inline help component.\n * Accepts any HTML DOM Events or TriggerConfig objects.\n * @default mouseenter/mouseleave and focusin/focusout\n */\n readonly triggers = input<(string | TriggerConfig)[]>(DEFAULT_TRIGGERS);\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n readonly closeOnOutsideClick = input(false);\n\n /** Additional CSS class(es) to apply to the popover body. */\n readonly additionalBodyClass = input<string | null>(null);\n\n /** Whether the inline help is disabled. */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /** ID for the Inline Help Popover body */\n readonly bodyId = input(`fd-inline-help-${inlineHelpId++}`);\n\n /** aria-role for the Inline Help Popover body */\n readonly bodyRole = input('tooltip');\n\n /** @hidden Combined internal + user-provided body classes. */\n readonly combinedBodyClass = computed(() => {\n const parts = [this._additionalBodyClass];\n const userClass = this.additionalBodyClass();\n if (userClass) {\n parts.push(userClass);\n }\n return parts.join(' ');\n });\n\n /** @hidden Popover configuration computed from all inputs. */\n readonly popoverConfig = computed(() => ({\n placement: this.placement() ?? 'bottom',\n triggers: this.triggers(),\n noArrow: false,\n closeOnEscapeKey: false,\n closeOnOutsideClick: this.closeOnOutsideClick(),\n additionalBodyClass: this.combinedBodyClass(),\n disabled: this.disabled(),\n bodyRole: this.bodyRole(),\n bodyId: this.bodyId()\n }));\n\n /** @hidden */\n private readonly _popoverService = inject(PopoverService);\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n private readonly _viewContainerRef = inject(ViewContainerRef);\n\n /** @hidden */\n private readonly _icon = inject(FD_ICON_COMPONENT, { optional: true, self: true });\n\n /** @hidden */\n private _additionalBodyClass = '';\n\n /** @hidden */\n private _srViewRef: EmbeddedViewRef<any> | null = null;\n\n /** @hidden */\n private _initialised = false;\n\n /** @hidden */\n constructor() {\n this._applyAdditionalInlineHelpClass();\n\n // Effect to initialise and reactively update the popover config\n effect(() => {\n const config = this.popoverConfig();\n if (!this._initialised) {\n this._popoverService.initialise(this._elementRef, config);\n this._initialised = true;\n } else {\n this._popoverService.refreshConfiguration(config);\n }\n });\n\n // Effect to watch for content changes\n effect(() => {\n const content = this.inlineHelpContent();\n const text = typeof content === 'string' ? content : null;\n const template = content instanceof TemplateRef ? content : null;\n\n this._popoverService.updateContent(text, template);\n this._setupScreenreaderElement(content);\n });\n }\n\n /** @hidden */\n private _applyAdditionalInlineHelpClass(): void {\n let classes = INLINE_HELP_CLASS;\n\n // If connected to the icon, but not button, then apply additional class\n // That will change the arrow's position a bit\n if (this._icon) {\n classes += ' ' + INLINE_HELP_ICON_CLASS;\n }\n\n this._additionalBodyClass = classes;\n }\n\n /** @hidden */\n private _setupScreenreaderElement(content: string | Nullable<TemplateRef<any>>): void {\n this._viewContainerRef.clear();\n\n // Destroy previous embedded view if any\n if (this._srViewRef) {\n this._srViewRef.destroy();\n this._srViewRef = null;\n }\n\n let srElement = this._renderer.createElement('span');\n if (typeof content === 'string') {\n srElement.innerText = content;\n } else if (content) {\n this._srViewRef = content.createEmbeddedView(null);\n if (this._srViewRef.rootNodes[0] instanceof Text) {\n srElement.innerText = this._srViewRef.rootNodes[0].textContent;\n } else {\n srElement = this._srViewRef.rootNodes[0];\n }\n }\n\n if (srElement.style) {\n srElement.style.cssText = `position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px);`;\n }\n this._renderer.appendChild(this._elementRef.nativeElement, srElement);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { InlineHelpDirective } from './inline-help.directive';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [InlineHelpDirective],\n exports: [InlineHelpDirective]\n})\nexport class InlineHelpModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-inline-help.mjs","sources":["../../../../libs/core/inline-help/inline-help.directive.ts","../../../../libs/core/inline-help/inline-help.module.ts","../../../../libs/core/inline-help/fundamental-ngx-core-inline-help.ts"],"sourcesContent":["import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n EmbeddedViewRef,\n inject,\n input,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_ICON_COMPONENT } from '@fundamental-ngx/core/icon';\nimport { PopoverService, TriggerConfig } from '@fundamental-ngx/core/popover';\nimport { Placement } from '@fundamental-ngx/core/shared';\n\nconst INLINE_HELP_CLASS = 'fd-popover__body--inline-help fd-inline-help__content';\nconst INLINE_HELP_ICON_CLASS = 'fd-popover__body--inline-help-with-icon';\n\n/** Default trigger configuration for inline help */\nconst DEFAULT_TRIGGERS: TriggerConfig[] = [\n { trigger: 'mouseenter', openAction: true, closeAction: false },\n { trigger: 'mouseleave', openAction: false, closeAction: true },\n { trigger: 'focusin', openAction: true, closeAction: false },\n { trigger: 'focusout', openAction: false, closeAction: true }\n];\n\nlet inlineHelpId = 0;\n\n/**\n * The component that represents an inline-help.\n * Inline help is used to display help text in a popover, often inline with headers, body text and form labels.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-inline-help]:not([fd-inline-help-template]), [fd-inline-help-template]:not([fd-inline-help])',\n providers: [PopoverService],\n host: {\n '[class.fd-inline-help__trigger]': 'true',\n '[attr.aria-describedby]': 'bodyId()'\n }\n})\nexport class InlineHelpDirective {\n /** Inline help text to display inside generated popover */\n readonly inlineHelpContent = input<string | TemplateRef<any>>('', { alias: 'fd-inline-help' });\n\n /** Popover placement */\n readonly placement = input<Placement | null>(null);\n\n /**\n * The trigger events that will open/close the inline help component.\n * Accepts any HTML DOM Events or TriggerConfig objects.\n * @default mouseenter/mouseleave and focusin/focusout\n */\n readonly triggers = input<(string | TriggerConfig)[]>(DEFAULT_TRIGGERS);\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n readonly closeOnOutsideClick = input(false, { transform: booleanAttribute });\n\n /** Additional CSS class(es) to apply to the popover body. */\n readonly additionalBodyClass = input<string | null>(null);\n\n /** Whether the inline help is disabled. */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /** ID for the Inline Help Popover body */\n readonly bodyId = input(`fd-inline-help-${inlineHelpId++}`);\n\n /** aria-role for the Inline Help Popover body */\n readonly bodyRole = input('tooltip');\n\n /** @hidden Combined internal + user-provided body classes. */\n readonly combinedBodyClass = computed(() => {\n const parts = [this._additionalBodyClass];\n const userClass = this.additionalBodyClass();\n if (userClass) {\n parts.push(userClass);\n }\n return parts.join(' ');\n });\n\n /** @hidden Popover configuration computed from all inputs. */\n readonly popoverConfig = computed(() => ({\n placement: this.placement() ?? 'bottom',\n triggers: this.triggers(),\n noArrow: false,\n closeOnEscapeKey: false,\n closeOnOutsideClick: this.closeOnOutsideClick(),\n additionalBodyClass: this.combinedBodyClass(),\n disabled: this.disabled(),\n bodyRole: this.bodyRole(),\n bodyId: this.bodyId()\n }));\n\n /** @hidden */\n private readonly _popoverService = inject(PopoverService);\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n private readonly _viewContainerRef = inject(ViewContainerRef);\n\n /** @hidden */\n private readonly _icon = inject(FD_ICON_COMPONENT, { optional: true, self: true });\n\n /** @hidden */\n private _additionalBodyClass = '';\n\n /** @hidden */\n private _srViewRef: EmbeddedViewRef<any> | null = null;\n\n /** @hidden */\n private _initialised = false;\n\n /** @hidden */\n constructor() {\n this._applyAdditionalInlineHelpClass();\n\n // Effect to initialise and reactively update the popover config\n effect(() => {\n const config = this.popoverConfig();\n if (!this._initialised) {\n this._popoverService.initialise(this._elementRef, config);\n this._initialised = true;\n } else {\n this._popoverService.refreshConfiguration(config);\n }\n });\n\n // Effect to watch for content changes\n effect(() => {\n const content = this.inlineHelpContent();\n const text = typeof content === 'string' ? content : null;\n const template = content instanceof TemplateRef ? content : null;\n\n this._popoverService.updateContent(text, template);\n this._setupScreenreaderElement(content);\n });\n }\n\n /** @hidden */\n private _applyAdditionalInlineHelpClass(): void {\n let classes = INLINE_HELP_CLASS;\n\n // If connected to the icon, but not button, then apply additional class\n // That will change the arrow's position a bit\n if (this._icon) {\n classes += ' ' + INLINE_HELP_ICON_CLASS;\n }\n\n this._additionalBodyClass = classes;\n }\n\n /** @hidden */\n private _setupScreenreaderElement(content: string | Nullable<TemplateRef<any>>): void {\n this._viewContainerRef.clear();\n\n // Destroy previous embedded view if any\n if (this._srViewRef) {\n this._srViewRef.destroy();\n this._srViewRef = null;\n }\n\n let srElement = this._renderer.createElement('span');\n if (typeof content === 'string') {\n srElement.innerText = content;\n } else if (content) {\n this._srViewRef = content.createEmbeddedView(null);\n if (this._srViewRef.rootNodes[0] instanceof Text) {\n srElement.innerText = this._srViewRef.rootNodes[0].textContent;\n } else {\n srElement = this._srViewRef.rootNodes[0];\n }\n }\n\n if (srElement.style) {\n srElement.style.cssText = `position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px);`;\n }\n this._renderer.appendChild(this._elementRef.nativeElement, srElement);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { InlineHelpDirective } from './inline-help.directive';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [InlineHelpDirective],\n exports: [InlineHelpDirective]\n})\nexport class InlineHelpModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1412,20 +1412,20 @@ class MenuComponent {
|
|
|
1412
1412
|
title: '',
|
|
1413
1413
|
hasCloseButton: true
|
|
1414
1414
|
}, ...(ngDevMode ? [{ debugName: "mobileConfig" }] : []));
|
|
1415
|
-
/**
|
|
1415
|
+
/** Menu placement */
|
|
1416
1416
|
this.placement = input('bottom-start', ...(ngDevMode ? [{ debugName: "placement" }] : []));
|
|
1417
|
-
/** Whether to close
|
|
1417
|
+
/** Whether to close menu on escape key */
|
|
1418
1418
|
this.closeOnEscapeKey = input(true, { ...(ngDevMode ? { debugName: "closeOnEscapeKey" } : {}), transform: booleanAttribute });
|
|
1419
1419
|
/** Whether to auto-capture focus when opened */
|
|
1420
1420
|
this.focusAutoCapture = input(true, { ...(ngDevMode ? { debugName: "focusAutoCapture" } : {}), transform: booleanAttribute });
|
|
1421
|
-
/** Whether the menu
|
|
1421
|
+
/** Whether the menu is disabled */
|
|
1422
1422
|
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
|
|
1423
1423
|
/** Whether to disable scrollbar */
|
|
1424
1424
|
this.disableScrollbar = input(false, { ...(ngDevMode ? { debugName: "disableScrollbar" } : {}), transform: booleanAttribute });
|
|
1425
1425
|
/** Trigger events for opening/closing */
|
|
1426
1426
|
this.triggers = input(['click'], ...(ngDevMode ? [{ debugName: "triggers" }] : []));
|
|
1427
1427
|
/**
|
|
1428
|
-
* Preset options for the
|
|
1428
|
+
* Preset options for the menu body width.
|
|
1429
1429
|
* * `at-least` will apply a minimum width to the body equivalent to the width of the control.
|
|
1430
1430
|
* * `equal` will apply a width to the body equivalent to the width of the control.
|
|
1431
1431
|
* * Leave blank for no effect.
|
|
@@ -1435,17 +1435,25 @@ class MenuComponent {
|
|
|
1435
1435
|
this.closeOnOutsideClick = input(true, { ...(ngDevMode ? { debugName: "closeOnOutsideClick" } : {}), transform: booleanAttribute });
|
|
1436
1436
|
/** Whether to hide the arrow */
|
|
1437
1437
|
this.noArrow = input(true, { ...(ngDevMode ? { debugName: "noArrow" } : {}), transform: booleanAttribute });
|
|
1438
|
-
/** Whether the
|
|
1438
|
+
/** Whether the menu should trap focus within its boundaries */
|
|
1439
1439
|
this.focusTrapped = input(true, { ...(ngDevMode ? { debugName: "focusTrapped" } : {}), transform: booleanAttribute });
|
|
1440
|
-
/** Additional CSS classes for the
|
|
1440
|
+
/** Additional CSS classes for the menu body container */
|
|
1441
1441
|
this.additionalBodyClass = input(null, ...(ngDevMode ? [{ debugName: "additionalBodyClass" }] : []));
|
|
1442
|
+
/** Whether to close the menu on router navigation start */
|
|
1443
|
+
this.closeOnNavigation = input(true, { ...(ngDevMode ? { debugName: "closeOnNavigation" } : {}), transform: booleanAttribute });
|
|
1444
|
+
/** Whether to move focus back to the trigger after the menu is closed */
|
|
1445
|
+
this.restoreFocusOnClose = input(true, { ...(ngDevMode ? { debugName: "restoreFocusOnClose" } : {}), transform: booleanAttribute });
|
|
1446
|
+
/** The element to which the menu overlay is attached */
|
|
1447
|
+
this.appendTo = input(null, ...(ngDevMode ? [{ debugName: "appendTo" }] : []));
|
|
1448
|
+
/** Whether position shouldn't change when the menu approaches the corner of the page */
|
|
1449
|
+
this.fixedPosition = input(false, { ...(ngDevMode ? { debugName: "fixedPosition" } : {}), transform: booleanAttribute });
|
|
1442
1450
|
/** Two-way binding for menu open state */
|
|
1443
1451
|
this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
|
|
1444
1452
|
/** Emits when menu open state changes - required for MenuInterface compatibility */
|
|
1445
1453
|
this.isOpenChange = output();
|
|
1446
1454
|
/** Emits array of active menu items */
|
|
1447
1455
|
this.activePath = output();
|
|
1448
|
-
/** Event emitted right before the
|
|
1456
|
+
/** Event emitted right before the menu is being opened. */
|
|
1449
1457
|
this.beforeOpen = output();
|
|
1450
1458
|
/** @hidden Injected dependencies using inject() function */
|
|
1451
1459
|
this.elementRef = inject(ElementRef);
|
|
@@ -1518,6 +1526,10 @@ class MenuComponent {
|
|
|
1518
1526
|
this._popoverService.fillControlMode.set(this.fillControlMode() ?? cfg.fillControlMode ?? null);
|
|
1519
1527
|
this._popoverService.closeOnOutsideClick.set(this.closeOnOutsideClick() ?? cfg.closeOnOutsideClick ?? true);
|
|
1520
1528
|
this._popoverService.noArrow.set(this.noArrow() ?? cfg.noArrow ?? true);
|
|
1529
|
+
this._popoverService.closeOnNavigation.set(this.closeOnNavigation() ?? cfg.closeOnNavigation ?? true);
|
|
1530
|
+
this._popoverService.restoreFocusOnClose.set(this.restoreFocusOnClose() ?? cfg.restoreFocusOnClose ?? true);
|
|
1531
|
+
this._popoverService.appendTo.set(this.appendTo() ?? cfg.appendTo ?? null);
|
|
1532
|
+
this._popoverService.fixedPosition.set(this.fixedPosition() ?? cfg.fixedPosition ?? false);
|
|
1521
1533
|
const bodyClass = this.additionalBodyClass() ?? cfg.additionalBodyClass ?? '';
|
|
1522
1534
|
this._popoverService.additionalBodyClass.set(bodyClass + ' fd-popover--menu');
|
|
1523
1535
|
});
|
|
@@ -1692,7 +1704,7 @@ class MenuComponent {
|
|
|
1692
1704
|
toggle() {
|
|
1693
1705
|
this.isOpen() ? this.close() : this.open();
|
|
1694
1706
|
}
|
|
1695
|
-
/** Method called to refresh position of opened
|
|
1707
|
+
/** Method called to refresh position of opened menu */
|
|
1696
1708
|
refreshPosition() {
|
|
1697
1709
|
this._popoverService.refreshPosition();
|
|
1698
1710
|
}
|
|
@@ -1732,6 +1744,10 @@ class MenuComponent {
|
|
|
1732
1744
|
fillControlMode: this.fillControlMode() ?? cfg.fillControlMode,
|
|
1733
1745
|
closeOnOutsideClick: this.closeOnOutsideClick() ?? cfg.closeOnOutsideClick,
|
|
1734
1746
|
noArrow: this.noArrow() ?? cfg.noArrow,
|
|
1747
|
+
closeOnNavigation: this.closeOnNavigation() ?? cfg.closeOnNavigation,
|
|
1748
|
+
restoreFocusOnClose: this.restoreFocusOnClose() ?? cfg.restoreFocusOnClose,
|
|
1749
|
+
appendTo: this.appendTo() ?? cfg.appendTo,
|
|
1750
|
+
fixedPosition: this.fixedPosition() ?? cfg.fixedPosition,
|
|
1735
1751
|
additionalBodyClass: ((this.additionalBodyClass() ?? cfg.additionalBodyClass ?? '') + ' fd-popover--menu').trim()
|
|
1736
1752
|
};
|
|
1737
1753
|
this._popoverService.initialise(this._externalTrigger, configToPass);
|
|
@@ -1788,7 +1804,7 @@ class MenuComponent {
|
|
|
1788
1804
|
}
|
|
1789
1805
|
}
|
|
1790
1806
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1791
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.0", type: MenuComponent, isStandalone: true, selector: "fd-menu", inputs: { openOnHoverTime: { classPropertyName: "openOnHoverTime", publicName: "openOnHoverTime", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, mobile: { classPropertyName: "mobile", publicName: "mobile", isSignal: true, isRequired: false, transformFunction: null }, mobileConfig: { classPropertyName: "mobileConfig", publicName: "mobileConfig", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscapeKey: { classPropertyName: "closeOnEscapeKey", publicName: "closeOnEscapeKey", isSignal: true, isRequired: false, transformFunction: null }, focusAutoCapture: { classPropertyName: "focusAutoCapture", publicName: "focusAutoCapture", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, disableScrollbar: { classPropertyName: "disableScrollbar", publicName: "disableScrollbar", isSignal: true, isRequired: false, transformFunction: null }, triggers: { classPropertyName: "triggers", publicName: "triggers", isSignal: true, isRequired: false, transformFunction: null }, fillControlMode: { classPropertyName: "fillControlMode", publicName: "fillControlMode", isSignal: true, isRequired: false, transformFunction: null }, closeOnOutsideClick: { classPropertyName: "closeOnOutsideClick", publicName: "closeOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, noArrow: { classPropertyName: "noArrow", publicName: "noArrow", isSignal: true, isRequired: false, transformFunction: null }, focusTrapped: { classPropertyName: "focusTrapped", publicName: "focusTrapped", isSignal: true, isRequired: false, transformFunction: null }, additionalBodyClass: { classPropertyName: "additionalBodyClass", publicName: "additionalBodyClass", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", isOpenChange: "isOpenChange", activePath: "activePath", beforeOpen: "beforeOpen" }, host: { properties: { "class.fd-popover-custom--disabled": "disabled()" } }, providers: [
|
|
1807
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.0", type: MenuComponent, isStandalone: true, selector: "fd-menu", inputs: { openOnHoverTime: { classPropertyName: "openOnHoverTime", publicName: "openOnHoverTime", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, mobile: { classPropertyName: "mobile", publicName: "mobile", isSignal: true, isRequired: false, transformFunction: null }, mobileConfig: { classPropertyName: "mobileConfig", publicName: "mobileConfig", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscapeKey: { classPropertyName: "closeOnEscapeKey", publicName: "closeOnEscapeKey", isSignal: true, isRequired: false, transformFunction: null }, focusAutoCapture: { classPropertyName: "focusAutoCapture", publicName: "focusAutoCapture", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, disableScrollbar: { classPropertyName: "disableScrollbar", publicName: "disableScrollbar", isSignal: true, isRequired: false, transformFunction: null }, triggers: { classPropertyName: "triggers", publicName: "triggers", isSignal: true, isRequired: false, transformFunction: null }, fillControlMode: { classPropertyName: "fillControlMode", publicName: "fillControlMode", isSignal: true, isRequired: false, transformFunction: null }, closeOnOutsideClick: { classPropertyName: "closeOnOutsideClick", publicName: "closeOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, noArrow: { classPropertyName: "noArrow", publicName: "noArrow", isSignal: true, isRequired: false, transformFunction: null }, focusTrapped: { classPropertyName: "focusTrapped", publicName: "focusTrapped", isSignal: true, isRequired: false, transformFunction: null }, additionalBodyClass: { classPropertyName: "additionalBodyClass", publicName: "additionalBodyClass", isSignal: true, isRequired: false, transformFunction: null }, closeOnNavigation: { classPropertyName: "closeOnNavigation", publicName: "closeOnNavigation", isSignal: true, isRequired: false, transformFunction: null }, restoreFocusOnClose: { classPropertyName: "restoreFocusOnClose", publicName: "restoreFocusOnClose", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, fixedPosition: { classPropertyName: "fixedPosition", publicName: "fixedPosition", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", isOpenChange: "isOpenChange", activePath: "activePath", beforeOpen: "beforeOpen" }, host: { properties: { "class.fd-popover-custom--disabled": "disabled()" } }, providers: [
|
|
1792
1808
|
MenuService,
|
|
1793
1809
|
PopoverService,
|
|
1794
1810
|
DynamicComponentService,
|
|
@@ -1813,7 +1829,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
1813
1829
|
], host: {
|
|
1814
1830
|
'[class.fd-popover-custom--disabled]': 'disabled()'
|
|
1815
1831
|
}, template: "<ng-container #viewContainer></ng-container>\n\n<ng-template #menuRootTemplate>\n <div class=\"fd-popover__wrapper--visible\">\n <nav\n class=\"fd-menu\"\n [id]=\"id()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.role]=\"_navContainerRole\"\n [class.fd-menu--mobile]=\"mobile()\"\n [class.fd-menu--icons]=\"hasAddons\"\n >\n <ul\n [attr.role]=\"_menuListContainerRole\"\n class=\"fd-menu__list fd-menu__list--no-shadow\"\n [class.fd-menu--full-width]=\"mobile() || false\"\n >\n <ng-content></ng-content>\n </ul>\n </nav>\n </div>\n</ng-template>\n", styles: [".fd-dialog__body{--fdButton_Menu_Border_Radius: 0}.fd-menu{--fdMenu_Icon_Width: 2.25rem;--fdMenu_Link_Height: 2.75rem;--fdMenu_Item_Spacing_Left: .75rem;--fdMenu_Item_Spacing_Right: .75rem;--fdMenu_Item_Border_Bottom_Color: transparent;--fdMenu_Shortcut_Padding_Left: 1rem;--fdMenu_Shortcut_Padding_Right: .75rem;--fdMenu_Text_Spacing_Right: .75rem;--fdMenu_Icon_Color: var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color: var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color: var(--sapList_TextColor);--fdMenu_Item_Background_Color: var(--sapList_Background);--fdMenu_Active_Dot_Size: .75rem;font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu:before,.fd-menu:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:20rem;list-style:none;-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__list:before,.fd-menu__list:after,.fd-menu__sublist:before,.fd-menu__sublist:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{-webkit-box-shadow:none;box-shadow:none}.fd-menu__sublist{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;position:absolute;top:0;left:100%;z-index:2;margin-block:.25rem 0;margin-inline:-.25rem 0;min-width:100%}.fd-menu__sublist:before,.fd-menu__sublist:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}[dir=rtl] .fd-menu__sublist,.fd-menu__sublist[dir=rtl]{right:100%;left:initial}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{width:100%;position:relative}.fd-menu__list--overflow{overflow-y:scroll;-ms-flex-wrap:nowrap;flex-wrap:nowrap;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow:focus,.fd-menu__list--overflow.is-focus{z-index:5;outline:none}.fd-menu__list--overflow::-webkit-scrollbar{width:var(--fdScrollbar_Dimension);height:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-track,.fd-menu__list--overflow::-webkit-scrollbar-corner{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{background-color:transparent;-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);border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset))}.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover,.fd-menu__list--overflow::-webkit-scrollbar-thumb:active{-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-menu__list--overflow::-webkit-scrollbar-track,.fd-menu__list--overflow::-webkit-scrollbar-corner{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;height:.0625rem;background-color:var(--sapGroup_ContentBorderColor)}.fd-menu__separator:before,.fd-menu__separator:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;max-width:100%;position:relative;border-radius:0;background-color:var(--sapList_Background)}.fd-menu__item:before,.fd-menu__item:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-right-radius:var(--fdButton_Menu_Border_Radius);border-top-left-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-right-radius:var(--fdButton_Menu_Border_Radius);border-bottom-left-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-inline:var(--fdMenu_Item_Spacing_Left) var(--fdMenu_Item_Spacing_Right);width:100%;outline:none;text-decoration:none;border-radius:inherit;min-height:var(--fdMenu_Link_Height);background:var(--fdMenu_Item_Background_Color);border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color)}.fd-menu__link:before,.fd-menu__link:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__link:focus:after,.fd-menu__link.is-focus:after{border-width:var(--sapContent_FocusWidth);border-color:var(--sapContent_FocusColor);border-style:var(--sapContent_FocusStyle);content:\"\";position:absolute;pointer-events:none;inset:.125rem;border-radius:0!important}.fd-menu__link:hover,.fd-menu__link.is-hover{--fdMenu_Item_Background_Color: var(--sapList_Hover_Background)}.fd-menu__link[aria-selected=true],.fd-menu__link.is-selected{--fdMenu_Item_Background_Color: var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color: var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color: var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color: var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color: var(--sapList_SelectionBorderColor)}.fd-menu__link[aria-selected=true]:hover:not(:active,.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active,.is-active),.fd-menu__link.is-selected:hover:not(:active,.is-active),.fd-menu__link.is-selected.is-hover:not(:active,.is-active){--fdMenu_Item_Background_Color: var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color: var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link[aria-selected=true]:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link.is-selected.is-focus{z-index:5}.fd-menu__link[aria-selected=true]:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link.is-selected.is-focus:after{bottom:.125rem}.fd-menu__link:active,.fd-menu__link.is-active{--fdMenu_Item_Background_Color: var(--sapList_Active_Background);--fdMenu_Icon_Color: var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color: var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color: var(--fdMenu_Text_Color_Active)}.fd-menu__link:active:after,.fd-menu__link.is-active:after{display:none}.fd-menu__link:active:focus,.fd-menu__link:active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link.is-active.is-focus{z-index:5;outline-color:var(--fdMenu_Active_State_Focus)}.fd-menu__link[aria-disabled=true],.fd-menu__link.is-disabled,.fd-menu__link:disabled{pointer-events:none;opacity:var(--sapContent_DisabledOpacity)}.fd-menu__link[aria-disabled=true]:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link.is-disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link:disabled.is-focus{z-index:5}.fd-menu__link[aria-disabled=true]:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link:disabled.is-focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right: 0}.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active){--fdMenu_Item_Background_Color: var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color: var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color: var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color: var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color: var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active):hover:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-hover:not(:active,.is-active){--fdMenu_Item_Background_Color: var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color: var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus,.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus{z-index:5}.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus:after,.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus:after{bottom:.125rem}.fd-menu__title{line-height:normal;color:var(--sapTextColor);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;text-align:start;margin-block:.25rem;font-size:var(--sapFontSize);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);text-shadow:var(--fdMenu_Text_Shadow)}.fd-menu__title:before,.fd-menu__title:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__title:has(+.fd-menu__input){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.fd-menu__title--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-menu__subtitle{line-height:normal;color:var(--sapTextColor);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;text-align:start;-webkit-margin-after:.25rem;margin-block-end:.25rem;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);text-shadow:var(--fdMenu_Text_Shadow)}.fd-menu__subtitle:before,.fd-menu__subtitle:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__subtitle--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-menu__content{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;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-flex:1;-ms-flex:1;flex:1;overflow:hidden}.fd-menu__content:before,.fd-menu__content:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__addon-before,.fd-menu__addon-after{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);max-width:var(--fdMenu_Icon_Width);height:100%;color:var(--fdMenu_Icon_Color);background-color:transparent;font-size:var(--sapFontLargeSize);text-shadow:var(--fdMenu_Text_Shadow)}.fd-menu__addon-before:before,.fd-menu__addon-before:after,.fd-menu__addon-after:before,.fd-menu__addon-after:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon],.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1}.fd-menu__addon-before--active,.fd-menu__addon-after--active{--fdMenu_Icon_Color: var(--sapContent_Selected_ForegroundColor)}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-transform:none;text-rendering:optimizeLegibility}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}[dir=rtl] .fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-transform:none;text-rendering:optimizeLegibility}[dir=rtl] .fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before{content:\"\\e067\"}.fd-menu__active-dot{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;height:var(--fdMenu_Active_Dot_Size);width:var(--fdMenu_Active_Dot_Size);min-width:var(--fdMenu_Active_Dot_Size);border-radius:100%;background:var(--sapContent_Selected_ForegroundColor)}.fd-menu__active-dot:before,.fd-menu__active-dot:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;font-size:1rem;color:var(--sapContent_Selected_ForegroundColor)}.fd-menu__shortcut{line-height:normal;color:var(--sapTextColor);-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;font-weight:400;font-size:var(--sapFontSize);font-family:var(--sapFontFamily);color:var(--fdMenu_Shortcut_Color);-webkit-padding-start:var(--fdMenu_Shortcut_Padding_Left);padding-inline-start:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:before,.fd-menu__shortcut:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__shortcut:last-child{padding-inline:var(--fdMenu_Shortcut_Padding_Left) var(--fdMenu_Shortcut_Padding_Right)}.fd-menu--overflow{scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color);overflow-y:scroll;-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow:focus,.fd-menu--overflow.is-focus{z-index:5;outline:none}.fd-menu--overflow::-webkit-scrollbar{width:var(--fdScrollbar_Dimension);height:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-track,.fd-menu--overflow::-webkit-scrollbar-corner{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{background-color:transparent;-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);border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset))}.fd-menu--overflow::-webkit-scrollbar-thumb:hover,.fd-menu--overflow::-webkit-scrollbar-thumb:active{-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-menu--overflow::-webkit-scrollbar-track,.fd-menu--overflow::-webkit-scrollbar-corner{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{-webkit-box-shadow:none;box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child,.fd-menu--overflow .fd-menu__item:first-child[dir=rtl]{border-top-right-radius:var(--fdButton_Menu_Border_Radius);border-top-left-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type,.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl]{border-bottom-right-radius:var(--fdButton_Menu_Border_Radius);border-bottom-left-radius:0}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left: 0;--fdMenu_Item_Spacing_Right: 0}.fd-menu--icons .fd-menu__content:not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__content):first-child,.fd-menu--icons .fd-menu__title:not(.fd-menu__content>.fd-menu__title):not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__title):first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__content:not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__content):last-child,.fd-menu--icons .fd-menu__title:not(.fd-menu__content>.fd-menu__title):not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__title):last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__content:not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__content):only-child,.fd-menu--icons .fd-menu__title:not(.fd-menu__content>.fd-menu__title):not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__title):only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left: 1rem;--fdMenu_Item_Spacing_Right: 1rem}.fd-menu--icons .fd-menu__sublist .fd-menu__title:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:last-child{-webkit-margin-end:0;margin-inline-end:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:only-child{margin-inline:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left: 0;--fdMenu_Item_Spacing_Right: 0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons input,.fd-menu--icons .fd-menu__input{margin-inline:var(--fdMenu_Text_Spacing_Right) var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{max-width:100%;width:100%;--fdMenu_Icon_Width: 2.75rem;--fdMenu_Item_Spacing_Left: 1rem;--fdMenu_Item_Spacing_Right: 1rem;--fdMenu_Shortcut_Padding_Right: 1rem;--fdMenu_Text_Spacing_Right: 1rem}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{border-radius:0;-webkit-box-shadow:none;box-shadow:none;position:static;margin-inline:0;margin-block:0}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left: 0;--fdMenu_Item_Spacing_Right: 0}.fd-menu--mobile.fd-menu--icons input,.fd-menu--mobile.fd-menu--icons .fd-menu__input{margin-inline:1rem}[class*=-condensed] .fd-menu:not([class*=-cozy]),[class*=-compact] .fd-menu:not([class*=-cozy]),.fd-menu[class*=-condensed],.fd-menu[class*=-compact]{--fdMenu_Icon_Width: 2rem;--fdMenu_Link_Height: 2rem;--fdMenu_Item_Spacing_Left: .5rem;--fdMenu_Item_Spacing_Right: .5rem;--fdMenu_Shortcut_Padding_Right: .5rem;--fdMenu_Text_Spacing_Right: .5rem}[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,.fd-menu[class*=-compact].fd-menu--icons{--fdMenu_Item_Spacing_Left: 0;--fdMenu_Item_Spacing_Right: 0}[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input{margin-inline:.5rem}[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist,.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left: .5rem;--fdMenu_Item_Spacing_Right: .5rem}[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left: 0;--fdMenu_Item_Spacing_Right: 0}:host{display:inline}fd-menu .fd-menu__list,fd-menu .fd-menu__sublist{flex-wrap:nowrap}.fd-menu__title:not(.fd-menu__title--truncate),.fd-menu__subtitle:not(.fd-menu__subtitle--truncate){white-space:normal}\n"] }]
|
|
1816
|
-
}], ctorParameters: () => [], propDecorators: { openOnHoverTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "openOnHoverTime", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledby", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], mobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobile", required: false }] }], mobileConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileConfig", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], closeOnEscapeKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscapeKey", required: false }] }], focusAutoCapture: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAutoCapture", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], disableScrollbar: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableScrollbar", required: false }] }], triggers: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggers", required: false }] }], fillControlMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "fillControlMode", required: false }] }], closeOnOutsideClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnOutsideClick", required: false }] }], noArrow: [{ type: i0.Input, args: [{ isSignal: true, alias: "noArrow", required: false }] }], focusTrapped: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusTrapped", required: false }] }], additionalBodyClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalBodyClass", required: false }] }], isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }, { type: i0.Output, args: ["isOpenChange"] }], isOpenChange: [{ type: i0.Output, args: ["isOpenChange"] }], activePath: [{ type: i0.Output, args: ["activePath"] }], beforeOpen: [{ type: i0.Output, args: ["beforeOpen"] }], _menuRootTemplate: [{ type: i0.ViewChild, args: ['menuRootTemplate', { isSignal: true }] }], _menuItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => FD_MENU_ITEM_COMPONENT), { isSignal: true }] }], _segmentedButtonHeaderItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SegmentedButtonHeaderDirective), { isSignal: true }] }], _segmentedButtonOptions: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SegmentedButtonOptionDirective), { isSignal: true }] }] } });
|
|
1832
|
+
}], ctorParameters: () => [], propDecorators: { openOnHoverTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "openOnHoverTime", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledby", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], mobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobile", required: false }] }], mobileConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileConfig", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], closeOnEscapeKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscapeKey", required: false }] }], focusAutoCapture: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAutoCapture", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], disableScrollbar: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableScrollbar", required: false }] }], triggers: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggers", required: false }] }], fillControlMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "fillControlMode", required: false }] }], closeOnOutsideClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnOutsideClick", required: false }] }], noArrow: [{ type: i0.Input, args: [{ isSignal: true, alias: "noArrow", required: false }] }], focusTrapped: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusTrapped", required: false }] }], additionalBodyClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalBodyClass", required: false }] }], closeOnNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnNavigation", required: false }] }], restoreFocusOnClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "restoreFocusOnClose", required: false }] }], appendTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendTo", required: false }] }], fixedPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "fixedPosition", required: false }] }], isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }, { type: i0.Output, args: ["isOpenChange"] }], isOpenChange: [{ type: i0.Output, args: ["isOpenChange"] }], activePath: [{ type: i0.Output, args: ["activePath"] }], beforeOpen: [{ type: i0.Output, args: ["beforeOpen"] }], _menuRootTemplate: [{ type: i0.ViewChild, args: ['menuRootTemplate', { isSignal: true }] }], _menuItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => FD_MENU_ITEM_COMPONENT), { isSignal: true }] }], _segmentedButtonHeaderItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SegmentedButtonHeaderDirective), { isSignal: true }] }], _segmentedButtonOptions: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SegmentedButtonOptionDirective), { isSignal: true }] }] } });
|
|
1817
1833
|
|
|
1818
1834
|
/**
|
|
1819
1835
|
* @deprecated
|