@fundamental-ngx/platform 0.43.31 → 0.43.33

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.
Files changed (28) hide show
  1. package/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.d.ts +1 -1
  2. package/esm2020/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +4 -4
  3. package/esm2020/dynamic-page/dynamic-page.component.mjs +3 -3
  4. package/esm2020/menu/menu-trigger.directive.mjs +5 -1
  5. package/esm2020/table/components/table-row/table-row.component.mjs +4 -1
  6. package/esm2020/value-help-dialog/components/select-tab/select-tab.component.mjs +3 -3
  7. package/esm2020/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +8 -4
  8. package/fesm2015/fundamental-ngx-platform-dynamic-page.mjs +5 -5
  9. package/fesm2015/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  10. package/fesm2015/fundamental-ngx-platform-menu.mjs +4 -0
  11. package/fesm2015/fundamental-ngx-platform-menu.mjs.map +1 -1
  12. package/fesm2015/fundamental-ngx-platform-table.mjs +3 -0
  13. package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
  14. package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs +9 -5
  15. package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  16. package/fesm2020/fundamental-ngx-platform-dynamic-page.mjs +5 -5
  17. package/fesm2020/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  18. package/fesm2020/fundamental-ngx-platform-menu.mjs +4 -0
  19. package/fesm2020/fundamental-ngx-platform-menu.mjs.map +1 -1
  20. package/fesm2020/fundamental-ngx-platform-table.mjs +3 -0
  21. package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
  22. package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs +9 -5
  23. package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  24. package/fundamental-ngx-platform-v0.43.33.tgz +0 -0
  25. package/package.json +4 -4
  26. package/schematics/ng-add/index.js +1 -1
  27. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +1 -1
  28. package/fundamental-ngx-platform-v0.43.31.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-platform-dynamic-page.mjs","sources":["../../../../libs/platform/src/lib/dynamic-page/constants.ts","../../../../libs/platform/src/lib/dynamic-page/utils.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.config.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.ts","../../../../libs/platform/src/lib/dynamic-page/directives/dynamic-page-header-title.directive.ts","../../../../libs/platform/src/lib/dynamic-page/directives/dynamic-page-header-subtitle.directive.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.service.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.component.html","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.module.ts","../../../../libs/platform/src/lib/dynamic-page/fundamental-ngx-platform-dynamic-page.ts"],"sourcesContent":["export const CLASS_NAME = {\n dynamicPage: 'fd-dynamic-page',\n dynamicPageTitleArea: 'fd-dynamic-page__title-area',\n dynamicPageMainContainer: 'fd-dynamic-page__main-container',\n dynamicPageBreadcrumbTitleContainer: 'fd-dynamic-page__breadcrumb-title-container',\n dynamicPageTitleAreaTransparentBg: 'fd-dynamic-page__title-area--transparent-bg',\n dynamicPageTitleAreaCollapsed: 'fd-dynamic-page__title-area--collapsed', // need to use thiis TODO\n dynamicPageTitleContainer: 'fd-dynamic-page__title-container',\n dynamicPageTitle: 'fd-dynamic-page__title',\n dynamicPageTitleMedium: 'fd-dynamic-page__title--md',\n dynamicPageBreadcrumb: 'fd-dynamic-page__breadcrumb',\n dynamicPageKeyInfo: 'fd-dynamic-page__title-content',\n dynamicPageGlobalActions: 'fd-dynamic-page__toolbar',\n dynamicPageLayoutActions: 'fd-dynamic-page__toolbar-actions',\n dynamicPageActionsContainer: 'fd-dynamic-page__actions-container',\n dynamicPageHeader: 'fd-dynamic-page__header',\n dynamicPageCollapsibleHeader: 'fd-dynamic-page__collapsible-header',\n dynamicPageCollapsibleHeaderTransparentBg: 'fd-dynamic-page__collapsible-header--transparent-bg',\n dynamicPageCollapsibleHeaderSmall: 'fd-dynamic-page__collapsible-header--sm',\n dynamicPageCollapsibleHeaderMedium: 'fd-dynamic-page__collapsible-header--md',\n dynamicPageCollapsibleHeaderLarge: 'fd-dynamic-page__collapsible-header--lg',\n dynamicPageCollapsibleHeaderExtraLarge: 'fd-dynamic-page__collapsible-header--xl',\n dynamicPageCollapsibleHeaderPinCollapseNoShadow:\n 'fd-dynamic-page__collapsible-header-visibility-container--no-shadow',\n dynamicPageTabs: 'fd-dynamic-page__tabs',\n dynamicPageTabsAddShadow: 'fd-dynamic-page__tabs--add-shadow',\n dynamicPageTabsSmall: 'fd-dynamic-page__tabs--sm',\n dynamicPageTabsMedium: 'fd-dynamic-page__tabs--md',\n dynamicPageTabsLarge: 'fd-dynamic-page__tabs--lg',\n dynamicPageTabsExtraLarge: 'fd-dynamic-page__tabs--xl',\n dynamicPageContent: 'fd-dynamic-page__content',\n dynamicPageContentAreaSmall: 'fd-dynamic-page__content--sm',\n dynamicPageContentAreaMedium: 'fd-dynamic-page__content--md',\n dynamicPageContentAreaLarge: 'fd-dynamic-page__content--lg',\n dynamicPageContentAreaExtraLarge: 'fd-dynamic-page__content--xl',\n dynamicPageContentListBg: 'fd-dynamic-page__content--list-bg',\n dynamicPageContentTransparentBg: 'fd-dynamic-page__content--transparent-bg',\n dynamicPageSummarizedTitleArea: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaSmall: 'fd-dynamic-page__summarized-title-area--sm',\n dynamicPageSummarizedTitleAreaMedium: 'fd-dynamic-page__summarized-title-area--md',\n dynamicPageSummarizedTitleAreaLarge: 'fd-dynamic-page__summarized-title-area--lg',\n dynamicPageSummarizedTitleAreaExtraLarge: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaNoShadow: 'fd-dynamic-page__summarized-title-area--no-shadow',\n dynamicPageSummarizedTitle: 'fd-dynamic-page__summarized-title',\n dynamicPageSummarizedTitleCollapsed: 'fd-dynamic-page__summarized-title-area--collapsed'\n} as const;\n\nexport type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';\n\nexport type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';\n","import { Renderer2 } from '@angular/core';\n\nexport const addClassNameToElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n\nexport const removeClassNameFromElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.removeClass(element, className);\n};\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\n\nimport { DynamicPageBackgroundType, CLASS_NAME, DynamicPageResponsiveSize } from '../constants';\nimport { addClassNameToElement } from '../utils';\n\n/**\n * Dynamic Page Content Host Component.\n *\n * Adds some styles to host element.\n * For internal usage only.\n *\n */\n\n@Component({\n selector: 'fdp-dynamic-page-content-host',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicPageContentHostComponent implements OnInit {\n /**\n * a unique identifier for this content\n */\n @Input()\n @HostBinding('attr.id')\n id: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n set background(backgroundType: DynamicPageBackgroundType) {\n if (backgroundType) {\n this._background = backgroundType;\n this._setBackgroundStyles(backgroundType);\n }\n }\n\n get background(): DynamicPageBackgroundType {\n return this._background;\n }\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n set size(sizeType: DynamicPageResponsiveSize) {\n if (sizeType) {\n this._size = sizeType;\n this._setSize(sizeType);\n }\n }\n\n get size(): DynamicPageResponsiveSize {\n return this._size;\n }\n\n /**\n * @hidden\n * tracking the background value\n */\n private _background: DynamicPageBackgroundType;\n\n /**\n * @hidden\n * tracks the size for responsive padding\n */\n private _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>, protected _renderer: Renderer2) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContent);\n\n this._addClassNameToHostElement('content-sticker');\n\n if (this.background) {\n this._setBackgroundStyles(this.background);\n }\n\n if (this.size) {\n this._setSize(this.size);\n }\n }\n\n /**\n * @hidden\n * sets the style classes for background property\n * @param background\n */\n private _setBackgroundStyles(background: DynamicPageBackgroundType): void {\n switch (background) {\n case 'transparent':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentTransparentBg);\n break;\n case 'list':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentListBg);\n break;\n case 'solid':\n default:\n this._removeClassNameToHostElement(CLASS_NAME.dynamicPageContentTransparentBg);\n this._removeClassNameToHostElement(CLASS_NAME.dynamicPageContentListBg);\n break;\n }\n }\n\n /**\n * @hidden\n * sets the padding classes\n * @param sizeType\n */\n private _setSize(sizeType: DynamicPageResponsiveSize): void {\n switch (sizeType) {\n case 'small':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaSmall);\n break;\n case 'medium':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaMedium);\n break;\n case 'large':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaLarge);\n break;\n case 'extra-large':\n default:\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaExtraLarge);\n break;\n }\n }\n\n /** @hidden */\n private _removeClassNameToHostElement(className: string): void {\n this._renderer.removeClass(this.elementRef.nativeElement, className);\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this.elementRef.nativeElement, className);\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, TemplateRef, ViewChild } from '@angular/core';\n\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../constants';\n\n/**\n * Dynamic Page Content Component.\n *\n */\n@Component({\n selector: 'fdp-dynamic-page-content',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicPageContentComponent {\n /**\n * label for the tab. If label is provided, tab navigation will be internally set up.\n */\n @Input()\n tabLabel: string;\n\n /**\n * a unique identifier for this content\n */\n @Input()\n id: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-footer',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageFooterComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Injectable } from '@angular/core';\n\nimport { PlatformConfig } from '@fundamental-ngx/platform/shared';\n\n/**\n * Default options for platform dynamic-page\n */\n@Injectable({ providedIn: 'root' })\nexport class DynamicPageConfig extends PlatformConfig {\n /**\n * aria label for expand/collapse button when the Dynamic Page is collapsed\n */\n expandLabel = 'Expand Header';\n\n /**\n * aria label for expand/collapse button when the Dynamic Page is expanded\n */\n collapseLabel = 'Collapse Header';\n\n /**\n * aria label for pin button when the Dynamic Page should be pinned\n */\n pinLabel = 'Pin Header';\n\n /**\n * aria label for pin button when the Panel should be unpinned\n */\n unpinLabel = 'Unpin Header';\n\n /**\n * Create Provider factory function\n */\n static createProviderFactory(\n obj: Partial<DynamicPageConfig>\n ): (platformConfig: PlatformConfig) => DynamicPageConfig {\n const useFactory = (platformConfig: PlatformConfig): DynamicPageConfig =>\n Object.assign(new DynamicPageConfig(platformConfig), obj);\n return useFactory;\n }\n\n /** @hidden */\n constructor(platformConfig: PlatformConfig) {\n super();\n this.contentDensity = platformConfig.contentDensity;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, TemplateRef } from '@angular/core';\n\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageConfig } from '../../dynamic-page.config';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/** Dynamic Page collapse change event */\nexport class DynamicPageCollapseChangeEvent {\n /**\n * Dynamic Page collapse change event\n * @param source Dynamic Page component\n * @param payload Collapse state\n */\n constructor(public source: DynamicPageHeaderComponent, public payload: boolean) {}\n}\n\nlet dynamicPageHeaderId = 0;\n\n/**\n * Dynamic Page Header Component.\n *\n * This component is part of Public API\n * used by supplier to declare inputs and template\n *\n */\n\n@Component({\n selector: 'fdp-dynamic-page-header',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicPageHeaderComponent {\n /**\n * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear\n * and the header stays visible\n */\n @Input()\n collapsible = true;\n\n /**\n * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.\n * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.\n */\n @Input()\n pinnable = false;\n\n /**\n * the initial state of the header. Set to true if header should be collapsed.\n */\n @Input()\n collapsed: boolean;\n\n /**\n * ARIA label for button when the header is collapsed\n */\n @Input()\n expandLabel: string = this._dynamicPageConfig.expandLabel;\n\n /**\n * ARIA label for button when the header is expanded\n */\n @Input()\n collapseLabel: string = this._dynamicPageConfig.collapseLabel;\n\n /** Header role */\n @Input()\n role = 'region';\n\n /**\n * id for header\n */\n @Input()\n id = `fdp-dynamic-page-header-id-${dynamicPageHeaderId++}`;\n\n /**\n * aria label for header\n */\n @Input()\n headerAriaLabel: Nullable<string>;\n\n /**\n * aria label for pin state of pin button\n */\n @Input()\n pinAriaLabel: string = this._dynamicPageConfig.pinLabel;\n\n /**\n * aria label for unpin state of pin button\n */\n @Input()\n unpinAriaLabel: string = this._dynamicPageConfig.unpinLabel;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /** Collapse/Expand change event raised */\n @Output()\n collapsedChange: EventEmitter<DynamicPageCollapseChangeEvent> = new EventEmitter<DynamicPageCollapseChangeEvent>();\n\n /** @deprecated - use `collapsedChange` instead */\n @Output()\n collapseChange = this.collapsedChange;\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n\n /** @hidden */\n constructor(protected _dynamicPageConfig: DynamicPageConfig) {}\n\n /**\n * @hidden\n * Delegate collapse change event\n */\n _onCollapseChange(collapsed: boolean): void {\n this.collapsed = collapsed;\n const event = new DynamicPageCollapseChangeEvent(this, collapsed);\n this.collapsedChange.emit(event);\n }\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-global-actions',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageGlobalActionsComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-layout-actions',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageLayoutActionsComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-key-info',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageKeyInfoComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-title-image',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageTitleImageComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '@fundamental-ngx/core/dynamic-page';\n\n@Directive({\n selector: '[fdpDynamicPageHeaderTitle]',\n standalone: true\n})\nexport class DynamicPageHeaderTitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderTitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '@fundamental-ngx/core/dynamic-page';\n\n@Directive({\n selector: '[fdpDynamicPageHeaderSubtitle]',\n standalone: true\n})\nexport class DynamicPageHeaderSubtitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderSubtitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ContentChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageGlobalActionsComponent } from '../actions/global-actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from '../actions/layout-actions/dynamic-page-layout-actions.component';\nimport { DynamicPageKeyInfoComponent } from '../key-info/dynamic-page-key-info.component';\nimport { DynamicPageTitleImageComponent } from './dynamic-page-title-image.component';\nimport { DynamicPageHeaderTitleDirective } from '../../directives/dynamic-page-header-title.directive';\nimport { DynamicPageHeaderSubtitleDirective } from '../../directives/dynamic-page-header-subtitle.directive';\n\n/**\n * Dynamic Page Title Component.\n *\n */\n@Component({\n selector: 'fdp-dynamic-page-title',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: DYNAMIC_PAGE_HEADER_TOKEN,\n useExisting: DynamicPageTitleComponent\n }\n ]\n})\nexport class DynamicPageTitleComponent implements DynamicPageHeader {\n /**\n * Page Title\n */\n @Input()\n title: string;\n\n /** Whether title should wrap instead of truncation. */\n @Input()\n titleWrap = false;\n\n /**\n * Page Subtitle\n */\n @Input()\n subtitle: string;\n\n /** Whether subtitle should wrap instead of truncation. */\n @Input()\n subtitleWrap = false;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /** template of BreadsCrumbs */\n @ViewChild('breadCrumbTemplate')\n breadcrumbTemplate: TemplateRef<any>;\n\n /** reference to global actions component */\n @ContentChild(DynamicPageGlobalActionsComponent)\n globalActionsComponent: DynamicPageGlobalActionsComponent;\n\n /** reference to layout actions component */\n @ContentChild(DynamicPageLayoutActionsComponent)\n layoutActionsComponent: DynamicPageLayoutActionsComponent;\n\n /** reference to key-info component */\n @ContentChild(DynamicPageKeyInfoComponent)\n keyInfoComponent: DynamicPageKeyInfoComponent;\n\n /** reference to image component */\n @ContentChild(DynamicPageTitleImageComponent)\n imageComponent: DynamicPageTitleImageComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageHeaderTitleDirective)\n _titleDirective: DynamicPageHeaderTitleDirective;\n\n /** @hidden */\n @ContentChild(DynamicPageHeaderSubtitleDirective)\n _subtitleDirective: DynamicPageHeaderSubtitleDirective;\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n private toggle = new Subject<void>();\n /** @hidden */\n private expand = new Subject<void>();\n /** @hidden */\n private collapse = new Subject<void>();\n /** @hidden */\n private collapseValue = new Subject<boolean>();\n /** @hidden */\n private isCollapsed = false;\n\n /** @hidden */\n public $toggle = this.toggle.asObservable();\n /** @hidden */\n public $expand = this.expand.asObservable();\n /** @hidden */\n public $collapse = this.collapse.asObservable();\n /** @hidden */\n public $collapseValue = this.collapseValue.asObservable();\n\n /** @hidden */\n public toggleHeader(): void {\n this.toggle.next();\n }\n\n /** @hidden */\n public expandHeader(): void {\n this.isCollapsed = false;\n this.expand.next();\n }\n\n /** @hidden */\n public collapseHeader(): void {\n this.isCollapsed = true;\n this.collapse.next();\n }\n\n /** @hidden */\n public setCollapseValue(val: boolean): void {\n this.setIsCollapsed(val);\n this.collapseValue.next(val);\n }\n\n /** @hidden */\n public getIsCollapsed(): boolean {\n return this.isCollapsed;\n }\n\n /** @hidden */\n public setIsCollapsed(collapsed: boolean): void {\n this.isCollapsed = collapsed;\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { startWith } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { TabListComponent, TabPanelComponent } from '@fundamental-ngx/core/tabs';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentHostComponent } from './dynamic-page-content/dynamic-page-content-host.component';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageTitleComponent } from './dynamic-page-header/title/dynamic-page-title.component';\nimport { DynamicPageService } from './dynamic-page.service';\n\n/** Dynamic Page tab change event */\nexport class DynamicPageTabChangeEvent {\n /**\n * Dynamic Page tab change event\n * @param source Dynamic Page component\n * @param payload Tab component\n */\n constructor(public source: DynamicPageContentComponent, public payload: TabPanelComponent) {}\n}\n\n@Component({\n selector: 'fdp-dynamic-page',\n templateUrl: './dynamic-page.component.html',\n styleUrls: ['./dynamic-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [DynamicPageService]\n})\nexport class DynamicPageComponent extends BaseComponent implements AfterContentInit, AfterViewInit, DoCheck, OnDestroy {\n /** Whether DynamicPage should snap on scroll */\n @Input()\n disableSnapOnScroll = false;\n /** Page role */\n @Input()\n @HostBinding('attr.role')\n role = 'region';\n\n /** aria label for the page */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Whether or not tabs should be stacked. */\n @Input()\n stackContent = false;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType = 'solid';\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize = 'extra-large';\n\n /**\n * provided offset in px\n * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners\n */\n @Input()\n offset = 0;\n\n /** Whether DynamicPage should have responsive sides spacing changing with Page window width.\n * max-width: 599px - small\n * min-width: 600px and max-width: 1023px - medium\n * min-width: 1024px and max-width: 1439px - large\n * min-width: 1440px - extra large\n */\n @Input()\n autoResponsive = true;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input()\n expandContent = true;\n\n /**\n * Tab Change event\n */\n @Output()\n tabChange = new EventEmitter<DynamicPageTabChangeEvent>();\n\n /** reference to title component */\n @ContentChild(DynamicPageTitleComponent)\n titleComponent: DynamicPageTitleComponent;\n\n /** reference to header component */\n @ContentChild(DynamicPageHeaderComponent)\n headerComponent: DynamicPageHeaderComponent;\n\n /** reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n footerComponent: DynamicPageFooterComponent;\n\n /** reference to content component */\n @ContentChild(DynamicPageContentComponent)\n contentComponent: DynamicPageContentComponent;\n\n /** reference to content components list */\n @ContentChildren(DynamicPageContentComponent, { descendants: true })\n contentComponents: QueryList<DynamicPageContentComponent>;\n\n /** @hidden */\n @ViewChild(TabListComponent)\n _tabListComponent: TabListComponent;\n\n /** Reference to tab items components */\n @ViewChildren(TabPanelComponent)\n dynamicPageTabs: QueryList<TabPanelComponent>;\n\n /** @hidden */\n @ViewChildren(DynamicPageContentHostComponent)\n _contentHostComponents: QueryList<DynamicPageContentHostComponent>;\n\n /**\n * @hidden\n * whether tabbed content is present in this page\n */\n _isTabbed = false;\n\n /**\n * @hidden\n * holds the tab content\n */\n _tabs: DynamicPageContentComponent[] = [];\n\n /** @hidden */\n constructor(protected _cd: ChangeDetectorRef, public readonly elementRef: ElementRef<HTMLElement>) {\n super(_cd);\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._listenToContentComponentsListChanges();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._cd.detectChanges();\n\n this._tabListComponent?.headerContainer.nativeElement.classList.add('fd-dynamic-page__tabs');\n }\n\n /** @hidden */\n ngDoCheck(): void {\n /** Used to detect changes in projected components that displayed using templates,\n * https://github.com/angular/angular/issues/44112\n */\n this._cd.markForCheck();\n }\n\n /**\n * marks the dynamic page tab as selected when the id of the tab is passed\n */\n setSelectedTab(id: string): void {\n if (!(id && this.dynamicPageTabs)) {\n return;\n }\n\n this.dynamicPageTabs.forEach((element) => {\n if (element.id === id) {\n element.open(true);\n }\n });\n }\n\n /** @hidden */\n _onSelectedTabChange(event: TabPanelComponent): void {\n const content = this.contentComponents.find((contentComponent) => contentComponent.id === event.id);\n\n content && this.tabChange.emit(new DynamicPageTabChangeEvent(content, event));\n }\n\n /** @hidden */\n private _listenToContentComponentsListChanges(): void {\n this.contentComponents.changes.pipe(startWith(this.contentComponents)).subscribe(() => {\n this._createContentTabs();\n });\n }\n\n /** @hidden */\n private _createContentTabs(): void {\n const contentComponents = this.contentComponents.toArray();\n\n // reset array\n this._tabs = [];\n\n if (!this._isTabContentPresent(contentComponents)) {\n if (contentComponents.length > 1) {\n throw new Error(\n 'Cannot have more than one content section. Use `tabLabel` to have a tabbed navigation.'\n );\n }\n\n return;\n }\n\n if (contentComponents) {\n contentComponents.forEach((contentItem) => {\n if (!contentItem.tabLabel && this._isTabbed) {\n throw new Error('At least one element is already tabbed, please provide a `tabLabel`.');\n } else {\n this._tabs.push(contentItem);\n }\n });\n }\n }\n\n /** @hidden */\n private _isTabContentPresent(contentComponents: DynamicPageContentComponent[]): boolean {\n contentComponents.forEach((contentComponent) => {\n if (contentComponent.tabLabel) {\n this._isTabbed = true;\n return;\n }\n });\n\n return this._isTabbed;\n }\n}\n","<fd-dynamic-page\n [disableSnapOnScroll]=\"disableSnapOnScroll\"\n [autoResponsive]=\"autoResponsive\"\n [background]=\"background\"\n [size]=\"size\"\n [expandContent]=\"expandContent\"\n [offset]=\"offset\"\n [ariaLabel]=\"ariaLabel\"\n>\n <fd-dynamic-page-header\n *ngIf=\"titleComponent\"\n [title]=\"titleComponent.title\"\n [titleWrap]=\"titleComponent.titleWrap\"\n [subtitle]=\"titleComponent.subtitle\"\n [subtitleWrap]=\"titleComponent.subtitleWrap\"\n >\n <fd-breadcrumb>\n <ng-container [ngTemplateOutlet]=\"titleComponent.breadcrumbTemplate\"></ng-container>\n </fd-breadcrumb>\n\n <ng-container *ngIf=\"titleComponent._subtitleDirective\">\n <ng-container\n *fdDynamicPageHeaderSubtitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._subtitleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"titleComponent._titleDirective\">\n <ng-container\n *fdDynamicPageHeaderTitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._titleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <fd-dynamic-page-title-content *ngIf=\"titleComponent.keyInfoComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.keyInfoComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-title-content>\n\n <fd-facet type=\"image\" *ngIf=\"titleComponent.imageComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.imageComponent.contentTemplateRef\"></ng-container>\n </fd-facet>\n\n <fd-dynamic-page-global-actions *ngIf=\"titleComponent.globalActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.globalActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-global-actions>\n\n <fd-dynamic-page-layout-actions *ngIf=\"titleComponent.layoutActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.layoutActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fd-dynamic-page-subheader\n *ngIf=\"headerComponent\"\n [collapsed]=\"headerComponent.collapsed\"\n [collapsible]=\"headerComponent.collapsible\"\n [pinnable]=\"headerComponent.pinnable\"\n [expandLabel]=\"headerComponent.expandLabel\"\n [collapseLabel]=\"headerComponent.collapseLabel\"\n [role]=\"headerComponent.role\"\n [id]=\"headerComponent.id\"\n [headerAriaLabel]=\"headerComponent.headerAriaLabel\"\n [pinAriaLabel]=\"headerComponent.pinAriaLabel\"\n [unpinAriaLabel]=\"headerComponent.unpinAriaLabel\"\n (collapsedChange)=\"headerComponent._onCollapseChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"headerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-subheader>\n\n <fd-tab-list\n *ngIf=\"_isTabbed\"\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n (selectedTabChange)=\"_onSelectedTabChange($event)\"\n >\n <ng-container *ngFor=\"let tab of _tabs\">\n <fd-tab [title]=\"tab.tabLabel\" [id]=\"tab.id\">\n <fd-dynamic-page-content>\n <ng-container [ngTemplateOutlet]=\"tab.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n\n <fd-dynamic-page-content *ngIf=\"!_isTabbed && contentComponent\">\n <ng-container [ngTemplateOutlet]=\"contentComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n\n <fd-dynamic-page-footer *ngIf=\"footerComponent\">\n <ng-container [ngTemplateOutlet]=\"footerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TabsModule } from '@fundamental-ngx/core/tabs';\nimport { PlatformButtonModule } from '@fundamental-ngx/platform/button';\nimport { DynamicPageModule } from '@fundamental-ngx/core/dynamic-page';\nimport { BreadcrumbModule } from '@fundamental-ngx/core/breadcrumb';\n\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageContentHostComponent } from './dynamic-page-content/dynamic-page-content-host.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageGlobalActionsComponent } from './dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from './dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageKeyInfoComponent } from './dynamic-page-header/key-info/dynamic-page-key-info.component';\nimport { DynamicPageTitleComponent } from './dynamic-page-header/title/dynamic-page-title.component';\nimport { DynamicPageTitleImageComponent } from './dynamic-page-header/title/dynamic-page-title-image.component';\nimport { DynamicPageComponent } from './dynamic-page.component';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { FacetModule } from '@fundamental-ngx/core/facets';\nimport { DynamicPageHeaderSubtitleDirective } from './directives/dynamic-page-header-subtitle.directive';\nimport { DynamicPageHeaderTitleDirective } from './directives/dynamic-page-header-title.directive';\n\n@NgModule({\n declarations: [\n DynamicPageComponent,\n DynamicPageTitleComponent,\n DynamicPageKeyInfoComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageHeaderComponent,\n DynamicPageContentComponent,\n DynamicPageContentHostComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleImageComponent\n ],\n imports: [\n CommonModule,\n TabsModule,\n DynamicPageModule,\n PlatformButtonModule,\n BreadcrumbModule,\n ScrollingModule,\n FacetModule,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective\n ],\n exports: [\n DynamicPageComponent,\n DynamicPageTitleComponent,\n DynamicPageKeyInfoComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageHeaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleImageComponent,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective\n ]\n})\nexport class PlatformDynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DynamicPageConfig","i1"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-platform-dynamic-page.mjs","sources":["../../../../libs/platform/src/lib/dynamic-page/constants.ts","../../../../libs/platform/src/lib/dynamic-page/utils.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.config.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.ts","../../../../libs/platform/src/lib/dynamic-page/directives/dynamic-page-header-title.directive.ts","../../../../libs/platform/src/lib/dynamic-page/directives/dynamic-page-header-subtitle.directive.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.service.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.component.html","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.module.ts","../../../../libs/platform/src/lib/dynamic-page/fundamental-ngx-platform-dynamic-page.ts"],"sourcesContent":["export const CLASS_NAME = {\n dynamicPage: 'fd-dynamic-page',\n dynamicPageTitleArea: 'fd-dynamic-page__title-area',\n dynamicPageMainContainer: 'fd-dynamic-page__main-container',\n dynamicPageBreadcrumbTitleContainer: 'fd-dynamic-page__breadcrumb-title-container',\n dynamicPageTitleAreaTransparentBg: 'fd-dynamic-page__title-area--transparent-bg',\n dynamicPageTitleAreaCollapsed: 'fd-dynamic-page__title-area--collapsed', // need to use thiis TODO\n dynamicPageTitleContainer: 'fd-dynamic-page__title-container',\n dynamicPageTitle: 'fd-dynamic-page__title',\n dynamicPageTitleMedium: 'fd-dynamic-page__title--md',\n dynamicPageBreadcrumb: 'fd-dynamic-page__breadcrumb',\n dynamicPageKeyInfo: 'fd-dynamic-page__title-content',\n dynamicPageGlobalActions: 'fd-dynamic-page__toolbar',\n dynamicPageLayoutActions: 'fd-dynamic-page__toolbar-actions',\n dynamicPageActionsContainer: 'fd-dynamic-page__actions-container',\n dynamicPageHeader: 'fd-dynamic-page__header',\n dynamicPageCollapsibleHeader: 'fd-dynamic-page__collapsible-header',\n dynamicPageCollapsibleHeaderTransparentBg: 'fd-dynamic-page__collapsible-header--transparent-bg',\n dynamicPageCollapsibleHeaderSmall: 'fd-dynamic-page__collapsible-header--sm',\n dynamicPageCollapsibleHeaderMedium: 'fd-dynamic-page__collapsible-header--md',\n dynamicPageCollapsibleHeaderLarge: 'fd-dynamic-page__collapsible-header--lg',\n dynamicPageCollapsibleHeaderExtraLarge: 'fd-dynamic-page__collapsible-header--xl',\n dynamicPageCollapsibleHeaderPinCollapseNoShadow:\n 'fd-dynamic-page__collapsible-header-visibility-container--no-shadow',\n dynamicPageTabs: 'fd-dynamic-page__tabs',\n dynamicPageTabsAddShadow: 'fd-dynamic-page__tabs--add-shadow',\n dynamicPageTabsSmall: 'fd-dynamic-page__tabs--sm',\n dynamicPageTabsMedium: 'fd-dynamic-page__tabs--md',\n dynamicPageTabsLarge: 'fd-dynamic-page__tabs--lg',\n dynamicPageTabsExtraLarge: 'fd-dynamic-page__tabs--xl',\n dynamicPageContent: 'fd-dynamic-page__content',\n dynamicPageContentAreaSmall: 'fd-dynamic-page__content--sm',\n dynamicPageContentAreaMedium: 'fd-dynamic-page__content--md',\n dynamicPageContentAreaLarge: 'fd-dynamic-page__content--lg',\n dynamicPageContentAreaExtraLarge: 'fd-dynamic-page__content--xl',\n dynamicPageContentListBg: 'fd-dynamic-page__content--list-bg',\n dynamicPageContentTransparentBg: 'fd-dynamic-page__content--transparent-bg',\n dynamicPageSummarizedTitleArea: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaSmall: 'fd-dynamic-page__summarized-title-area--sm',\n dynamicPageSummarizedTitleAreaMedium: 'fd-dynamic-page__summarized-title-area--md',\n dynamicPageSummarizedTitleAreaLarge: 'fd-dynamic-page__summarized-title-area--lg',\n dynamicPageSummarizedTitleAreaExtraLarge: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaNoShadow: 'fd-dynamic-page__summarized-title-area--no-shadow',\n dynamicPageSummarizedTitle: 'fd-dynamic-page__summarized-title',\n dynamicPageSummarizedTitleCollapsed: 'fd-dynamic-page__summarized-title-area--collapsed'\n} as const;\n\nexport type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';\n\nexport type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';\n","import { Renderer2 } from '@angular/core';\n\nexport const addClassNameToElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n\nexport const removeClassNameFromElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.removeClass(element, className);\n};\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\n\nimport { DynamicPageBackgroundType, CLASS_NAME, DynamicPageResponsiveSize } from '../constants';\nimport { addClassNameToElement } from '../utils';\n\n/**\n * Dynamic Page Content Host Component.\n *\n * Adds some styles to host element.\n * For internal usage only.\n *\n */\n\n@Component({\n selector: 'fdp-dynamic-page-content-host',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicPageContentHostComponent implements OnInit {\n /**\n * a unique identifier for this content\n */\n @Input()\n @HostBinding('attr.id')\n id: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n set background(backgroundType: DynamicPageBackgroundType) {\n if (backgroundType) {\n this._background = backgroundType;\n this._setBackgroundStyles(backgroundType);\n }\n }\n\n get background(): DynamicPageBackgroundType {\n return this._background;\n }\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n set size(sizeType: DynamicPageResponsiveSize) {\n if (sizeType) {\n this._size = sizeType;\n this._setSize(sizeType);\n }\n }\n\n get size(): DynamicPageResponsiveSize {\n return this._size;\n }\n\n /**\n * @hidden\n * tracking the background value\n */\n private _background: DynamicPageBackgroundType;\n\n /**\n * @hidden\n * tracks the size for responsive padding\n */\n private _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>, protected _renderer: Renderer2) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContent);\n\n this._addClassNameToHostElement('content-sticker');\n\n if (this.background) {\n this._setBackgroundStyles(this.background);\n }\n\n if (this.size) {\n this._setSize(this.size);\n }\n }\n\n /**\n * @hidden\n * sets the style classes for background property\n * @param background\n */\n private _setBackgroundStyles(background: DynamicPageBackgroundType): void {\n switch (background) {\n case 'transparent':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentTransparentBg);\n break;\n case 'list':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentListBg);\n break;\n case 'solid':\n default:\n this._removeClassNameToHostElement(CLASS_NAME.dynamicPageContentTransparentBg);\n this._removeClassNameToHostElement(CLASS_NAME.dynamicPageContentListBg);\n break;\n }\n }\n\n /**\n * @hidden\n * sets the padding classes\n * @param sizeType\n */\n private _setSize(sizeType: DynamicPageResponsiveSize): void {\n switch (sizeType) {\n case 'small':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaSmall);\n break;\n case 'medium':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaMedium);\n break;\n case 'large':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaLarge);\n break;\n case 'extra-large':\n default:\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaExtraLarge);\n break;\n }\n }\n\n /** @hidden */\n private _removeClassNameToHostElement(className: string): void {\n this._renderer.removeClass(this.elementRef.nativeElement, className);\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this.elementRef.nativeElement, className);\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, TemplateRef, ViewChild } from '@angular/core';\n\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../constants';\n\n/**\n * Dynamic Page Content Component.\n *\n */\n@Component({\n selector: 'fdp-dynamic-page-content',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicPageContentComponent {\n /**\n * label for the tab. If label is provided, tab navigation will be internally set up.\n */\n @Input()\n tabLabel: string;\n\n /**\n * a unique identifier for this content\n */\n @Input()\n id: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-footer',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageFooterComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Injectable } from '@angular/core';\n\nimport { PlatformConfig } from '@fundamental-ngx/platform/shared';\n\n/**\n * Default options for platform dynamic-page\n */\n@Injectable({ providedIn: 'root' })\nexport class DynamicPageConfig extends PlatformConfig {\n /**\n * aria label for expand/collapse button when the Dynamic Page is collapsed\n */\n expandLabel = 'Expand Header';\n\n /**\n * aria label for expand/collapse button when the Dynamic Page is expanded\n */\n collapseLabel = 'Collapse Header';\n\n /**\n * aria label for pin button when the Dynamic Page should be pinned\n */\n pinLabel = 'Pin Header';\n\n /**\n * aria label for pin button when the Panel should be unpinned\n */\n unpinLabel = 'Unpin Header';\n\n /**\n * Create Provider factory function\n */\n static createProviderFactory(\n obj: Partial<DynamicPageConfig>\n ): (platformConfig: PlatformConfig) => DynamicPageConfig {\n const useFactory = (platformConfig: PlatformConfig): DynamicPageConfig =>\n Object.assign(new DynamicPageConfig(platformConfig), obj);\n return useFactory;\n }\n\n /** @hidden */\n constructor(platformConfig: PlatformConfig) {\n super();\n this.contentDensity = platformConfig.contentDensity;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, TemplateRef } from '@angular/core';\n\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageConfig } from '../../dynamic-page.config';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/** Dynamic Page collapse change event */\nexport class DynamicPageCollapseChangeEvent {\n /**\n * Dynamic Page collapse change event\n * @param source Dynamic Page component\n * @param payload Collapse state\n */\n constructor(public source: DynamicPageHeaderComponent, public payload: boolean) {}\n}\n\nlet dynamicPageHeaderId = 0;\n\n/**\n * Dynamic Page Header Component.\n *\n * This component is part of Public API\n * used by supplier to declare inputs and template\n *\n */\n\n@Component({\n selector: 'fdp-dynamic-page-header',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicPageHeaderComponent {\n /**\n * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear\n * and the header stays visible\n */\n @Input()\n collapsible = true;\n\n /**\n * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.\n * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.\n */\n @Input()\n pinnable = false;\n\n /**\n * the initial state of the header. Set to true if header should be collapsed.\n */\n @Input()\n collapsed: boolean;\n\n /**\n * ARIA label for button when the header is collapsed\n */\n @Input()\n expandLabel: string = this._dynamicPageConfig.expandLabel;\n\n /**\n * ARIA label for button when the header is expanded\n */\n @Input()\n collapseLabel: string = this._dynamicPageConfig.collapseLabel;\n\n /** Header role */\n @Input()\n role = 'region';\n\n /**\n * id for header\n */\n @Input()\n id = `fdp-dynamic-page-header-id-${dynamicPageHeaderId++}`;\n\n /**\n * aria label for header\n */\n @Input()\n headerAriaLabel: Nullable<string>;\n\n /**\n * aria label for pin state of pin button\n */\n @Input()\n pinAriaLabel: string = this._dynamicPageConfig.pinLabel;\n\n /**\n * aria label for unpin state of pin button\n */\n @Input()\n unpinAriaLabel: string = this._dynamicPageConfig.unpinLabel;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /** Collapse/Expand change event raised */\n @Output()\n collapsedChange: EventEmitter<DynamicPageCollapseChangeEvent> = new EventEmitter<DynamicPageCollapseChangeEvent>();\n\n /** @deprecated - use `collapsedChange` instead */\n @Output()\n collapseChange = this.collapsedChange;\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n\n /** @hidden */\n constructor(protected _dynamicPageConfig: DynamicPageConfig) {}\n\n /**\n * @hidden\n * Delegate collapse change event\n */\n _onCollapseChange(collapsed: boolean): void {\n this.collapsed = collapsed;\n const event = new DynamicPageCollapseChangeEvent(this, collapsed);\n this.collapsedChange.emit(event);\n }\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-global-actions',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageGlobalActionsComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-layout-actions',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageLayoutActionsComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-key-info',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageKeyInfoComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-title-image',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageTitleImageComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '@fundamental-ngx/core/dynamic-page';\n\n@Directive({\n selector: '[fdpDynamicPageHeaderTitle]',\n standalone: true\n})\nexport class DynamicPageHeaderTitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderTitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '@fundamental-ngx/core/dynamic-page';\n\n@Directive({\n selector: '[fdpDynamicPageHeaderSubtitle]',\n standalone: true\n})\nexport class DynamicPageHeaderSubtitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderSubtitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ContentChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageGlobalActionsComponent } from '../actions/global-actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from '../actions/layout-actions/dynamic-page-layout-actions.component';\nimport { DynamicPageKeyInfoComponent } from '../key-info/dynamic-page-key-info.component';\nimport { DynamicPageTitleImageComponent } from './dynamic-page-title-image.component';\nimport { DynamicPageHeaderTitleDirective } from '../../directives/dynamic-page-header-title.directive';\nimport { DynamicPageHeaderSubtitleDirective } from '../../directives/dynamic-page-header-subtitle.directive';\n\n/**\n * Dynamic Page Title Component.\n *\n */\n@Component({\n selector: 'fdp-dynamic-page-title',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: DYNAMIC_PAGE_HEADER_TOKEN,\n useExisting: DynamicPageTitleComponent\n }\n ]\n})\nexport class DynamicPageTitleComponent implements DynamicPageHeader {\n /**\n * Page Title\n */\n @Input()\n title: string;\n\n /** Whether title should wrap instead of truncation. */\n @Input()\n titleWrap = false;\n\n /**\n * Page Subtitle\n */\n @Input()\n subtitle: string;\n\n /** Whether subtitle should wrap instead of truncation. */\n @Input()\n subtitleWrap = false;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /** template of BreadsCrumbs */\n @ContentChild('breadcrumbTemplate')\n breadcrumbTemplate: TemplateRef<any>;\n\n /** reference to global actions component */\n @ContentChild(DynamicPageGlobalActionsComponent)\n globalActionsComponent: DynamicPageGlobalActionsComponent;\n\n /** reference to layout actions component */\n @ContentChild(DynamicPageLayoutActionsComponent)\n layoutActionsComponent: DynamicPageLayoutActionsComponent;\n\n /** reference to key-info component */\n @ContentChild(DynamicPageKeyInfoComponent)\n keyInfoComponent: DynamicPageKeyInfoComponent;\n\n /** reference to image component */\n @ContentChild(DynamicPageTitleImageComponent)\n imageComponent: DynamicPageTitleImageComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageHeaderTitleDirective)\n _titleDirective: DynamicPageHeaderTitleDirective;\n\n /** @hidden */\n @ContentChild(DynamicPageHeaderSubtitleDirective)\n _subtitleDirective: DynamicPageHeaderSubtitleDirective;\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n private toggle = new Subject<void>();\n /** @hidden */\n private expand = new Subject<void>();\n /** @hidden */\n private collapse = new Subject<void>();\n /** @hidden */\n private collapseValue = new Subject<boolean>();\n /** @hidden */\n private isCollapsed = false;\n\n /** @hidden */\n public $toggle = this.toggle.asObservable();\n /** @hidden */\n public $expand = this.expand.asObservable();\n /** @hidden */\n public $collapse = this.collapse.asObservable();\n /** @hidden */\n public $collapseValue = this.collapseValue.asObservable();\n\n /** @hidden */\n public toggleHeader(): void {\n this.toggle.next();\n }\n\n /** @hidden */\n public expandHeader(): void {\n this.isCollapsed = false;\n this.expand.next();\n }\n\n /** @hidden */\n public collapseHeader(): void {\n this.isCollapsed = true;\n this.collapse.next();\n }\n\n /** @hidden */\n public setCollapseValue(val: boolean): void {\n this.setIsCollapsed(val);\n this.collapseValue.next(val);\n }\n\n /** @hidden */\n public getIsCollapsed(): boolean {\n return this.isCollapsed;\n }\n\n /** @hidden */\n public setIsCollapsed(collapsed: boolean): void {\n this.isCollapsed = collapsed;\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { startWith } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { TabListComponent, TabPanelComponent } from '@fundamental-ngx/core/tabs';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentHostComponent } from './dynamic-page-content/dynamic-page-content-host.component';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageTitleComponent } from './dynamic-page-header/title/dynamic-page-title.component';\nimport { DynamicPageService } from './dynamic-page.service';\n\n/** Dynamic Page tab change event */\nexport class DynamicPageTabChangeEvent {\n /**\n * Dynamic Page tab change event\n * @param source Dynamic Page component\n * @param payload Tab component\n */\n constructor(public source: DynamicPageContentComponent, public payload: TabPanelComponent) {}\n}\n\n@Component({\n selector: 'fdp-dynamic-page',\n templateUrl: './dynamic-page.component.html',\n styleUrls: ['./dynamic-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [DynamicPageService]\n})\nexport class DynamicPageComponent extends BaseComponent implements AfterContentInit, AfterViewInit, DoCheck, OnDestroy {\n /** Whether DynamicPage should snap on scroll */\n @Input()\n disableSnapOnScroll = false;\n /** Page role */\n @Input()\n @HostBinding('attr.role')\n role = 'region';\n\n /** aria label for the page */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Whether or not tabs should be stacked. */\n @Input()\n stackContent = false;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType = 'solid';\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize = 'extra-large';\n\n /**\n * provided offset in px\n * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners\n */\n @Input()\n offset = 0;\n\n /** Whether DynamicPage should have responsive sides spacing changing with Page window width.\n * max-width: 599px - small\n * min-width: 600px and max-width: 1023px - medium\n * min-width: 1024px and max-width: 1439px - large\n * min-width: 1440px - extra large\n */\n @Input()\n autoResponsive = true;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input()\n expandContent = true;\n\n /**\n * Tab Change event\n */\n @Output()\n tabChange = new EventEmitter<DynamicPageTabChangeEvent>();\n\n /** reference to title component */\n @ContentChild(DynamicPageTitleComponent)\n titleComponent: DynamicPageTitleComponent;\n\n /** reference to header component */\n @ContentChild(DynamicPageHeaderComponent)\n headerComponent: DynamicPageHeaderComponent;\n\n /** reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n footerComponent: DynamicPageFooterComponent;\n\n /** reference to content component */\n @ContentChild(DynamicPageContentComponent)\n contentComponent: DynamicPageContentComponent;\n\n /** reference to content components list */\n @ContentChildren(DynamicPageContentComponent, { descendants: true })\n contentComponents: QueryList<DynamicPageContentComponent>;\n\n /** @hidden */\n @ViewChild(TabListComponent)\n _tabListComponent: TabListComponent;\n\n /** Reference to tab items components */\n @ViewChildren(TabPanelComponent)\n dynamicPageTabs: QueryList<TabPanelComponent>;\n\n /** @hidden */\n @ViewChildren(DynamicPageContentHostComponent)\n _contentHostComponents: QueryList<DynamicPageContentHostComponent>;\n\n /**\n * @hidden\n * whether tabbed content is present in this page\n */\n _isTabbed = false;\n\n /**\n * @hidden\n * holds the tab content\n */\n _tabs: DynamicPageContentComponent[] = [];\n\n /** @hidden */\n constructor(protected _cd: ChangeDetectorRef, public readonly elementRef: ElementRef<HTMLElement>) {\n super(_cd);\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._listenToContentComponentsListChanges();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._cd.detectChanges();\n\n this._tabListComponent?.headerContainer.nativeElement.classList.add('fd-dynamic-page__tabs');\n }\n\n /** @hidden */\n ngDoCheck(): void {\n /** Used to detect changes in projected components that displayed using templates,\n * https://github.com/angular/angular/issues/44112\n */\n this._cd.markForCheck();\n }\n\n /**\n * marks the dynamic page tab as selected when the id of the tab is passed\n */\n setSelectedTab(id: string): void {\n if (!(id && this.dynamicPageTabs)) {\n return;\n }\n\n this.dynamicPageTabs.forEach((element) => {\n if (element.id === id) {\n element.open(true);\n }\n });\n }\n\n /** @hidden */\n _onSelectedTabChange(event: TabPanelComponent): void {\n const content = this.contentComponents.find((contentComponent) => contentComponent.id === event.id);\n\n content && this.tabChange.emit(new DynamicPageTabChangeEvent(content, event));\n }\n\n /** @hidden */\n private _listenToContentComponentsListChanges(): void {\n this.contentComponents.changes.pipe(startWith(this.contentComponents)).subscribe(() => {\n this._createContentTabs();\n });\n }\n\n /** @hidden */\n private _createContentTabs(): void {\n const contentComponents = this.contentComponents.toArray();\n\n // reset array\n this._tabs = [];\n\n if (!this._isTabContentPresent(contentComponents)) {\n if (contentComponents.length > 1) {\n throw new Error(\n 'Cannot have more than one content section. Use `tabLabel` to have a tabbed navigation.'\n );\n }\n\n return;\n }\n\n if (contentComponents) {\n contentComponents.forEach((contentItem) => {\n if (!contentItem.tabLabel && this._isTabbed) {\n throw new Error('At least one element is already tabbed, please provide a `tabLabel`.');\n } else {\n this._tabs.push(contentItem);\n }\n });\n }\n }\n\n /** @hidden */\n private _isTabContentPresent(contentComponents: DynamicPageContentComponent[]): boolean {\n contentComponents.forEach((contentComponent) => {\n if (contentComponent.tabLabel) {\n this._isTabbed = true;\n return;\n }\n });\n\n return this._isTabbed;\n }\n}\n","<fd-dynamic-page\n [disableSnapOnScroll]=\"disableSnapOnScroll\"\n [autoResponsive]=\"autoResponsive\"\n [background]=\"background\"\n [size]=\"size\"\n [expandContent]=\"expandContent\"\n [offset]=\"offset\"\n [ariaLabel]=\"ariaLabel\"\n>\n <fd-dynamic-page-header\n *ngIf=\"titleComponent\"\n [title]=\"titleComponent.title\"\n [titleWrap]=\"titleComponent.titleWrap\"\n [subtitle]=\"titleComponent.subtitle\"\n [subtitleWrap]=\"titleComponent.subtitleWrap\"\n >\n <fd-breadcrumb *ngIf=\"titleComponent.breadcrumbTemplate\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.breadcrumbTemplate\"></ng-container>\n </fd-breadcrumb>\n\n <ng-container *ngIf=\"titleComponent._subtitleDirective\">\n <ng-container\n *fdDynamicPageHeaderSubtitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._subtitleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"titleComponent._titleDirective\">\n <ng-container\n *fdDynamicPageHeaderTitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._titleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <fd-dynamic-page-title-content *ngIf=\"titleComponent.keyInfoComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.keyInfoComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-title-content>\n\n <fd-facet type=\"image\" *ngIf=\"titleComponent.imageComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.imageComponent.contentTemplateRef\"></ng-container>\n </fd-facet>\n\n <fd-dynamic-page-global-actions *ngIf=\"titleComponent.globalActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.globalActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-global-actions>\n\n <fd-dynamic-page-layout-actions *ngIf=\"titleComponent.layoutActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.layoutActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fd-dynamic-page-subheader\n *ngIf=\"headerComponent\"\n [collapsed]=\"headerComponent.collapsed\"\n [collapsible]=\"headerComponent.collapsible\"\n [pinnable]=\"headerComponent.pinnable\"\n [expandLabel]=\"headerComponent.expandLabel\"\n [collapseLabel]=\"headerComponent.collapseLabel\"\n [role]=\"headerComponent.role\"\n [id]=\"headerComponent.id\"\n [headerAriaLabel]=\"headerComponent.headerAriaLabel\"\n [pinAriaLabel]=\"headerComponent.pinAriaLabel\"\n [unpinAriaLabel]=\"headerComponent.unpinAriaLabel\"\n (collapsedChange)=\"headerComponent._onCollapseChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"headerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-subheader>\n\n <fd-tab-list\n *ngIf=\"_isTabbed\"\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n (selectedTabChange)=\"_onSelectedTabChange($event)\"\n >\n <ng-container *ngFor=\"let tab of _tabs\">\n <fd-tab [title]=\"tab.tabLabel\" [id]=\"tab.id\">\n <fd-dynamic-page-content>\n <ng-container [ngTemplateOutlet]=\"tab.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n\n <fd-dynamic-page-content *ngIf=\"!_isTabbed && contentComponent\">\n <ng-container [ngTemplateOutlet]=\"contentComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n\n <fd-dynamic-page-footer *ngIf=\"footerComponent\">\n <ng-container [ngTemplateOutlet]=\"footerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TabsModule } from '@fundamental-ngx/core/tabs';\nimport { PlatformButtonModule } from '@fundamental-ngx/platform/button';\nimport { DynamicPageModule } from '@fundamental-ngx/core/dynamic-page';\nimport { BreadcrumbModule } from '@fundamental-ngx/core/breadcrumb';\n\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageContentHostComponent } from './dynamic-page-content/dynamic-page-content-host.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageGlobalActionsComponent } from './dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from './dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageKeyInfoComponent } from './dynamic-page-header/key-info/dynamic-page-key-info.component';\nimport { DynamicPageTitleComponent } from './dynamic-page-header/title/dynamic-page-title.component';\nimport { DynamicPageTitleImageComponent } from './dynamic-page-header/title/dynamic-page-title-image.component';\nimport { DynamicPageComponent } from './dynamic-page.component';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { FacetModule } from '@fundamental-ngx/core/facets';\nimport { DynamicPageHeaderSubtitleDirective } from './directives/dynamic-page-header-subtitle.directive';\nimport { DynamicPageHeaderTitleDirective } from './directives/dynamic-page-header-title.directive';\n\n@NgModule({\n declarations: [\n DynamicPageComponent,\n DynamicPageTitleComponent,\n DynamicPageKeyInfoComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageHeaderComponent,\n DynamicPageContentComponent,\n DynamicPageContentHostComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleImageComponent\n ],\n imports: [\n CommonModule,\n TabsModule,\n DynamicPageModule,\n PlatformButtonModule,\n BreadcrumbModule,\n ScrollingModule,\n FacetModule,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective\n ],\n exports: [\n DynamicPageComponent,\n DynamicPageTitleComponent,\n DynamicPageKeyInfoComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageHeaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleImageComponent,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective\n ]\n})\nexport class PlatformDynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DynamicPageConfig","i1"],"mappings":"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"}
@@ -529,6 +529,10 @@ class MenuTriggerDirective {
529
529
  }
530
530
  else {
531
531
  this._element.nativeElement.focus();
532
+ // TODO: remove with fdp-menu-button deprecation
533
+ if (this._element.nativeElement.tagName.toLowerCase() === 'fdp-menu-button') {
534
+ this._element.nativeElement.firstChild.focus();
535
+ }
532
536
  }
533
537
  this._overlayRef.detach();
534
538
  this._isMenuOpen = false;
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-platform-menu.mjs","sources":["../../../../libs/platform/src/lib/menu/menu-item.component.ts","../../../../libs/platform/src/lib/menu/menu-item.component.html","../../../../libs/platform/src/lib/menu/menu.component.ts","../../../../libs/platform/src/lib/menu/menu.component.html","../../../../libs/platform/src/lib/menu/menu-trigger.directive.ts","../../../../libs/platform/src/lib/menu/menu.module.ts","../../../../libs/platform/src/lib/menu/fundamental-ngx-platform-menu.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n OnDestroy,\n Input,\n Output,\n ViewEncapsulation,\n ContentChild,\n ChangeDetectorRef\n} from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { MenuInteractiveDirective } from '@fundamental-ngx/core/menu';\n\n@Component({\n selector: 'fdp-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-menu__item',\n tabindex: '-1'\n }\n})\nexport class MenuItemComponent implements OnDestroy, FocusableOption {\n /** Set the Menu Item as disabled/enabled */\n @Input()\n disabled = false;\n\n /** Menu direction */\n @Input()\n cascadeDirection: 'right' | 'left' = 'right';\n\n /** Event emitted when item is selected. */\n @Output()\n itemSelect: EventEmitter<void> = new EventEmitter<void>();\n\n /** Track when menu item is hovered over */\n hovered: Subject<MenuItemComponent> = new Subject<MenuItemComponent>();\n\n /** Sets whether this item is a trigger for sub-menu. */\n @HostBinding('class.trigger')\n isTrigger = false;\n\n /** @hidden */\n _isSelected = false;\n /**\n * @hidden\n * set CSS class 'is-selected' if menu-item opens a sub-menu.\n */\n set isSelected(selected: boolean) {\n if (this._isSelected !== selected) {\n this._isSelected = selected;\n this._cdr.markForCheck();\n }\n }\n /** @hidden */\n get isSelected(): boolean {\n return this._isSelected;\n }\n\n /** @hidden */\n @ContentChild(MenuInteractiveDirective)\n _fdMenuInteractiveChild: MenuInteractiveDirective;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, private _cdr: ChangeDetectorRef) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this.hovered.complete();\n }\n\n /** Focus on option */\n focus(): void {\n const interactive = this._elementRef.nativeElement?.firstElementChild as HTMLElement;\n interactive?.focus();\n }\n\n /**\n * @hidden\n * Handle selection of item via keyboard 'Enter'\n */\n @HostListener('keydown', ['$event'])\n private _onItemKeydown(event: KeyboardEvent): void {\n if (event && KeyUtil.isKeyCode(event, [SPACE, ENTER]) && !this.disabled) {\n this.itemSelect.emit();\n } else if (this.disabled) {\n event.stopPropagation();\n }\n }\n\n /**\n * @hidden\n * Handle click of item via mouse click.\n */\n @HostListener('click', ['$event'])\n private _onItemClick(event: MouseEvent): void {\n if (!this.disabled) {\n this.itemSelect.emit();\n } else {\n event.stopPropagation();\n }\n }\n\n /**\n * @hidden\n * Handle mouse enter event.\n */\n @HostListener('mouseenter')\n private _onMouseEnter(): void {\n this.hovered.next(this);\n }\n}\n","<ng-container *ngIf=\"!_fdMenuInteractiveChild; else projectedContent\">\n <div\n class=\"fd-menu__link\"\n [class.is-disabled]=\"disabled\"\n [attr.disabled]=\"disabled\"\n [class.is-selected]=\"isSelected\"\n tabindex=\"0\"\n role=\"menuitem\"\n >\n <span class=\"fd-menu__title\">\n <ng-container [ngTemplateOutlet]=\"projectedContent\"></ng-container>\n </span>\n <span *ngIf=\"isTrigger\" class=\"fd-menu__addon-after fd-menu__addon-after--submenu\"></span>\n </div>\n</ng-container>\n\n<ng-template #projectedContent>\n <ng-content></ng-content>\n</ng-template>\n","/**\n * @license\n * Copyright (c) 2010-2020 SAP\n * Copyright (c) 2010-2020 Google LLC. http://angular.io/license\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and\n * associated documentation files (the \"Software\"), to deal in the Software without restriction,\n * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or substantial\n * portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT\n * LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { FocusKeyManager, FocusOrigin } from '@angular/cdk/a11y';\nimport { ENTER, ESCAPE, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { merge, Observable, Subscription } from 'rxjs';\nimport { startWith, switchMap } from 'rxjs/operators';\n\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { MenuItemComponent } from './menu-item.component';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\nexport type MenuCloseMethod = void | 'mouse' | 'keyboard' | 'tab' | 'arrow';\n\n/**\n * Variables for generating menu IDs.\n * Needed for establishing 'aria-control' between trigger and menu.\n */\nconst MENU_ID_ROOT = 'fdp-menu-';\nlet menuIdCounter = 0;\n\n@Component({\n selector: 'fdp-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [contentDensityObserverProviders()]\n})\nexport class MenuComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n /** Menu ID */\n @Input()\n set id(id: string) {\n this._id = id;\n\n // Use 'id' property to create menu ID for aria-control purposes.\n this.menuId = MENU_ID_ROOT + id;\n }\n get id(): string {\n return this._id;\n }\n\n /**\n * Whether menu can be opened using arrow keys\n * @default true\n */\n @Input()\n openByArrowKeys = true;\n\n /**\n * Horizontal position of menu in relation to trigger element.\n */\n @Input()\n xPosition: 'before' | 'after' = 'after';\n\n /**\n * The templateRef needs to be available to the menu trigger for\n * opening in a CDK overlay.\n */\n @ViewChild('menuTemplate', { static: false })\n templateRef: TemplateRef<any>;\n\n /**\n * Child items of the menu.\n */\n @ContentChildren(MenuItemComponent)\n menuItems: QueryList<MenuItemComponent>;\n\n /**\n * Emitted event when menu closes\n */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n close: EventEmitter<MenuCloseMethod> = new EventEmitter();\n\n /** Menu direction */\n direction: 'ltr' | 'rtl' = 'ltr';\n\n /** @hidden */\n menuId: string;\n\n /** @hidden */\n private _id: string;\n\n /** @hidden */\n private _keyManager: FocusKeyManager<MenuItemComponent>;\n\n /** @hidden */\n private _tabSubscription = Subscription.EMPTY;\n\n /** @hidden */\n private _dirChangeSubscription = Subscription.EMPTY;\n\n /** @hidden */\n constructor(@Optional() private _rtl: RtlService, readonly contentDensityObserver: ContentDensityObserver) {\n if (this._rtl) {\n this._dirChangeSubscription = this._rtl.rtl.subscribe((value: boolean) => {\n this.direction = value ? 'rtl' : 'ltr';\n this._setMenuItemCascadeDirection();\n });\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (!this.menuId) {\n this.menuId = MENU_ID_ROOT + menuIdCounter++;\n }\n if (this.menuItems) {\n this._keyManager = new FocusKeyManager(this.menuItems);\n this._tabSubscription = this._keyManager.tabOut.subscribe(() => {\n this.close.emit('keyboard');\n });\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setMenuItemCascadeDirection();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.close.complete();\n this._tabSubscription.unsubscribe();\n this._dirChangeSubscription.unsubscribe();\n this._keyManager?.destroy();\n }\n\n /**\n * Set focus on first item\n * @param origin FocusOrigin\n */\n focusOnFirstItem(origin: FocusOrigin = 'program'): void {\n this._keyManager.setFocusOrigin(origin).setFirstItemActive();\n }\n\n /**\n * Close menu\n * @param method menu close method\n */\n closeMenu(method: MenuCloseMethod): void {\n this.close.emit(method);\n }\n\n /**\n * @hidden\n * Menu keydown handler\n */\n _onKeydown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n if (this._cascadesRight()) {\n this.close.emit('arrow');\n }\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n if (this._cascadesLeft()) {\n this.close.emit('arrow');\n }\n } else if (KeyUtil.isKeyCode(event, ESCAPE)) {\n this.close.emit('keyboard');\n } else if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n event.preventDefault();\n this.close.emit('keyboard');\n } else {\n this._keyManager.onKeydown(event);\n }\n }\n\n /**\n * @hidden\n * Menu click handler\n */\n _onClick(): void {\n this.close.emit('mouse');\n }\n\n /**\n * @hidden\n * Get stream of menu items hover change\n */\n _menuItemHoverChange(): Observable<MenuItemComponent> {\n const menuItems = this.menuItems.changes as Observable<QueryList<MenuItemComponent>>;\n return menuItems.pipe(\n startWith(this.menuItems),\n switchMap((items) => merge(...items.map((item: MenuItemComponent) => item.hovered)))\n ) as Observable<MenuItemComponent>;\n }\n\n /** @hidden */\n _setMenuItemCascadeDirection(): void {\n if (!this.menuItems) {\n return;\n }\n // set cascade direction\n this.menuItems.forEach((item) => {\n item.cascadeDirection = this._cascadesLeft() ? 'left' : 'right';\n });\n }\n\n /**\n * @hidden\n * Check if cascade menu should appear from right\n */\n _cascadesRight(): boolean {\n return (\n (this.xPosition === 'after' && this.direction === 'ltr') ||\n (this.xPosition === 'before' && this.direction === 'rtl')\n );\n }\n\n /**\n * @hidden\n * Check if cascade menu should appear from left\n */\n _cascadesLeft(): boolean {\n return (\n (this.xPosition === 'after' && this.direction === 'rtl') ||\n (this.xPosition === 'before' && this.direction === 'ltr')\n );\n }\n}\n","<ng-template #menuTemplate>\n <nav\n [attr.id]=\"menuId\"\n [attr.dir]=\"direction\"\n class=\"fd-menu\"\n [class.is-compact]=\"contentDensityObserver.isCompact$ | async\"\n tabindex=\"0\"\n role=\"menu\"\n (click)=\"_onClick()\"\n (keydown)=\"_onKeydown($event)\"\n >\n <div class=\"fd-menu__list\">\n <ng-content></ng-content>\n </div>\n </nav>\n</ng-template>\n","import {\n AfterContentInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n Self,\n ViewContainerRef\n} from '@angular/core';\nimport { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { MenuCloseMethod, MenuComponent } from './menu.component';\nimport { MenuItemComponent } from './menu-item.component';\n\n@Directive({\n selector: `[fdpMenuTriggerFor]`,\n host: {\n 'aria-haspopup': 'menu',\n '[attr.aria-expanded]': 'isMenuOpen || null',\n '[attr.aria-controls]': 'isMenuOpen ? menu.menuId : null'\n }\n})\nexport class MenuTriggerDirective implements OnDestroy, AfterContentInit {\n /** Set Menu Component for which this trigger will be associated. */\n @Input('fdpMenuTriggerFor')\n set menu(menu: MenuComponent) {\n if (this._menu === menu) {\n return;\n }\n this._menu = menu;\n this._menuCloseSubscription.unsubscribe();\n }\n get menu(): MenuComponent {\n return this._menu;\n }\n\n /** @hidden */\n private _menu: MenuComponent;\n /** @hidden */\n private _overlayRef: OverlayRef | null;\n /** @hidden */\n private _portal: TemplatePortal;\n /** @hidden */\n private _isMenuOpen = false;\n /** @hidden */\n private _outsideClickSubscription: Subscription = Subscription.EMPTY;\n /** @hidden */\n private _menuCloseSubscription: Subscription = Subscription.EMPTY;\n /** @hidden */\n private _parentMenuCloseSubscription: Subscription = Subscription.EMPTY;\n /** @hidden */\n private _menuItemHoverChangeSubscription: Subscription = Subscription.EMPTY;\n\n /** @hidden */\n constructor(\n private _element: ElementRef<HTMLElement>,\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef,\n @Optional() @Self() private _menuItem: MenuItemComponent,\n @Optional() private _parentMenu: MenuComponent\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._isMenuItem()) {\n // mark menu item as trigger\n this._menuItem.isTrigger = true;\n\n // subscribe to changes of menu item hover state\n this._menuItemHoverChangeSubscription = this._parentMenu._menuItemHoverChange().subscribe((item) => {\n if (item === this._menuItem) {\n if (!this.isMenuOpen) {\n this._menuItem.isSelected = true;\n this.openMenu();\n }\n } else {\n this._menuItem.isSelected = false;\n this.closeMenu();\n }\n });\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._outsideClickSubscription.unsubscribe();\n this._menuCloseSubscription.unsubscribe();\n this._parentMenuCloseSubscription.unsubscribe();\n this._menuItemHoverChangeSubscription.unsubscribe();\n }\n\n /** Flag to determine if associated menu is open. */\n get isMenuOpen(): boolean {\n return this._isMenuOpen;\n }\n\n /**\n * @hidden\n * Handle click on trigger element.\n */\n @HostListener('click', ['$event'])\n _onTriggerClick(event: MouseEvent): void {\n // Need to interupt default menu behavior of closing the menu\n if (this._isMenuItem()) {\n event.preventDefault();\n event.stopPropagation();\n }\n // filter out clicks initiated by keyboard enter.\n // For IE 11, MouseEvent fires a MSPointerEvent object instead of MouseEvent.\n if (event.detail > 0 || (event instanceof PointerEvent && event.detail === 0)) {\n this.toggleMenu();\n }\n }\n\n /**\n * @hidden\n * Handled keypress which focus is on trigger element.\n */\n @HostListener('keydown', ['$event'])\n _onTriggerKeydown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\n if (KeyUtil.isKeyCode(event, [SPACE])) {\n event.preventDefault();\n }\n\n // Need to interupt default menu item behavior of closing the menu\n if (this._isMenuItem()) {\n event.preventDefault();\n event.stopPropagation();\n }\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n } else if (KeyUtil.isKeyCode(event, [RIGHT_ARROW])) {\n if (this._menu._cascadesRight() && this._menu.openByArrowKeys) {\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n }\n } else if (KeyUtil.isKeyCode(event, [LEFT_ARROW])) {\n if (this._menu._cascadesLeft() && this._menu.openByArrowKeys) {\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n }\n }\n }\n\n /**\n * @hidden\n * Toggle display of associated menu.\n */\n toggleMenu(): void {\n /**\n * Need to add delay here to ensure that any \"closeMenu\" operation which\n * has been invoked within an \"outsideClickSubscription\" gets resolved\n * before \"openMenu\" is called. This can happen when there are multiple\n * triggers for the same menu.\n */\n setTimeout(() => {\n this._isMenuOpen ? this._destroyMenu() : this.openMenu();\n }, 0);\n }\n\n /**\n * @hidden\n * Open associated menu.\n */\n openMenu(): void {\n // create overlay\n const overlayConfig = this._getOverlayConfig();\n this._overlayRef = this._overlay.create(overlayConfig);\n\n // get portal and attach to overlay\n this._portal = new TemplatePortal(this._menu.templateRef, this._viewContainerRef);\n this._overlayRef.attach(this._portal);\n\n // add subscription to capture clicks outside menu\n if (this._outsideClickSubscription) {\n this._outsideClickSubscription.unsubscribe();\n }\n this._outsideClickSubscription = fromEvent<MouseEvent>(document, 'click')\n .pipe(\n filter((event) => {\n const target = event.target as HTMLElement;\n return (\n !this._element.nativeElement.contains(target) &&\n !!this._overlayRef &&\n !this._overlayRef.overlayElement.contains(target) &&\n this.isMenuOpen\n );\n }),\n take(1)\n )\n .subscribe(() => {\n this.closeMenu();\n });\n\n // add subscription to menu 'close' event\n if (this._menuCloseSubscription) {\n this._menuCloseSubscription.unsubscribe();\n }\n this._menuCloseSubscription = this._menu.close.subscribe((method: MenuCloseMethod) => {\n this._destroyMenu();\n // Need to close parent menu if closing of menu was done by terminating action\n if (this._parentMenu && (method === 'keyboard' || method === 'mouse')) {\n this._parentMenu.closeMenu(method);\n }\n });\n\n // add subscription to parent menu 'close' event\n if (this._parentMenu) {\n if (this._parentMenuCloseSubscription) {\n this._parentMenuCloseSubscription.unsubscribe();\n }\n this._parentMenuCloseSubscription = this._parentMenu.close.subscribe(() => {\n this.closeMenu();\n });\n }\n\n // set focus to menu\n this._menu.focusOnFirstItem();\n\n this._isMenuOpen = true;\n }\n\n /**\n * @hidden\n * Close associated menu.\n */\n closeMenu(): void {\n this._menu.closeMenu();\n }\n\n /**\n * @hidden\n * destroy associated menu.\n */\n private _destroyMenu(): void {\n if (this._menuItem) {\n this._menuItem.isSelected = false;\n }\n if (!this._overlayRef || !this._isMenuOpen) {\n return;\n }\n if (this._menuItem) {\n this._menuItem.focus();\n } else {\n this._element.nativeElement.focus();\n }\n this._overlayRef.detach();\n this._isMenuOpen = false;\n }\n\n /** @hidden */\n private _getOverlayConfig(): OverlayConfig {\n const positions = this._getPositions();\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._element)\n .withLockedPosition()\n .withPositions(positions);\n\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n\n const overlayConfig = new OverlayConfig({\n positionStrategy,\n scrollStrategy,\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n return overlayConfig;\n }\n\n /** @hidden */\n private _getPositions(): ConnectedPosition[] {\n let positions: ConnectedPosition[] = [];\n const offsetYPosition = 0;\n const offsetXPosition = 0;\n const subMenuXPadding = 4; // horizontal padding of 0.25rem(4px) is needed for sub-menu\n const subMenuYPadding = 4; // vertical padding of 0.25rem(4px) is needed for sub-menu\n\n if (this._isMenuItem()) {\n if (this._menu._cascadesLeft()) {\n positions = [\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: subMenuXPadding,\n offsetY: subMenuYPadding\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: subMenuXPadding,\n offsetY: -subMenuYPadding\n }\n ];\n } else {\n positions = [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: -subMenuXPadding,\n offsetY: subMenuYPadding\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: -subMenuXPadding,\n offsetY: -subMenuYPadding\n }\n ];\n }\n } else {\n if (this._menu._cascadesLeft()) {\n positions = [\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offsetYPosition,\n offsetX: offsetXPosition\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offsetYPosition,\n offsetX: offsetXPosition\n }\n ];\n } else {\n positions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offsetYPosition,\n offsetX: -offsetXPosition\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offsetYPosition,\n offsetX: -offsetXPosition\n }\n ];\n }\n }\n\n return positions;\n }\n\n /** @hidden */\n private _isMenuItem(): boolean {\n return !!(this._parentMenu && this._menuItem);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { PipeModule } from '@fundamental-ngx/cdk/utils';\n\nimport { MenuComponent } from './menu.component';\nimport { MenuItemComponent } from './menu-item.component';\nimport { MenuTriggerDirective } from './menu-trigger.directive';\nimport { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n BidiModule,\n ScrollingModule,\n PipeModule,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule\n ],\n declarations: [MenuComponent, MenuItemComponent, MenuTriggerDirective],\n exports: [\n MenuComponent,\n MenuItemComponent,\n MenuTriggerDirective,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule\n ]\n})\nexport class PlatformMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i4","i2.MenuItemComponent","i3.MenuComponent"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-platform-menu.mjs","sources":["../../../../libs/platform/src/lib/menu/menu-item.component.ts","../../../../libs/platform/src/lib/menu/menu-item.component.html","../../../../libs/platform/src/lib/menu/menu.component.ts","../../../../libs/platform/src/lib/menu/menu.component.html","../../../../libs/platform/src/lib/menu/menu-trigger.directive.ts","../../../../libs/platform/src/lib/menu/menu.module.ts","../../../../libs/platform/src/lib/menu/fundamental-ngx-platform-menu.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n OnDestroy,\n Input,\n Output,\n ViewEncapsulation,\n ContentChild,\n ChangeDetectorRef\n} from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { MenuInteractiveDirective } from '@fundamental-ngx/core/menu';\n\n@Component({\n selector: 'fdp-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-menu__item',\n tabindex: '-1'\n }\n})\nexport class MenuItemComponent implements OnDestroy, FocusableOption {\n /** Set the Menu Item as disabled/enabled */\n @Input()\n disabled = false;\n\n /** Menu direction */\n @Input()\n cascadeDirection: 'right' | 'left' = 'right';\n\n /** Event emitted when item is selected. */\n @Output()\n itemSelect: EventEmitter<void> = new EventEmitter<void>();\n\n /** Track when menu item is hovered over */\n hovered: Subject<MenuItemComponent> = new Subject<MenuItemComponent>();\n\n /** Sets whether this item is a trigger for sub-menu. */\n @HostBinding('class.trigger')\n isTrigger = false;\n\n /** @hidden */\n _isSelected = false;\n /**\n * @hidden\n * set CSS class 'is-selected' if menu-item opens a sub-menu.\n */\n set isSelected(selected: boolean) {\n if (this._isSelected !== selected) {\n this._isSelected = selected;\n this._cdr.markForCheck();\n }\n }\n /** @hidden */\n get isSelected(): boolean {\n return this._isSelected;\n }\n\n /** @hidden */\n @ContentChild(MenuInteractiveDirective)\n _fdMenuInteractiveChild: MenuInteractiveDirective;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, private _cdr: ChangeDetectorRef) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this.hovered.complete();\n }\n\n /** Focus on option */\n focus(): void {\n const interactive = this._elementRef.nativeElement?.firstElementChild as HTMLElement;\n interactive?.focus();\n }\n\n /**\n * @hidden\n * Handle selection of item via keyboard 'Enter'\n */\n @HostListener('keydown', ['$event'])\n private _onItemKeydown(event: KeyboardEvent): void {\n if (event && KeyUtil.isKeyCode(event, [SPACE, ENTER]) && !this.disabled) {\n this.itemSelect.emit();\n } else if (this.disabled) {\n event.stopPropagation();\n }\n }\n\n /**\n * @hidden\n * Handle click of item via mouse click.\n */\n @HostListener('click', ['$event'])\n private _onItemClick(event: MouseEvent): void {\n if (!this.disabled) {\n this.itemSelect.emit();\n } else {\n event.stopPropagation();\n }\n }\n\n /**\n * @hidden\n * Handle mouse enter event.\n */\n @HostListener('mouseenter')\n private _onMouseEnter(): void {\n this.hovered.next(this);\n }\n}\n","<ng-container *ngIf=\"!_fdMenuInteractiveChild; else projectedContent\">\n <div\n class=\"fd-menu__link\"\n [class.is-disabled]=\"disabled\"\n [attr.disabled]=\"disabled\"\n [class.is-selected]=\"isSelected\"\n tabindex=\"0\"\n role=\"menuitem\"\n >\n <span class=\"fd-menu__title\">\n <ng-container [ngTemplateOutlet]=\"projectedContent\"></ng-container>\n </span>\n <span *ngIf=\"isTrigger\" class=\"fd-menu__addon-after fd-menu__addon-after--submenu\"></span>\n </div>\n</ng-container>\n\n<ng-template #projectedContent>\n <ng-content></ng-content>\n</ng-template>\n","/**\n * @license\n * Copyright (c) 2010-2020 SAP\n * Copyright (c) 2010-2020 Google LLC. http://angular.io/license\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and\n * associated documentation files (the \"Software\"), to deal in the Software without restriction,\n * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or substantial\n * portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT\n * LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { FocusKeyManager, FocusOrigin } from '@angular/cdk/a11y';\nimport { ENTER, ESCAPE, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { merge, Observable, Subscription } from 'rxjs';\nimport { startWith, switchMap } from 'rxjs/operators';\n\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { MenuItemComponent } from './menu-item.component';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\nexport type MenuCloseMethod = void | 'mouse' | 'keyboard' | 'tab' | 'arrow';\n\n/**\n * Variables for generating menu IDs.\n * Needed for establishing 'aria-control' between trigger and menu.\n */\nconst MENU_ID_ROOT = 'fdp-menu-';\nlet menuIdCounter = 0;\n\n@Component({\n selector: 'fdp-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [contentDensityObserverProviders()]\n})\nexport class MenuComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n /** Menu ID */\n @Input()\n set id(id: string) {\n this._id = id;\n\n // Use 'id' property to create menu ID for aria-control purposes.\n this.menuId = MENU_ID_ROOT + id;\n }\n get id(): string {\n return this._id;\n }\n\n /**\n * Whether menu can be opened using arrow keys\n * @default true\n */\n @Input()\n openByArrowKeys = true;\n\n /**\n * Horizontal position of menu in relation to trigger element.\n */\n @Input()\n xPosition: 'before' | 'after' = 'after';\n\n /**\n * The templateRef needs to be available to the menu trigger for\n * opening in a CDK overlay.\n */\n @ViewChild('menuTemplate', { static: false })\n templateRef: TemplateRef<any>;\n\n /**\n * Child items of the menu.\n */\n @ContentChildren(MenuItemComponent)\n menuItems: QueryList<MenuItemComponent>;\n\n /**\n * Emitted event when menu closes\n */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n close: EventEmitter<MenuCloseMethod> = new EventEmitter();\n\n /** Menu direction */\n direction: 'ltr' | 'rtl' = 'ltr';\n\n /** @hidden */\n menuId: string;\n\n /** @hidden */\n private _id: string;\n\n /** @hidden */\n private _keyManager: FocusKeyManager<MenuItemComponent>;\n\n /** @hidden */\n private _tabSubscription = Subscription.EMPTY;\n\n /** @hidden */\n private _dirChangeSubscription = Subscription.EMPTY;\n\n /** @hidden */\n constructor(@Optional() private _rtl: RtlService, readonly contentDensityObserver: ContentDensityObserver) {\n if (this._rtl) {\n this._dirChangeSubscription = this._rtl.rtl.subscribe((value: boolean) => {\n this.direction = value ? 'rtl' : 'ltr';\n this._setMenuItemCascadeDirection();\n });\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (!this.menuId) {\n this.menuId = MENU_ID_ROOT + menuIdCounter++;\n }\n if (this.menuItems) {\n this._keyManager = new FocusKeyManager(this.menuItems);\n this._tabSubscription = this._keyManager.tabOut.subscribe(() => {\n this.close.emit('keyboard');\n });\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setMenuItemCascadeDirection();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.close.complete();\n this._tabSubscription.unsubscribe();\n this._dirChangeSubscription.unsubscribe();\n this._keyManager?.destroy();\n }\n\n /**\n * Set focus on first item\n * @param origin FocusOrigin\n */\n focusOnFirstItem(origin: FocusOrigin = 'program'): void {\n this._keyManager.setFocusOrigin(origin).setFirstItemActive();\n }\n\n /**\n * Close menu\n * @param method menu close method\n */\n closeMenu(method: MenuCloseMethod): void {\n this.close.emit(method);\n }\n\n /**\n * @hidden\n * Menu keydown handler\n */\n _onKeydown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n if (this._cascadesRight()) {\n this.close.emit('arrow');\n }\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n if (this._cascadesLeft()) {\n this.close.emit('arrow');\n }\n } else if (KeyUtil.isKeyCode(event, ESCAPE)) {\n this.close.emit('keyboard');\n } else if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n event.preventDefault();\n this.close.emit('keyboard');\n } else {\n this._keyManager.onKeydown(event);\n }\n }\n\n /**\n * @hidden\n * Menu click handler\n */\n _onClick(): void {\n this.close.emit('mouse');\n }\n\n /**\n * @hidden\n * Get stream of menu items hover change\n */\n _menuItemHoverChange(): Observable<MenuItemComponent> {\n const menuItems = this.menuItems.changes as Observable<QueryList<MenuItemComponent>>;\n return menuItems.pipe(\n startWith(this.menuItems),\n switchMap((items) => merge(...items.map((item: MenuItemComponent) => item.hovered)))\n ) as Observable<MenuItemComponent>;\n }\n\n /** @hidden */\n _setMenuItemCascadeDirection(): void {\n if (!this.menuItems) {\n return;\n }\n // set cascade direction\n this.menuItems.forEach((item) => {\n item.cascadeDirection = this._cascadesLeft() ? 'left' : 'right';\n });\n }\n\n /**\n * @hidden\n * Check if cascade menu should appear from right\n */\n _cascadesRight(): boolean {\n return (\n (this.xPosition === 'after' && this.direction === 'ltr') ||\n (this.xPosition === 'before' && this.direction === 'rtl')\n );\n }\n\n /**\n * @hidden\n * Check if cascade menu should appear from left\n */\n _cascadesLeft(): boolean {\n return (\n (this.xPosition === 'after' && this.direction === 'rtl') ||\n (this.xPosition === 'before' && this.direction === 'ltr')\n );\n }\n}\n","<ng-template #menuTemplate>\n <nav\n [attr.id]=\"menuId\"\n [attr.dir]=\"direction\"\n class=\"fd-menu\"\n [class.is-compact]=\"contentDensityObserver.isCompact$ | async\"\n tabindex=\"0\"\n role=\"menu\"\n (click)=\"_onClick()\"\n (keydown)=\"_onKeydown($event)\"\n >\n <div class=\"fd-menu__list\">\n <ng-content></ng-content>\n </div>\n </nav>\n</ng-template>\n","import {\n AfterContentInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n Self,\n ViewContainerRef\n} from '@angular/core';\nimport { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { MenuCloseMethod, MenuComponent } from './menu.component';\nimport { MenuItemComponent } from './menu-item.component';\n\n@Directive({\n selector: `[fdpMenuTriggerFor]`,\n host: {\n 'aria-haspopup': 'menu',\n '[attr.aria-expanded]': 'isMenuOpen || null',\n '[attr.aria-controls]': 'isMenuOpen ? menu.menuId : null'\n }\n})\nexport class MenuTriggerDirective implements OnDestroy, AfterContentInit {\n /** Set Menu Component for which this trigger will be associated. */\n @Input('fdpMenuTriggerFor')\n set menu(menu: MenuComponent) {\n if (this._menu === menu) {\n return;\n }\n this._menu = menu;\n this._menuCloseSubscription.unsubscribe();\n }\n get menu(): MenuComponent {\n return this._menu;\n }\n\n /** @hidden */\n private _menu: MenuComponent;\n /** @hidden */\n private _overlayRef: OverlayRef | null;\n /** @hidden */\n private _portal: TemplatePortal;\n /** @hidden */\n private _isMenuOpen = false;\n /** @hidden */\n private _outsideClickSubscription: Subscription = Subscription.EMPTY;\n /** @hidden */\n private _menuCloseSubscription: Subscription = Subscription.EMPTY;\n /** @hidden */\n private _parentMenuCloseSubscription: Subscription = Subscription.EMPTY;\n /** @hidden */\n private _menuItemHoverChangeSubscription: Subscription = Subscription.EMPTY;\n\n /** @hidden */\n constructor(\n private _element: ElementRef<HTMLElement>,\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef,\n @Optional() @Self() private _menuItem: MenuItemComponent,\n @Optional() private _parentMenu: MenuComponent\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._isMenuItem()) {\n // mark menu item as trigger\n this._menuItem.isTrigger = true;\n\n // subscribe to changes of menu item hover state\n this._menuItemHoverChangeSubscription = this._parentMenu._menuItemHoverChange().subscribe((item) => {\n if (item === this._menuItem) {\n if (!this.isMenuOpen) {\n this._menuItem.isSelected = true;\n this.openMenu();\n }\n } else {\n this._menuItem.isSelected = false;\n this.closeMenu();\n }\n });\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._outsideClickSubscription.unsubscribe();\n this._menuCloseSubscription.unsubscribe();\n this._parentMenuCloseSubscription.unsubscribe();\n this._menuItemHoverChangeSubscription.unsubscribe();\n }\n\n /** Flag to determine if associated menu is open. */\n get isMenuOpen(): boolean {\n return this._isMenuOpen;\n }\n\n /**\n * @hidden\n * Handle click on trigger element.\n */\n @HostListener('click', ['$event'])\n _onTriggerClick(event: MouseEvent): void {\n // Need to interupt default menu behavior of closing the menu\n if (this._isMenuItem()) {\n event.preventDefault();\n event.stopPropagation();\n }\n // filter out clicks initiated by keyboard enter.\n // For IE 11, MouseEvent fires a MSPointerEvent object instead of MouseEvent.\n if (event.detail > 0 || (event instanceof PointerEvent && event.detail === 0)) {\n this.toggleMenu();\n }\n }\n\n /**\n * @hidden\n * Handled keypress which focus is on trigger element.\n */\n @HostListener('keydown', ['$event'])\n _onTriggerKeydown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\n if (KeyUtil.isKeyCode(event, [SPACE])) {\n event.preventDefault();\n }\n\n // Need to interupt default menu item behavior of closing the menu\n if (this._isMenuItem()) {\n event.preventDefault();\n event.stopPropagation();\n }\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n } else if (KeyUtil.isKeyCode(event, [RIGHT_ARROW])) {\n if (this._menu._cascadesRight() && this._menu.openByArrowKeys) {\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n }\n } else if (KeyUtil.isKeyCode(event, [LEFT_ARROW])) {\n if (this._menu._cascadesLeft() && this._menu.openByArrowKeys) {\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n }\n }\n }\n\n /**\n * @hidden\n * Toggle display of associated menu.\n */\n toggleMenu(): void {\n /**\n * Need to add delay here to ensure that any \"closeMenu\" operation which\n * has been invoked within an \"outsideClickSubscription\" gets resolved\n * before \"openMenu\" is called. This can happen when there are multiple\n * triggers for the same menu.\n */\n setTimeout(() => {\n this._isMenuOpen ? this._destroyMenu() : this.openMenu();\n }, 0);\n }\n\n /**\n * @hidden\n * Open associated menu.\n */\n openMenu(): void {\n // create overlay\n const overlayConfig = this._getOverlayConfig();\n this._overlayRef = this._overlay.create(overlayConfig);\n\n // get portal and attach to overlay\n this._portal = new TemplatePortal(this._menu.templateRef, this._viewContainerRef);\n this._overlayRef.attach(this._portal);\n\n // add subscription to capture clicks outside menu\n if (this._outsideClickSubscription) {\n this._outsideClickSubscription.unsubscribe();\n }\n this._outsideClickSubscription = fromEvent<MouseEvent>(document, 'click')\n .pipe(\n filter((event) => {\n const target = event.target as HTMLElement;\n return (\n !this._element.nativeElement.contains(target) &&\n !!this._overlayRef &&\n !this._overlayRef.overlayElement.contains(target) &&\n this.isMenuOpen\n );\n }),\n take(1)\n )\n .subscribe(() => {\n this.closeMenu();\n });\n\n // add subscription to menu 'close' event\n if (this._menuCloseSubscription) {\n this._menuCloseSubscription.unsubscribe();\n }\n this._menuCloseSubscription = this._menu.close.subscribe((method: MenuCloseMethod) => {\n this._destroyMenu();\n // Need to close parent menu if closing of menu was done by terminating action\n if (this._parentMenu && (method === 'keyboard' || method === 'mouse')) {\n this._parentMenu.closeMenu(method);\n }\n });\n\n // add subscription to parent menu 'close' event\n if (this._parentMenu) {\n if (this._parentMenuCloseSubscription) {\n this._parentMenuCloseSubscription.unsubscribe();\n }\n this._parentMenuCloseSubscription = this._parentMenu.close.subscribe(() => {\n this.closeMenu();\n });\n }\n\n // set focus to menu\n this._menu.focusOnFirstItem();\n\n this._isMenuOpen = true;\n }\n\n /**\n * @hidden\n * Close associated menu.\n */\n closeMenu(): void {\n this._menu.closeMenu();\n }\n\n /**\n * @hidden\n * destroy associated menu.\n */\n private _destroyMenu(): void {\n if (this._menuItem) {\n this._menuItem.isSelected = false;\n }\n if (!this._overlayRef || !this._isMenuOpen) {\n return;\n }\n if (this._menuItem) {\n this._menuItem.focus();\n } else {\n this._element.nativeElement.focus();\n // TODO: remove with fdp-menu-button deprecation\n if (this._element.nativeElement.tagName.toLowerCase() === 'fdp-menu-button') {\n (this._element.nativeElement.firstChild as HTMLElement).focus();\n }\n }\n this._overlayRef.detach();\n this._isMenuOpen = false;\n }\n\n /** @hidden */\n private _getOverlayConfig(): OverlayConfig {\n const positions = this._getPositions();\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._element)\n .withLockedPosition()\n .withPositions(positions);\n\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n\n const overlayConfig = new OverlayConfig({\n positionStrategy,\n scrollStrategy,\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n return overlayConfig;\n }\n\n /** @hidden */\n private _getPositions(): ConnectedPosition[] {\n let positions: ConnectedPosition[] = [];\n const offsetYPosition = 0;\n const offsetXPosition = 0;\n const subMenuXPadding = 4; // horizontal padding of 0.25rem(4px) is needed for sub-menu\n const subMenuYPadding = 4; // vertical padding of 0.25rem(4px) is needed for sub-menu\n\n if (this._isMenuItem()) {\n if (this._menu._cascadesLeft()) {\n positions = [\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: subMenuXPadding,\n offsetY: subMenuYPadding\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: subMenuXPadding,\n offsetY: -subMenuYPadding\n }\n ];\n } else {\n positions = [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: -subMenuXPadding,\n offsetY: subMenuYPadding\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: -subMenuXPadding,\n offsetY: -subMenuYPadding\n }\n ];\n }\n } else {\n if (this._menu._cascadesLeft()) {\n positions = [\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offsetYPosition,\n offsetX: offsetXPosition\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offsetYPosition,\n offsetX: offsetXPosition\n }\n ];\n } else {\n positions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offsetYPosition,\n offsetX: -offsetXPosition\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offsetYPosition,\n offsetX: -offsetXPosition\n }\n ];\n }\n }\n\n return positions;\n }\n\n /** @hidden */\n private _isMenuItem(): boolean {\n return !!(this._parentMenu && this._menuItem);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { PipeModule } from '@fundamental-ngx/cdk/utils';\n\nimport { MenuComponent } from './menu.component';\nimport { MenuItemComponent } from './menu-item.component';\nimport { MenuTriggerDirective } from './menu-trigger.directive';\nimport { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n BidiModule,\n ScrollingModule,\n PipeModule,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule\n ],\n declarations: [MenuComponent, MenuItemComponent, MenuTriggerDirective],\n exports: [\n MenuComponent,\n MenuItemComponent,\n MenuTriggerDirective,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule\n ]\n})\nexport class PlatformMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i4","i2.MenuItemComponent","i3.MenuComponent"],"mappings":"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"}