@fundamental-ngx/core 0.55.2-rc.0 → 0.55.2-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-table.mjs","sources":["../../../../libs/core/table/directives/table-body.directive.ts","../../../../libs/core/table/directives/table-cell.directive.ts","../../../../libs/core/table/directives/table-header.directive.ts","../../../../libs/core/table/directives/table-container.directive.ts","../../../../libs/core/table/directives/table-fixed.directive.ts","../../../../libs/core/table/directives/table-footer.directive.ts","../../../../libs/core/table/directives/table-icon.directive.ts","../../../../libs/core/table/directives/table-inner.directive.ts","../../../../libs/core/table/directives/table-popover.directive.ts","../../../../libs/core/table/directives/table-responsive-wrapper.directive.ts","../../../../libs/core/table/table.service.ts","../../../../libs/core/table/directives/table-row.directive.ts","../../../../libs/core/table/directives/table-status-indicator.directive.ts","../../../../libs/core/table/directives/table-text.directive.ts","../../../../libs/core/table/table-wrapper.component.ts","../../../../libs/core/table/table.component.ts","../../../../libs/core/table/table.module.ts","../../../../libs/core/table/fundamental-ngx-core-table.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableBody], [fd-table-body]',\n standalone: true\n})\nexport class TableBodyDirective {\n /** @hidden */\n @HostBinding('class.fd-table__body')\n fdTableBodyClass = true;\n\n /** Whether to show the table body's horizontal borders */\n @HostBinding('class.fd-table__body--no-horizontal-borders')\n @Input()\n noBorderX = false;\n\n /** Whether to show the table body's vertical borders */\n @HostBinding('class.fd-table__body--no-vertical-borders')\n @Input()\n noBorderY = false;\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n HostBinding,\n HostListener,\n Input,\n QueryList,\n booleanAttribute\n} from '@angular/core';\nimport { FDK_FOCUSABLE_ITEM_DIRECTIVE, FocusableItemDirective } from '@fundamental-ngx/cdk/utils';\nimport { CheckboxComponent, FD_CHECKBOX_COMPONENT } from '@fundamental-ngx/core/checkbox';\n\n@Directive({\n selector: '[fdTableCell], [fd-table-cell]',\n providers: [\n {\n provide: FDK_FOCUSABLE_ITEM_DIRECTIVE,\n useExisting: TableCellDirective\n }\n ],\n standalone: true\n})\nexport class TableCellDirective extends FocusableItemDirective implements AfterContentInit {\n /** Whether to show the table cell's horizontal borders */\n @HostBinding('class.fd-table__cell--no-horizontal-border')\n @Input()\n noBorderX = false;\n\n /** Whether to show the table cell's vertical borders */\n @HostBinding('class.fd-table__cell--no-vertical-border')\n @Input()\n noBorderY = false;\n\n /** Whether the table cell is activable */\n @HostBinding('class.fd-table__cell--activable')\n @Input()\n activable = false;\n\n /** @hidden */\n @HostBinding('class.fd-table__cell--focusable')\n @Input({ transform: booleanAttribute })\n set focusable(value: boolean) {\n this.fdkFocusableItem = value;\n }\n get focusable(): boolean {\n return this.fdkFocusableItem;\n }\n\n /** Whether the table cell is hoverable */\n @HostBinding('class.fd-table__cell--hoverable')\n @Input()\n hoverable = false;\n\n /** Whether the table cell's width should fit to content */\n @HostBinding('class.fd-table__cell--fit-content')\n @Input()\n fitContent = false;\n\n /** Whether the table cell shouldn't have padding on sides */\n @HostBinding('class.fd-table__cell--no-padding')\n @Input()\n noPadding = false;\n\n /** Whether the table cell indicates that there is no data */\n @HostBinding('class.fd-table__cell--no-data')\n @Input()\n noData = false;\n\n /** Whether the table cell inside table header should be non-interactive */\n @HostBinding('class.fd-table__cell--non-interactive')\n @Input()\n nonInteractive = false;\n\n /** Key of a cell element, it's used to identify this cell with certain column */\n @Input()\n key: string;\n\n /** @hidden */\n @ContentChildren(FD_CHECKBOX_COMPONENT)\n _checkboxes: QueryList<CheckboxComponent>;\n\n /** @hidden */\n @HostBinding('class.fd-table__cell')\n _fdTableCellClass = true;\n\n /** @hidden */\n private _parentPreviousTabIndex: number | undefined;\n\n /** @hidden */\n constructor() {\n super();\n this.fdkFocusableItem = false;\n }\n\n /** @hidden */\n @HostListener('focusin')\n private _focusIn(): void {\n const parentEl = this.elementRef.nativeElement.parentElement;\n this._parentPreviousTabIndex = parentEl?.tabIndex;\n parentEl?.removeAttribute('tabindex');\n }\n\n /** @hidden */\n @HostListener('focusout')\n private _focusOut(): void {\n const parentEl = this.elementRef.nativeElement.parentElement;\n if (this._parentPreviousTabIndex) {\n parentEl?.setAttribute('tabindex', this._parentPreviousTabIndex.toString());\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n const cell = this.elementRef.nativeElement;\n\n if (this._checkboxes && this._checkboxes.length) {\n cell.classList.add('fd-table__cell--checkbox');\n }\n\n if (this.noData) {\n cell.setAttribute('colspan', '100%');\n }\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableHeader], [fd-table-header]',\n standalone: true\n})\nexport class TableHeaderDirective {\n /** @hidden */\n @HostBinding('class.fd-table__header')\n fdTableHeaderClass = true;\n\n /** Whether or not to show the table header's horizontal borders */\n @HostBinding('class.fd-table__header--no-horizontal-borders')\n @Input()\n noBorderX = false;\n\n /** Whether or not to show the table header's vertical borders */\n @HostBinding('class.fd-table__header--no-vertical-borders')\n @Input()\n noBorderY = false;\n\n /**\n * Whether or not the header cells should be interactive\n * (have hover and active states)\n * default: false\n */\n @HostBinding('class.fd-table__header--non-interactive')\n @Input()\n nonInteractive = false;\n}\n","import {\n ContentChild,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n Renderer2,\n booleanAttribute,\n inject\n} from '@angular/core';\nimport { ResizeObserverService } from '@fundamental-ngx/cdk/utils';\nimport { FD_TOOLBAR } from '@fundamental-ngx/core/toolbar';\nimport { Subscription } from 'rxjs';\nimport { TableHeaderDirective } from './table-header.directive';\n\n@Directive({\n selector: '[fdTableContainer], [fd-table-container]',\n standalone: true\n})\nexport class TableContainerDirective implements OnDestroy {\n /** Whether the scroll is applied on the page and not on the table */\n @Input({ transform: booleanAttribute })\n outerScroll = false;\n\n /** @hidden */\n @ContentChild(FD_TOOLBAR, { read: ElementRef })\n set toolbar(toolbarElRef: ElementRef) {\n if (this.outerScroll && toolbarElRef) {\n const toolbarEl = toolbarElRef.nativeElement;\n\n if (this._resizeSubscription) {\n this._resizeSubscription.unsubscribe();\n }\n\n this._resizeSubscription = this.resizeObserverService.observe(toolbarEl).subscribe(() => {\n this._renderer.setStyle(toolbarEl, 'position', 'sticky');\n this._renderer.setStyle(toolbarEl, 'top', '0');\n\n this._renderer.setStyle(this._tableHeaderEl, 'position', 'sticky');\n this._renderer.setStyle(this._tableHeaderEl, 'top', `${toolbarEl.offsetHeight}px`);\n });\n }\n }\n\n /** @hidden */\n @ContentChild(TableHeaderDirective, { read: ElementRef })\n set tableHeader(tableHeaderEl: ElementRef) {\n if (this.outerScroll) {\n this._tableHeaderEl = tableHeaderEl.nativeElement;\n this._renderer.setStyle(this._tableHeaderEl, 'position', 'sticky');\n this._renderer.setStyle(this._tableHeaderEl, 'top', '0');\n }\n }\n\n /** @hidden */\n readonly resizeObserverService = inject(ResizeObserverService);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n private _tableHeaderEl: HTMLElement;\n\n /** @hidden */\n private _resizeSubscription = new Subscription();\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._resizeSubscription) {\n this._resizeSubscription.unsubscribe();\n }\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTableFixed], [fd-table-fixed]',\n standalone: true\n})\nexport class TableFixedDirective {\n /** @hidden */\n @HostBinding('class.fd-table--fixed')\n fdTableFixedClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTableFooter], [fd-table-footer]',\n standalone: true\n})\nexport class TableFooterDirective {\n /** @hidden */\n @HostBinding('class.fd-table__footer')\n fdTableFooterClass = true;\n}\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, OnInit, inject } from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont, fdBuildIconClass } from '@fundamental-ngx/core/icon';\n\n@Directive({\n selector: '[fdTableIcon], [fd-table-icon]',\n standalone: true\n})\nexport class TableIconDirective implements OnChanges, CssClassBuilder, OnInit {\n /** @hidden */\n @HostBinding('class.fd-table__icon')\n fdTableIconClass = true;\n\n /** The property allows user to pass additional css classes\n */\n @Input()\n class = '';\n\n /** The icon to include in the button. See the icon page for the list of icons.\n * Setter is used to control when css class have to be rebuilded.\n * Default value is set to ''.\n */\n @Input()\n glyph = '';\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /** Whether or no icon is used as navigation */\n @Input()\n navigation = false;\n\n /** @hidden */\n readonly elementRef = inject(ElementRef);\n\n /**\n * @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-table__icon',\n this.glyph ? fdBuildIconClass(this.glyphFont, this.glyph) : '',\n this.navigation ? 'fd-table__icon--navigation' : '',\n this.class\n ];\n }\n\n /** Function runs when component is initialized\n * function should build component css class\n * function should build css style\n */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTableInner], [fd-table-inner]',\n standalone: true\n})\nexport class TableInnerDirective {\n /** @hidden */\n @HostBinding('class.fd-table__inner')\n fdTableInnerClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTablePopover], [fd-table-popover]',\n standalone: true\n})\nexport class TablePopoverDirective {\n /** @hidden */\n @HostBinding('class')\n fdTablePopoverClass = 'fd-table__popover fd-table__popover--custom';\n}\n","import { Directive } from '@angular/core';\n/**\n * The directive that represents a table.\n * A table is a set of tabular data. Line items can support data, images and actions.\n * ```html\n * <div fd-table-responsive-wrapper>\n * <table fd-table>\n * </table>\n * </div>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-table-responsive-wrapper]',\n host: {\n '[style.overflow-x]': '\"auto\"'\n },\n standalone: true\n})\nexport class TableResponsiveWrapperDirective {}\n","import { signal } from '@angular/core';\n\nexport class TableService {\n /** @hidden */\n propagateKeys$ = signal<string[]>([]);\n\n /** @hidden */\n changeKeys(keys: string[]): void {\n if (keys && keys.length > 0) {\n this.propagateKeys$.set([...keys]);\n }\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n effect,\n ElementRef,\n HostBinding,\n inject,\n Input,\n OnInit,\n QueryList\n} from '@angular/core';\nimport { startWith } from 'rxjs/operators';\n\nimport { FDK_FOCUSABLE_LIST_DIRECTIVE, FocusableListDirective } from '@fundamental-ngx/cdk/utils';\nimport { TableService } from '../table.service';\nimport { TableCellDirective } from './table-cell.directive';\n\nexport const HIDDEN_CLASS_NAME = 'fd-table--hidden';\n\n@Directive({\n selector: '[fdTableRow], [fd-table-row]',\n providers: [\n {\n provide: FDK_FOCUSABLE_LIST_DIRECTIVE,\n useExisting: TableRowDirective\n }\n ],\n host: {\n role: 'row'\n },\n standalone: true\n})\nexport class TableRowDirective extends FocusableListDirective implements AfterViewInit, OnInit {\n /** @hidden */\n @ContentChildren(TableCellDirective)\n cells: QueryList<TableCellDirective>;\n\n /** @hidden */\n @HostBinding('class.fd-table__row')\n fdTableRowClass = true;\n\n /** Whether the table row is activable */\n @HostBinding('class.fd-table__row--activable')\n @Input()\n activable = false;\n\n /** Whether the table row is hoverable */\n /** Whether to highlight active row when clicked. */\n @Input()\n highlightActive = false;\n\n /** Whether the table row is hoverable */\n @HostBinding('class.fd-table__row--hoverable')\n @Input()\n hoverable = false;\n\n /** Whether the table row is focusable */\n @HostBinding('class.fd-table__row--focusable')\n @Input({ transform: booleanAttribute })\n set focusable(value: boolean) {\n this._focusable = value;\n\n this.setTabbable(this._focusable);\n }\n get focusable(): boolean {\n return this._focusable;\n }\n\n /** Whether the table row is main row, it's concerned only on pop in mode */\n @HostBinding('class.fd-table__row--main')\n @Input()\n main = false;\n\n /** Whether the table row is secondary row, it's concerned only on pop in mode */\n @HostBinding('class.fd-table__row--secondary')\n @Input()\n secondary = false;\n\n /** Whether the table row is active. */\n @HostBinding('class.is-selected')\n @Input()\n active = false;\n\n /** @hidden */\n elementRef: ElementRef<HTMLTableRowElement> = inject(ElementRef);\n\n /** @hidden */\n private readonly _changeDetRef = inject(ChangeDetectorRef);\n /** @hidden */\n private _tableService = inject(TableService);\n\n /** @hidden */\n constructor() {\n super();\n effect(() => {\n this._resetCells(this._tableService.propagateKeys$());\n });\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.navigationDirection = 'grid';\n this._updateNavigationDirection();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._resetCells(this._tableService.propagateKeys$());\n this._setupCellsSubscription();\n }\n\n /** @hidden */\n private _resetCells(keys: string[]): void {\n if (this.cells && keys && keys.length > 0) {\n this._changeVisibility(keys);\n\n const sortedCells = this.cells.toArray().sort((a, b) => this._sortMethod(a, b, keys));\n\n this.cells.reset(sortedCells);\n\n this._sortNativeElements();\n\n this._changeDetRef.detectChanges();\n }\n }\n\n /** @hidden */\n private _sortMethod(a: TableCellDirective, b: TableCellDirective, keys: string[]): number {\n if (keys.findIndex((_key) => _key === a.key) < keys.findIndex((_key) => _key === b.key)) {\n return -1;\n } else {\n return 1;\n }\n }\n\n /** @hidden */\n private _sortNativeElements(): void {\n this.cells.forEach(\n (cell) => cell.elementRef.nativeElement.parentNode?.appendChild(cell.elementRef.nativeElement)\n );\n }\n\n /** @hidden */\n private _changeVisibility(keys: string[]): void {\n this.cells.forEach((cell) => cell.elementRef.nativeElement.classList.remove(HIDDEN_CLASS_NAME));\n const notFoundElements: TableCellDirective[] = this.cells.filter(\n (cell) => !keys.find((key) => key === cell.key)\n );\n notFoundElements.forEach(this._hideElement);\n }\n\n /** @hidden */\n private _hideElement(element: TableCellDirective): void {\n element.elementRef.nativeElement.classList.add(HIDDEN_CLASS_NAME);\n }\n\n /** @hidden */\n private _setupCellsSubscription(): void {\n this.cells.changes.pipe(startWith(null)).subscribe(() => {\n this.cells.forEach((cell, index) => {\n cell.elementRef.nativeElement.ariaColIndex = index.toString();\n });\n });\n }\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type TableStatuses = 'valid' | 'warning' | 'information' | 'error';\n\n@Directive({\n selector: '[fdTableStatusIndicator], [fd-table-status-indicator]',\n host: {\n class: 'fd-table__cell--status-indicator',\n '[class.fd-table__cell--status-indicator--valid]': 'status === \"valid\"',\n '[class.fd-table__cell--status-indicator--warning]': 'status === \"warning\"',\n '[class.fd-table__cell--status-indicator--information]': 'status === \"information\"',\n '[class.fd-table__cell--status-indicator--error]': 'status === \"error\"'\n },\n standalone: true\n})\nexport class TableStatusIndicatorDirective {\n /** The type of indicator. Options are 'valid', 'warning', 'information' and 'error'. */\n @Input()\n status: Nullable<TableStatuses>;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableText], [fd-table-text]',\n standalone: true\n})\nexport class TableTextDirective {\n /** Whether the text should have shadow (halo) & overflow should be hidden. */\n @HostBinding('class.fd-table__text')\n @Input()\n fdTableTextClass = true;\n\n /** Whether the text should wrap when the text is too long for 1 line */\n @HostBinding('class.fd-table__text--no-wrap')\n @Input()\n noWrap = false;\n\n /** Whether the text should be bolded and marked as a title */\n @HostBinding('class.fd-table__text--title')\n @Input()\n title = false;\n\n /** Maximum width of a text element */\n @HostBinding('style.max-width')\n @Input()\n maxWidth: string;\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ContentDensityObserver,\n ContentDensityObserverTarget,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\n\n/**\n * The component that represents a table wrapper, it will add fd-table class to its first child.\n * A table is a set of tabular data. Line items can support data, images and actions.\n * ```html\n * <table-wrapper>\n * <table></table>\n * </table-wrapper>\n * ```\n */\n@Component({\n selector: 'fd-table-wrapper',\n template: `<ng-content></ng-content>`,\n styleUrl: './table.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [contentDensityObserverProviders()],\n standalone: true\n})\nexport class TableWrapperComponent implements AfterContentInit, OnDestroy {\n /** @hidden */\n private _contentDensitySettings: ContentDensityObserverTarget | undefined;\n\n /** @hidden */\n constructor(\n private elementRef: ElementRef,\n private _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.elementRef.nativeElement && this.elementRef.nativeElement.firstChild) {\n const tableElement = this.elementRef.nativeElement.firstChild;\n tableElement.classList.add('fd-table');\n\n const tableElementRef = new ElementRef<HTMLTableElement>(tableElement);\n this._contentDensitySettings = {\n elementRef: tableElementRef\n };\n this._contentDensityObserver.consume(this._contentDensitySettings);\n\n if (tableElement.children) {\n for (let i = 0; i < tableElement.children.length; i++) {\n if (tableElement.children[i].tagName === 'THEAD') {\n tableElement.children[i].classList.add('fd-table__header');\n } else if (tableElement.children[i].tagName === 'TBODY') {\n tableElement.children[i].classList.add('fd-table__body');\n } else if (tableElement.children[i].tagName === 'TFOOT') {\n tableElement.children[i].classList.add('fd-table__footer');\n }\n }\n }\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (!this._contentDensitySettings) {\n return;\n }\n this._contentDensityObserver.removeConsumer(this._contentDensitySettings);\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n HostBinding,\n Input,\n NgZone,\n QueryList,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FocusableGridDirective } from '@fundamental-ngx/cdk/utils';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { first, startWith } from 'rxjs';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableService } from './table.service';\n\nexport const FdTableContentDensityProviderParams = {\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.CONDENSED, ContentDensityMode.COZY]\n};\n\n/**\n * The component that represents a table.\n * A table is a set of tabular data. Line items can support data, images and actions.\n * ```html\n * <table fd-table></table>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'table[fd-table]',\n exportAs: 'fd-table',\n template: `<ng-content></ng-content>`,\n styleUrl: './table.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TableService, contentDensityObserverProviders(FdTableContentDensityProviderParams)],\n hostDirectives: [FocusableGridDirective],\n standalone: true\n})\nexport class TableComponent implements AfterContentInit, AfterViewInit {\n /** @hidden */\n @HostBinding('class.fd-table')\n fdTableClass = true;\n\n /** Whether or not to show the table's horizontal borders */\n @HostBinding('class.fd-table--no-horizontal-borders')\n @Input()\n noBorderX = false;\n\n /** Whether or not to show the table's vertical borders */\n @HostBinding('class.fd-table--no-vertical-borders')\n @Input()\n noBorderY = false;\n\n /** Whether or not to show the table's outer border */\n @HostBinding('class.fd-table--no-outer-border')\n @Input()\n noOuterBorder = false;\n\n /** Whether or not to show the table's top border */\n @HostBinding('class.fd-table--top-border')\n @Input()\n topBorder = false;\n\n /** Whether or not to display the table in pop in mode, it also require change of markup */\n @HostBinding('class.fd-table--pop-in')\n @Input()\n popIn = false;\n\n /** Whether or not to display the table in responsive mode. */\n @HostBinding('class.fd-table--responsive')\n @Input()\n responsive = false;\n\n /** List of keys that identifies single columns */\n @Input()\n keys: string[];\n\n /** Applies `focusable` to all cells within this table */\n @Input({ transform: booleanAttribute })\n set allCellsFocusable(value: boolean) {\n this._allCellsFocusable = value;\n this._updateCells();\n }\n get allCellsFocusable(): boolean {\n return this._allCellsFocusable;\n }\n\n /** @hidden */\n @ContentChildren(TableCellDirective, { descendants: true })\n readonly _cells: QueryList<TableCellDirective>;\n\n /** @hidden */\n private _allCellsFocusable = false;\n\n /** @hidden */\n constructor(\n private readonly _tableService: TableService,\n private readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _destroyRef: DestroyRef,\n private readonly _ngZone: NgZone\n ) {\n this._contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._cells.changes\n .pipe(startWith(this._cells), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._updateCells());\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._propagateKeys(this.keys);\n }\n\n /** Method that sorts and changes visible state of particular cells */\n reset(keys: string[]): void {\n this._propagateKeys(keys);\n }\n\n /** @hidden */\n private _propagateKeys(keys: string[]): void {\n if (keys) {\n this._tableService.changeKeys([...keys]);\n }\n }\n\n /** @hidden */\n private _updateCells(): void {\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this._cells?.forEach((cell) => (cell.focusable = cell.focusable || this.allCellsFocusable));\n });\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { TableBodyDirective } from './directives/table-body.directive';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableContainerDirective } from './directives/table-container.directive';\nimport { TableFixedDirective } from './directives/table-fixed.directive';\nimport { TableFooterDirective } from './directives/table-footer.directive';\nimport { TableHeaderDirective } from './directives/table-header.directive';\nimport { TableIconDirective } from './directives/table-icon.directive';\nimport { TableInnerDirective } from './directives/table-inner.directive';\nimport { TablePopoverDirective } from './directives/table-popover.directive';\nimport { TableResponsiveWrapperDirective } from './directives/table-responsive-wrapper.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\nimport { TableStatusIndicatorDirective } from './directives/table-status-indicator.directive';\nimport { TableTextDirective } from './directives/table-text.directive';\nimport { TableWrapperComponent } from './table-wrapper.component';\nimport { TableComponent } from './table.component';\nimport { TableService } from './table.service';\n\nconst components = [\n TableComponent,\n TableResponsiveWrapperDirective,\n TableWrapperComponent,\n TableHeaderDirective,\n TableFooterDirective,\n TableBodyDirective,\n TableRowDirective,\n TableCellDirective,\n TableStatusIndicatorDirective,\n TablePopoverDirective,\n TableInnerDirective,\n TableTextDirective,\n TableIconDirective,\n TableFixedDirective,\n TableContainerDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components],\n providers: [TableService]\n})\nexport class TableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["startWith","i1.TableService","i2"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-table.mjs","sources":["../../../../libs/core/table/directives/table-body.directive.ts","../../../../libs/core/table/directives/table-cell.directive.ts","../../../../libs/core/table/directives/table-header.directive.ts","../../../../libs/core/table/directives/table-container.directive.ts","../../../../libs/core/table/directives/table-fixed.directive.ts","../../../../libs/core/table/directives/table-footer.directive.ts","../../../../libs/core/table/directives/table-icon.directive.ts","../../../../libs/core/table/directives/table-inner.directive.ts","../../../../libs/core/table/directives/table-popover.directive.ts","../../../../libs/core/table/directives/table-responsive-wrapper.directive.ts","../../../../libs/core/table/table.service.ts","../../../../libs/core/table/directives/table-row.directive.ts","../../../../libs/core/table/directives/table-status-indicator.directive.ts","../../../../libs/core/table/directives/table-text.directive.ts","../../../../libs/core/table/table-wrapper.component.ts","../../../../libs/core/table/table.component.ts","../../../../libs/core/table/table.module.ts","../../../../libs/core/table/fundamental-ngx-core-table.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableBody], [fd-table-body]',\n standalone: true\n})\nexport class TableBodyDirective {\n /** @hidden */\n @HostBinding('class.fd-table__body')\n fdTableBodyClass = true;\n\n /** Whether to show the table body's horizontal borders */\n @HostBinding('class.fd-table__body--no-horizontal-borders')\n @Input()\n noBorderX = false;\n\n /** Whether to show the table body's vertical borders */\n @HostBinding('class.fd-table__body--no-vertical-borders')\n @Input()\n noBorderY = false;\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n HostBinding,\n HostListener,\n Input,\n QueryList,\n booleanAttribute\n} from '@angular/core';\nimport { FDK_FOCUSABLE_ITEM_DIRECTIVE, FocusableItemDirective } from '@fundamental-ngx/cdk/utils';\nimport { CheckboxComponent, FD_CHECKBOX_COMPONENT } from '@fundamental-ngx/core/checkbox';\n\n@Directive({\n selector: '[fdTableCell], [fd-table-cell]',\n providers: [\n {\n provide: FDK_FOCUSABLE_ITEM_DIRECTIVE,\n useExisting: TableCellDirective\n }\n ],\n standalone: true\n})\nexport class TableCellDirective extends FocusableItemDirective implements AfterContentInit {\n /** Whether to show the table cell's horizontal borders */\n @HostBinding('class.fd-table__cell--no-horizontal-border')\n @Input()\n noBorderX = false;\n\n /** Whether to show the table cell's vertical borders */\n @HostBinding('class.fd-table__cell--no-vertical-border')\n @Input()\n noBorderY = false;\n\n /** Whether the table cell is activable */\n @HostBinding('class.fd-table__cell--activable')\n @Input()\n activable = false;\n\n /** @hidden */\n @HostBinding('class.fd-table__cell--focusable')\n @Input({ transform: booleanAttribute })\n set focusable(value: boolean) {\n this.fdkFocusableItem = value;\n }\n get focusable(): boolean {\n return this.fdkFocusableItem;\n }\n\n /** Whether the table cell is hoverable */\n @HostBinding('class.fd-table__cell--hoverable')\n @Input()\n hoverable = false;\n\n /** Whether the table cell's width should fit to content */\n @HostBinding('class.fd-table__cell--fit-content')\n @Input()\n fitContent = false;\n\n /** Whether the table cell shouldn't have padding on sides */\n @HostBinding('class.fd-table__cell--no-padding')\n @Input()\n noPadding = false;\n\n /** Whether the table cell indicates that there is no data */\n @HostBinding('class.fd-table__cell--no-data')\n @Input()\n noData = false;\n\n /** Whether the table cell inside table header should be non-interactive */\n @HostBinding('class.fd-table__cell--non-interactive')\n @Input()\n nonInteractive = false;\n\n /** Key of a cell element, it's used to identify this cell with certain column */\n @Input()\n key: string;\n\n /** @hidden */\n @ContentChildren(FD_CHECKBOX_COMPONENT)\n _checkboxes: QueryList<CheckboxComponent>;\n\n /** @hidden */\n @HostBinding('class.fd-table__cell')\n _fdTableCellClass = true;\n\n /** @hidden */\n private _parentPreviousTabIndex: number | undefined;\n\n /** @hidden */\n constructor() {\n super();\n this.fdkFocusableItem = false;\n }\n\n /** @hidden */\n @HostListener('focusin')\n private _focusIn(): void {\n const parentEl = this.elementRef.nativeElement.parentElement;\n this._parentPreviousTabIndex = parentEl?.tabIndex;\n parentEl?.removeAttribute('tabindex');\n }\n\n /** @hidden */\n @HostListener('focusout')\n private _focusOut(): void {\n const parentEl = this.elementRef.nativeElement.parentElement;\n if (this._parentPreviousTabIndex) {\n parentEl?.setAttribute('tabindex', this._parentPreviousTabIndex.toString());\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n const cell = this.elementRef.nativeElement;\n\n if (this._checkboxes && this._checkboxes.length) {\n cell.classList.add('fd-table__cell--checkbox');\n }\n\n if (this.noData) {\n cell.setAttribute('colspan', '100%');\n }\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableHeader], [fd-table-header]',\n standalone: true\n})\nexport class TableHeaderDirective {\n /** @hidden */\n @HostBinding('class.fd-table__header')\n fdTableHeaderClass = true;\n\n /** Whether or not to show the table header's horizontal borders */\n @HostBinding('class.fd-table__header--no-horizontal-borders')\n @Input()\n noBorderX = false;\n\n /** Whether or not to show the table header's vertical borders */\n @HostBinding('class.fd-table__header--no-vertical-borders')\n @Input()\n noBorderY = false;\n\n /**\n * Whether or not the header cells should be interactive\n * (have hover and active states)\n * default: false\n */\n @HostBinding('class.fd-table__header--non-interactive')\n @Input()\n nonInteractive = false;\n}\n","import {\n ContentChild,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n Renderer2,\n booleanAttribute,\n inject\n} from '@angular/core';\nimport { ResizeObserverService } from '@fundamental-ngx/cdk/utils';\nimport { FD_TOOLBAR } from '@fundamental-ngx/core/toolbar';\nimport { Subscription } from 'rxjs';\nimport { TableHeaderDirective } from './table-header.directive';\n\n@Directive({\n selector: '[fdTableContainer], [fd-table-container]',\n standalone: true\n})\nexport class TableContainerDirective implements OnDestroy {\n /** Whether the scroll is applied on the page and not on the table */\n @Input({ transform: booleanAttribute })\n outerScroll = false;\n\n /** @hidden */\n @ContentChild(FD_TOOLBAR, { read: ElementRef })\n set toolbar(toolbarElRef: ElementRef) {\n if (this.outerScroll && toolbarElRef) {\n const toolbarEl = toolbarElRef.nativeElement;\n\n if (this._resizeSubscription) {\n this._resizeSubscription.unsubscribe();\n }\n\n this._resizeSubscription = this.resizeObserverService.observe(toolbarEl).subscribe(() => {\n this._renderer.setStyle(toolbarEl, 'position', 'sticky');\n this._renderer.setStyle(toolbarEl, 'top', '0');\n\n this._renderer.setStyle(this._tableHeaderEl, 'position', 'sticky');\n this._renderer.setStyle(this._tableHeaderEl, 'top', `${toolbarEl.offsetHeight}px`);\n });\n }\n }\n\n /** @hidden */\n @ContentChild(TableHeaderDirective, { read: ElementRef })\n set tableHeader(tableHeaderEl: ElementRef) {\n if (this.outerScroll) {\n this._tableHeaderEl = tableHeaderEl.nativeElement;\n this._renderer.setStyle(this._tableHeaderEl, 'position', 'sticky');\n this._renderer.setStyle(this._tableHeaderEl, 'top', '0');\n }\n }\n\n /** @hidden */\n readonly resizeObserverService = inject(ResizeObserverService);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n private _tableHeaderEl: HTMLElement;\n\n /** @hidden */\n private _resizeSubscription = new Subscription();\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._resizeSubscription) {\n this._resizeSubscription.unsubscribe();\n }\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTableFixed], [fd-table-fixed]',\n standalone: true\n})\nexport class TableFixedDirective {\n /** @hidden */\n @HostBinding('class.fd-table--fixed')\n fdTableFixedClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTableFooter], [fd-table-footer]',\n standalone: true\n})\nexport class TableFooterDirective {\n /** @hidden */\n @HostBinding('class.fd-table__footer')\n fdTableFooterClass = true;\n}\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, OnInit, inject } from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont, fdBuildIconClass } from '@fundamental-ngx/core/icon';\n\n@Directive({\n selector: '[fdTableIcon], [fd-table-icon]',\n standalone: true\n})\nexport class TableIconDirective implements OnChanges, CssClassBuilder, OnInit {\n /** @hidden */\n @HostBinding('class.fd-table__icon')\n fdTableIconClass = true;\n\n /** The property allows user to pass additional css classes\n */\n @Input()\n class = '';\n\n /** The icon to include in the button. See the icon page for the list of icons.\n * Setter is used to control when css class have to be rebuilded.\n * Default value is set to ''.\n */\n @Input()\n glyph = '';\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /** Whether or no icon is used as navigation */\n @Input()\n navigation = false;\n\n /** @hidden */\n readonly elementRef = inject(ElementRef);\n\n /**\n * @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-table__icon',\n this.glyph ? fdBuildIconClass(this.glyphFont, this.glyph) : '',\n this.navigation ? 'fd-table__icon--navigation' : '',\n this.class\n ];\n }\n\n /** Function runs when component is initialized\n * function should build component css class\n * function should build css style\n */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTableInner], [fd-table-inner]',\n standalone: true\n})\nexport class TableInnerDirective {\n /** @hidden */\n @HostBinding('class.fd-table__inner')\n fdTableInnerClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTablePopover], [fd-table-popover]',\n standalone: true\n})\nexport class TablePopoverDirective {\n /** @hidden */\n @HostBinding('class')\n fdTablePopoverClass = 'fd-table__popover fd-table__popover--custom';\n}\n","import { Directive } from '@angular/core';\n/**\n * The directive that represents a table.\n * A table is a set of tabular data. Line items can support data, images and actions.\n * ```html\n * <div fd-table-responsive-wrapper>\n * <table fd-table>\n * </table>\n * </div>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-table-responsive-wrapper]',\n host: {\n '[style.overflow-x]': '\"auto\"'\n },\n standalone: true\n})\nexport class TableResponsiveWrapperDirective {}\n","import { signal } from '@angular/core';\n\nexport class TableService {\n /** @hidden */\n propagateKeys$ = signal<string[]>([]);\n\n /** @hidden */\n changeKeys(keys: string[]): void {\n if (keys && keys.length > 0) {\n this.propagateKeys$.set([...keys]);\n }\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n effect,\n ElementRef,\n HostBinding,\n inject,\n Input,\n OnInit,\n QueryList\n} from '@angular/core';\nimport { startWith } from 'rxjs/operators';\n\nimport { FDK_FOCUSABLE_LIST_DIRECTIVE, FocusableListDirective } from '@fundamental-ngx/cdk/utils';\nimport { TableService } from '../table.service';\nimport { TableCellDirective } from './table-cell.directive';\n\nexport const HIDDEN_CLASS_NAME = 'fd-table--hidden';\n\n@Directive({\n selector: '[fdTableRow], [fd-table-row]',\n providers: [\n {\n provide: FDK_FOCUSABLE_LIST_DIRECTIVE,\n useExisting: TableRowDirective\n }\n ],\n host: {\n role: 'row'\n },\n standalone: true\n})\nexport class TableRowDirective extends FocusableListDirective implements AfterViewInit, OnInit {\n /** @hidden */\n @ContentChildren(TableCellDirective)\n cells: QueryList<TableCellDirective>;\n\n /** @hidden */\n @HostBinding('class.fd-table__row')\n fdTableRowClass = true;\n\n /** Whether the table row is activable */\n @HostBinding('class.fd-table__row--activable')\n @Input()\n activable = false;\n\n /** Whether the table row is hoverable */\n /** Whether to highlight active row when clicked. */\n @Input()\n highlightActive = false;\n\n /** Whether the table row is hoverable */\n @HostBinding('class.fd-table__row--hoverable')\n @Input()\n hoverable = false;\n\n /** Whether the table row is focusable */\n @HostBinding('class.fd-table__row--focusable')\n @Input({ transform: booleanAttribute })\n set focusable(value: boolean) {\n this._focusable = value;\n\n this.setTabbable(this._focusable);\n }\n get focusable(): boolean {\n return this._focusable;\n }\n\n /** Whether the table row is main row, it's concerned only on pop in mode */\n @HostBinding('class.fd-table__row--main')\n @Input()\n main = false;\n\n /** Whether the table row is secondary row, it's concerned only on pop in mode */\n @HostBinding('class.fd-table__row--secondary')\n @Input()\n secondary = false;\n\n /** Whether the table row is active. */\n @HostBinding('class.is-selected')\n @Input()\n active = false;\n\n /** @hidden */\n elementRef: ElementRef<HTMLTableRowElement> = inject(ElementRef);\n\n /** @hidden */\n private readonly _changeDetRef = inject(ChangeDetectorRef);\n /** @hidden */\n private _tableService = inject(TableService);\n\n /** @hidden */\n constructor() {\n super();\n effect(() => {\n this._resetCells(this._tableService.propagateKeys$());\n });\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.navigationDirection = 'grid';\n this._updateNavigationDirection();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._resetCells(this._tableService.propagateKeys$());\n this._setupCellsSubscription();\n }\n\n /** @hidden */\n private _resetCells(keys: string[]): void {\n if (this.cells && keys && keys.length > 0) {\n this._changeVisibility(keys);\n\n const sortedCells = this.cells.toArray().sort((a, b) => this._sortMethod(a, b, keys));\n\n this.cells.reset(sortedCells);\n\n this._sortNativeElements();\n\n this._changeDetRef.detectChanges();\n }\n }\n\n /** @hidden */\n private _sortMethod(a: TableCellDirective, b: TableCellDirective, keys: string[]): number {\n if (keys.findIndex((_key) => _key === a.key) < keys.findIndex((_key) => _key === b.key)) {\n return -1;\n } else {\n return 1;\n }\n }\n\n /** @hidden */\n private _sortNativeElements(): void {\n this.cells.forEach((cell) =>\n cell.elementRef.nativeElement.parentNode?.appendChild(cell.elementRef.nativeElement)\n );\n }\n\n /** @hidden */\n private _changeVisibility(keys: string[]): void {\n this.cells.forEach((cell) => cell.elementRef.nativeElement.classList.remove(HIDDEN_CLASS_NAME));\n const notFoundElements: TableCellDirective[] = this.cells.filter(\n (cell) => !keys.find((key) => key === cell.key)\n );\n notFoundElements.forEach(this._hideElement);\n }\n\n /** @hidden */\n private _hideElement(element: TableCellDirective): void {\n element.elementRef.nativeElement.classList.add(HIDDEN_CLASS_NAME);\n }\n\n /** @hidden */\n private _setupCellsSubscription(): void {\n this.cells.changes.pipe(startWith(null)).subscribe(() => {\n this.cells.forEach((cell, index) => {\n cell.elementRef.nativeElement.ariaColIndex = index.toString();\n });\n });\n }\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type TableStatuses = 'valid' | 'warning' | 'information' | 'error';\n\n@Directive({\n selector: '[fdTableStatusIndicator], [fd-table-status-indicator]',\n host: {\n class: 'fd-table__cell--status-indicator',\n '[class.fd-table__cell--status-indicator--valid]': 'status === \"valid\"',\n '[class.fd-table__cell--status-indicator--warning]': 'status === \"warning\"',\n '[class.fd-table__cell--status-indicator--information]': 'status === \"information\"',\n '[class.fd-table__cell--status-indicator--error]': 'status === \"error\"'\n },\n standalone: true\n})\nexport class TableStatusIndicatorDirective {\n /** The type of indicator. Options are 'valid', 'warning', 'information' and 'error'. */\n @Input()\n status: Nullable<TableStatuses>;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableText], [fd-table-text]',\n standalone: true\n})\nexport class TableTextDirective {\n /** Whether the text should have shadow (halo) & overflow should be hidden. */\n @HostBinding('class.fd-table__text')\n @Input()\n fdTableTextClass = true;\n\n /** Whether the text should wrap when the text is too long for 1 line */\n @HostBinding('class.fd-table__text--no-wrap')\n @Input()\n noWrap = false;\n\n /** Whether the text should be bolded and marked as a title */\n @HostBinding('class.fd-table__text--title')\n @Input()\n title = false;\n\n /** Maximum width of a text element */\n @HostBinding('style.max-width')\n @Input()\n maxWidth: string;\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ContentDensityObserver,\n ContentDensityObserverTarget,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\n\n/**\n * The component that represents a table wrapper, it will add fd-table class to its first child.\n * A table is a set of tabular data. Line items can support data, images and actions.\n * ```html\n * <table-wrapper>\n * <table></table>\n * </table-wrapper>\n * ```\n */\n@Component({\n selector: 'fd-table-wrapper',\n template: `<ng-content></ng-content>`,\n styleUrl: './table.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [contentDensityObserverProviders()],\n standalone: true\n})\nexport class TableWrapperComponent implements AfterContentInit, OnDestroy {\n /** @hidden */\n private _contentDensitySettings: ContentDensityObserverTarget | undefined;\n\n /** @hidden */\n constructor(\n private elementRef: ElementRef,\n private _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.elementRef.nativeElement && this.elementRef.nativeElement.firstChild) {\n const tableElement = this.elementRef.nativeElement.firstChild;\n tableElement.classList.add('fd-table');\n\n const tableElementRef = new ElementRef<HTMLTableElement>(tableElement);\n this._contentDensitySettings = {\n elementRef: tableElementRef\n };\n this._contentDensityObserver.consume(this._contentDensitySettings);\n\n if (tableElement.children) {\n for (let i = 0; i < tableElement.children.length; i++) {\n if (tableElement.children[i].tagName === 'THEAD') {\n tableElement.children[i].classList.add('fd-table__header');\n } else if (tableElement.children[i].tagName === 'TBODY') {\n tableElement.children[i].classList.add('fd-table__body');\n } else if (tableElement.children[i].tagName === 'TFOOT') {\n tableElement.children[i].classList.add('fd-table__footer');\n }\n }\n }\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (!this._contentDensitySettings) {\n return;\n }\n this._contentDensityObserver.removeConsumer(this._contentDensitySettings);\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n HostBinding,\n Input,\n NgZone,\n QueryList,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FocusableGridDirective } from '@fundamental-ngx/cdk/utils';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { first, startWith } from 'rxjs';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableService } from './table.service';\n\nexport const FdTableContentDensityProviderParams = {\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.CONDENSED, ContentDensityMode.COZY]\n};\n\n/**\n * The component that represents a table.\n * A table is a set of tabular data. Line items can support data, images and actions.\n * ```html\n * <table fd-table></table>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'table[fd-table]',\n exportAs: 'fd-table',\n template: `<ng-content></ng-content>`,\n styleUrl: './table.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TableService, contentDensityObserverProviders(FdTableContentDensityProviderParams)],\n hostDirectives: [FocusableGridDirective],\n standalone: true\n})\nexport class TableComponent implements AfterContentInit, AfterViewInit {\n /** @hidden */\n @HostBinding('class.fd-table')\n fdTableClass = true;\n\n /** Whether or not to show the table's horizontal borders */\n @HostBinding('class.fd-table--no-horizontal-borders')\n @Input()\n noBorderX = false;\n\n /** Whether or not to show the table's vertical borders */\n @HostBinding('class.fd-table--no-vertical-borders')\n @Input()\n noBorderY = false;\n\n /** Whether or not to show the table's outer border */\n @HostBinding('class.fd-table--no-outer-border')\n @Input()\n noOuterBorder = false;\n\n /** Whether or not to show the table's top border */\n @HostBinding('class.fd-table--top-border')\n @Input()\n topBorder = false;\n\n /** Whether or not to display the table in pop in mode, it also require change of markup */\n @HostBinding('class.fd-table--pop-in')\n @Input()\n popIn = false;\n\n /** Whether or not to display the table in responsive mode. */\n @HostBinding('class.fd-table--responsive')\n @Input()\n responsive = false;\n\n /** List of keys that identifies single columns */\n @Input()\n keys: string[];\n\n /** Applies `focusable` to all cells within this table */\n @Input({ transform: booleanAttribute })\n set allCellsFocusable(value: boolean) {\n this._allCellsFocusable = value;\n this._updateCells();\n }\n get allCellsFocusable(): boolean {\n return this._allCellsFocusable;\n }\n\n /** @hidden */\n @ContentChildren(TableCellDirective, { descendants: true })\n readonly _cells: QueryList<TableCellDirective>;\n\n /** @hidden */\n private _allCellsFocusable = false;\n\n /** @hidden */\n constructor(\n private readonly _tableService: TableService,\n private readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _destroyRef: DestroyRef,\n private readonly _ngZone: NgZone\n ) {\n this._contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._cells.changes\n .pipe(startWith(this._cells), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._updateCells());\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._propagateKeys(this.keys);\n }\n\n /** Method that sorts and changes visible state of particular cells */\n reset(keys: string[]): void {\n this._propagateKeys(keys);\n }\n\n /** @hidden */\n private _propagateKeys(keys: string[]): void {\n if (keys) {\n this._tableService.changeKeys([...keys]);\n }\n }\n\n /** @hidden */\n private _updateCells(): void {\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this._cells?.forEach((cell) => (cell.focusable = cell.focusable || this.allCellsFocusable));\n });\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { TableBodyDirective } from './directives/table-body.directive';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableContainerDirective } from './directives/table-container.directive';\nimport { TableFixedDirective } from './directives/table-fixed.directive';\nimport { TableFooterDirective } from './directives/table-footer.directive';\nimport { TableHeaderDirective } from './directives/table-header.directive';\nimport { TableIconDirective } from './directives/table-icon.directive';\nimport { TableInnerDirective } from './directives/table-inner.directive';\nimport { TablePopoverDirective } from './directives/table-popover.directive';\nimport { TableResponsiveWrapperDirective } from './directives/table-responsive-wrapper.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\nimport { TableStatusIndicatorDirective } from './directives/table-status-indicator.directive';\nimport { TableTextDirective } from './directives/table-text.directive';\nimport { TableWrapperComponent } from './table-wrapper.component';\nimport { TableComponent } from './table.component';\nimport { TableService } from './table.service';\n\nconst components = [\n TableComponent,\n TableResponsiveWrapperDirective,\n TableWrapperComponent,\n TableHeaderDirective,\n TableFooterDirective,\n TableBodyDirective,\n TableRowDirective,\n TableCellDirective,\n TableStatusIndicatorDirective,\n TablePopoverDirective,\n TableInnerDirective,\n TableTextDirective,\n TableIconDirective,\n TableFixedDirective,\n TableContainerDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components],\n providers: [TableService]\n})\nexport class TableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["startWith","i1.TableService","i2"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-toolbar.mjs","sources":["../../../../libs/core/toolbar/abstract-toolbar-item.class.ts","../../../../libs/core/toolbar/deprecated-toolbar-size.directive.ts","../../../../libs/core/toolbar/tokens.ts","../../../../libs/core/toolbar/toolbar-item.directive.ts","../../../../libs/core/toolbar/toolbar-form-label.directive.ts","../../../../libs/core/toolbar/toolbar-label.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button-menu.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button.directive.ts","../../../../libs/core/toolbar/toolbar-separator.component.ts","../../../../libs/core/toolbar/toolbar-spacer.directive.ts","../../../../libs/core/toolbar/toolbar.component.ts","../../../../libs/core/toolbar/toolbar.component.html","../../../../libs/core/toolbar/toolbar.module.ts","../../../../libs/core/toolbar/fundamental-ngx-core-toolbar.ts"],"sourcesContent":["import { OverflowPriority } from '@fundamental-ngx/cdk/utils';\n\nexport abstract class ToolbarItem {\n abstract element: HTMLElement;\n abstract isSpacer: boolean;\n abstract width: number;\n abstract priority: OverflowPriority;\n abstract group: number;\n}\n","import { Directive, forwardRef, Input, isDevMode, OnDestroy } from '@angular/core';\nimport { ModuleDeprecation } from '@fundamental-ngx/cdk/utils';\nimport {\n CONTENT_DENSITY_DIRECTIVE,\n ContentDensityMode,\n LocalContentDensityMode\n} from '@fundamental-ngx/core/content-density';\nimport { BehaviorSubject } from 'rxjs';\n\ntype ToolbarSize = 'cozy' | 'compact' | 'condensed' | null;\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar[size]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedToolbarSizeDirective)\n }\n ],\n standalone: true\n})\nexport class DeprecatedToolbarSizeDirective\n extends BehaviorSubject<LocalContentDensityMode>\n implements OnDestroy, ModuleDeprecation\n{\n /** Size of the toolbar. */\n @Input()\n set size(value: ToolbarSize) {\n switch (value) {\n case 'cozy':\n this.next(ContentDensityMode.COZY);\n break;\n case 'compact':\n this.next(ContentDensityMode.COMPACT);\n break;\n case 'condensed':\n this.next(ContentDensityMode.CONDENSED);\n break;\n default:\n this.next(ContentDensityMode.COMPACT);\n }\n }\n\n /** @hidden */\n readonly message: string;\n\n /** @hidden */\n readonly alternative = {\n name: 'Use [fdContentDensity] directive instead',\n link: ['/core', 'content-density']\n };\n\n /** @hidden */\n constructor() {\n super(ContentDensityMode.COMPACT);\n this.message = `Usage of fd-toolbar[size] is deprecated`;\n if (isDevMode()) {\n console.warn(`${this.message}. Use [fdContentDensity] directive instead.`);\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_TOOLBAR = new InjectionToken('FdToolbarComponent');\n","import { Directive, ElementRef, forwardRef, inject, Input } from '@angular/core';\nimport { OverflowPriority } from '@fundamental-ngx/cdk/utils';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { OverflowPriorityEnum } from './toolbar.component';\n\n@Directive({\n selector: '[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]',\n providers: [{ provide: ToolbarItem, useExisting: forwardRef(() => ToolbarItemDirective) }],\n standalone: true\n})\nexport class ToolbarItemDirective implements ToolbarItem {\n /** The priority of the item. */\n @Input()\n fdOverflowPriority: OverflowPriority = OverflowPriorityEnum.HIGH;\n /** The group number of the item. */\n @Input()\n fdOverflowGroup = 0;\n\n /** @hidden */\n get group(): number {\n return this.fdOverflowGroup;\n }\n\n /** @hidden */\n get priority(): OverflowPriority {\n return this.fdOverflowPriority;\n }\n\n /** @hidden */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** @hidden */\n get isSpacer(): boolean {\n return this.element.classList.contains('fd-toolbar__spacer');\n }\n\n /** @hidden */\n get width(): number {\n if (!this.element.clientWidth) {\n return this.lastWidth;\n }\n this.lastWidth = this.element.clientWidth + 8; // ELEMENT_MARGIN\n return this.lastWidth;\n }\n\n /** @hidden */\n private lastWidth = 0;\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\n}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-form-label]',\n host: {\n class: 'fd-form-label fd-toolbar__overflow-form-label fd-toolbar__overflow-form-label--text'\n },\n standalone: true\n})\nexport class ToolbarFormLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\n\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-label]',\n host: {\n class: 'fd-label fd-toolbar__overflow-label'\n },\n standalone: true\n})\nexport class ToolbarLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButtonMenu], [fd-toolbar-overflow-button-menu]',\n host: {\n class: 'fd-toolbar__overflow-button--menu'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonMenuDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButton], [fd-toolbar-overflow-button]',\n host: {\n class: 'fd-toolbar__overflow-button'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonDirective extends ToolbarItemDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-toolbar-separator',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-toolbar__separator'\n },\n standalone: true\n})\nexport class ToolbarSeparatorComponent {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar-spacer',\n standalone: true\n})\nexport class ToolbarSpacerDirective {\n /** Determines the width of spacer when fixed property is set to true\n * Allowed values: absolute and relative metrics\n * Default value: 0px\n */\n @HostBinding('style.width')\n @Input()\n width = '0px';\n\n /** Property allows user to pass additional class\n */\n @Input()\n class = '';\n\n /** Determines if spacer should take only size taken from width property\n * Default value: false\n * Default behaviour: spacer takes remaining space automatically\n */\n @Input()\n fixed = false;\n\n /** @hidden */\n @HostBinding('attr.class')\n get css(): string {\n return `fd-toolbar__spacer ${this.fixed ? 'fd-toolbar__spacer--fixed' : ''} ${this.class}`;\n }\n}\n","import {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n contentChildren,\n DestroyRef,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n Inject,\n Input,\n Optional,\n QueryList,\n signal,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n applyCssClass,\n CssClassBuilder,\n DynamicPortalComponent,\n Nullable,\n OVERFLOW_PRIORITY_SCORE,\n OverflowPriority,\n ResizeObserverService\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { TitleComponent, TitleToken } from '@fundamental-ngx/core/title';\nimport { BehaviorSubject, combineLatest, map, Observable, startWith } from 'rxjs';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { FD_TOOLBAR } from './tokens';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\n\nconst ELEMENT_MARGIN = 8;\nconst OVERFLOW_BTN_COZY = 36;\nconst OVERFLOW_BTN_COMPACT = 32;\nconst MAX_CONTENT_SIZE = 99999999;\n\nexport type ToolbarType = 'solid' | 'transparent' | 'auto' | 'info';\n\nexport const enum OverflowPriorityEnum {\n ALWAYS = 'always',\n NEVER = 'never',\n LOW = 'low',\n HIGH = 'high',\n DISAPPEAR = 'disappear'\n}\n\n@Component({\n selector: 'fd-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT\n }),\n {\n provide: FD_TOOLBAR,\n useExisting: ToolbarComponent\n }\n ],\n imports: [\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n PopoverModule,\n ButtonComponent,\n DynamicPortalComponent,\n TitleComponent\n ]\n})\nexport class ToolbarComponent implements AfterViewInit, AfterViewChecked, CssClassBuilder, AfterContentInit {\n /**\n * The ID of the toolbar title\n * */\n @Input()\n titleId: string;\n\n /** Property allows user to pass additional class\n */\n @Input()\n class: string;\n\n /** Determines if overflow button should be visible\n * Default value: false\n */\n @Input()\n set shouldOverflow(val: boolean) {\n this._shouldOverflow = val;\n this.shouldOverflow$.next(val);\n }\n\n get shouldOverflow(): boolean {\n return this._shouldOverflow;\n }\n\n /** Determines the type of toolbar\n * Available options: 'solid' | 'transparent' | 'auto' | 'info'\n * Default value: 'solid'\n */\n @Input()\n fdType: ToolbarType = 'solid';\n\n /** The title for the toolbar. */\n @Input()\n title: string;\n\n /** Determines if toolbar should has active state (only when fdType == 'info')\n * Default value: false\n */\n @Input()\n active = false;\n\n /** Determines if toolbar should clear border bottom\n * Default value: false\n */\n @Input()\n clearBorder = false;\n\n /** Whether all items should be inside overflow */\n @Input()\n forceOverflow = false;\n\n /** Tabindex of the toolbar element, to be used when fdType=\"info\" */\n @Input()\n tabindex = -1;\n\n /**\n * Heading level of the toolbar title.\n */\n @Input()\n set headingLevel(level: Nullable<HeadingLevel>) {\n if (typeof level === 'number') {\n this._headingLevel = level;\n } else if (typeof level === 'string') {\n this._headingLevel = Number.parseInt(level.replace(/\\D/g, ''), 10);\n }\n }\n\n /** Toolbar Aria-label attribute. */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: string;\n\n /** Toolbar Aria-labelledby attribute. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledBy: string;\n\n /** @hidden */\n @ViewChild('titleElement', { read: ElementRef })\n titleElement: ElementRef<HTMLHeadElement>;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => ToolbarItem))\n toolbarItems: QueryList<ToolbarItem>;\n\n /** @hidden */\n @ContentChild(TitleToken)\n set titleComponent(title: TitleToken | null) {\n this._titleComponent$.next(title);\n }\n\n get titleComponent(): TitleToken | null {\n return this._titleComponent$.value;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n private readonly _role = 'toolbar';\n\n /** @hidden */\n overflowItems$: Observable<ToolbarItem[]>;\n\n /** @hidden */\n overflownItems: ToolbarItem[] = [];\n\n /** @hidden */\n spacerUsed = signal(false);\n\n /** @hidden */\n spacerDirectives = contentChildren(ToolbarSpacerDirective);\n\n /** @hidden */\n separatorDirectives = contentChildren(ToolbarSeparatorComponent);\n\n /** @hidden */\n _headingLevel = 2;\n\n /** HTML Element Reference. */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n private _titleComponent$: BehaviorSubject<TitleToken | null> = new BehaviorSubject<TitleToken | null>(null);\n\n /** @hidden */\n private _refreshOverflow$ = new BehaviorSubject<void>(undefined);\n\n /** @hidden */\n private get _toolbarWidth(): number {\n const _overflow_btn_size = this._contentDensityObserver.isCompact ? OVERFLOW_BTN_COMPACT : OVERFLOW_BTN_COZY;\n return (\n (this.elementRef.nativeElement as HTMLElement).clientWidth -\n (_overflow_btn_size + 4 * ELEMENT_MARGIN + 1 + this.separatorDirectives().length)\n );\n }\n\n /** @hidden */\n private _shouldOverflow = false;\n\n /** @hidden */\n private shouldOverflow$ = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _destroyRef: DestroyRef,\n private resizeObserverService: ResizeObserverService,\n @Optional() @SkipSelf() @Inject(DYNAMIC_PAGE_HEADER_TOKEN) private _dynamicPageHeader?: DynamicPageHeader\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-toolbar',\n `fd-toolbar--${this.fdType}`,\n `${this.active && this.fdType === 'info' ? 'fd-toolbar--active' : ''}`,\n `${this.title || this.titleComponent ? 'fd-toolbar--title' : ''}`,\n `${this.clearBorder ? 'fd-toolbar--clear' : ''}`,\n `${this._dynamicPageHeader ? 'fd-dynamic-page__toolbar' : ''}`\n ];\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._updateSpacerUsed();\n\n this.overflowItems$ = combineLatest([\n this.resizeObserverService.observe(this.elementRef.nativeElement).pipe(map(() => this._toolbarWidth)),\n this.toolbarItems.changes.pipe(\n startWith(this.toolbarItems),\n map((toolbarItems) => toolbarItems.toArray())\n ),\n this._titleComponent$.pipe(\n map((titleComponent): HTMLElement | null => {\n if (!titleComponent) {\n return this.titleElement?.nativeElement;\n }\n return titleComponent.elementRef.nativeElement;\n })\n ),\n this.shouldOverflow$,\n this._refreshOverflow$\n ]).pipe(\n map(([toolbarWidth, toolbarItems, titleElement, shouldOverflow]) => {\n if (shouldOverflow) {\n const _sortedByPriorityAndGroupItems = this._getSortedByPriorityAndGroupItems(toolbarItems);\n const overflowItems: ToolbarItem[] = [];\n _sortedByPriorityAndGroupItems.reduce(\n (_contentWidth, toolbarItem) => {\n const itemWidth = toolbarItem.width + 2;\n const itemPriority = toolbarItem.priority;\n const shouldItemBeRemovedByWidth = itemWidth + _contentWidth > toolbarWidth;\n const shouldAlwaysBeInOverflow =\n itemPriority === OverflowPriorityEnum.ALWAYS || this.forceOverflow;\n const shouldNeverBeInOverflow = itemPriority === OverflowPriorityEnum.NEVER;\n if ((shouldItemBeRemovedByWidth && !shouldNeverBeInOverflow) || shouldAlwaysBeInOverflow) {\n overflowItems.push(toolbarItem);\n return shouldAlwaysBeInOverflow ? _contentWidth : MAX_CONTENT_SIZE;\n } else {\n return _contentWidth + itemWidth;\n }\n },\n titleElement?.clientWidth || 0\n );\n // Hide orphans\n for (const toolbarItem of overflowItems) {\n const groupedCollection = this._getGroupedCollection(toolbarItems);\n const groupedCollectionPriorities = this._getGroupedCollectionPriority(groupedCollection);\n const group = toolbarItem.group;\n const itemPriority = toolbarItem.priority;\n if (group !== 0 && itemPriority !== OverflowPriorityEnum.DISAPPEAR) {\n const itemsFromCurrentGroup =\n this._getElementsFromCurrentGroup(\n group,\n groupedCollection,\n groupedCollectionPriorities\n ) || [];\n itemsFromCurrentGroup.forEach((i) => {\n if (overflowItems.indexOf(i) === -1) {\n overflowItems.push(i);\n }\n });\n }\n }\n return overflowItems.sort((a, b) => this._sortPriorities(a.priority, b.priority));\n }\n return [];\n }),\n takeUntilDestroyed(this._destroyRef)\n );\n this.overflowItems$.subscribe((items) => {\n this.overflownItems = items;\n this._cd.detectChanges();\n });\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterViewChecked(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.titleComponent) {\n this.titleComponent.elementRef?.nativeElement.classList.add('fd-toolbar__title');\n this.buildComponentCssClass();\n }\n }\n\n /** Change detection reference */\n detectChanges(): void {\n this._cd.detectChanges();\n }\n\n /** Method triggering collapsible toolbar */\n updateCollapsibleItems(): void {\n this._refreshOverflow$.next();\n }\n\n /** hidden */\n private _updateSpacerUsed(): void {\n // do not render extra spacer if there is at least one passed by the application\n // and it is not fixed this.spacerUsed.set(this.spacer.length > 0 && this.spacer.some((spacer) => !spacer.fixed));\n this.spacerUsed.set(\n this.spacerDirectives().length > 0 && this.spacerDirectives().some((spacer) => !spacer.fixed)\n );\n }\n\n /** @hidden Get group number with the lowest priority.\n * Uses for detecting a group of elements which would be hidden from the toolbar.\n * */\n private _getLowestPriorityFromGroup(\n itemGroup: number,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): number {\n const priority = groupedCollectionPriority;\n if (!priority || !OVERFLOW_PRIORITY_SCORE.get(priority[itemGroup])) {\n return itemGroup;\n }\n\n const groups = Object.keys(priority);\n\n return groups.reduce((lowestGroup, currentGroup) => {\n const lowestGroupPriority = priority[lowestGroup];\n const currentGroupPriority = priority[currentGroup];\n if (\n OVERFLOW_PRIORITY_SCORE.get(currentGroupPriority)! < OVERFLOW_PRIORITY_SCORE.get(lowestGroupPriority)!\n ) {\n return +currentGroup;\n }\n\n return lowestGroup;\n }, itemGroup as number);\n }\n\n /** @hidden */\n private _getElementsFromCurrentGroup(\n itemGroup: number,\n groupedCollection?: Record<number, ToolbarItem[]>,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): ToolbarItem[] {\n const lowestPriorityFromGroup = this._getLowestPriorityFromGroup(itemGroup, groupedCollectionPriority);\n if (!groupedCollection || !groupedCollectionPriority) {\n return [];\n }\n let itemsToRemove = groupedCollection[lowestPriorityFromGroup];\n\n delete groupedCollection[lowestPriorityFromGroup];\n delete groupedCollectionPriority[lowestPriorityFromGroup];\n\n if (lowestPriorityFromGroup !== itemGroup) {\n itemsToRemove = [...itemsToRemove, ...groupedCollection[itemGroup]];\n delete groupedCollection[itemGroup];\n delete groupedCollectionPriority[itemGroup];\n }\n\n return itemsToRemove;\n }\n\n /** @hidden Get the object with grouped arrays of elements. */\n private _getGroupedCollection(toolbarItems: ToolbarItem[]): Record<number, ToolbarItem[]> {\n return toolbarItems.reduce((acc, item) => {\n const itemPrio = item.priority;\n const itemGroup = item.group;\n if (\n itemPrio === OverflowPriorityEnum.NEVER ||\n itemPrio === OverflowPriorityEnum.ALWAYS ||\n itemGroup === 0\n ) {\n return acc;\n }\n if (!acc[itemGroup]) {\n acc[itemGroup] = [];\n }\n acc[itemGroup].push(item);\n return acc;\n }, {});\n }\n\n /** @hidden Get the object with the highest priority for each group of elements. */\n private _getGroupedCollectionPriority(\n groupedCollection: Record<number, ToolbarItem[]>\n ): Record<number, OverflowPriority> {\n const groups = Object.keys(groupedCollection);\n\n return groups.reduce((acc, itemGroup) => {\n const sortedPriorities = groupedCollection![itemGroup]\n .map((i: ToolbarItem) => i.priority)\n .filter(\n (prio: OverflowPriority) =>\n prio !== OverflowPriorityEnum.ALWAYS && prio !== OverflowPriorityEnum.NEVER\n )\n .sort(this._sortPriorities);\n\n acc[itemGroup] = sortedPriorities[0];\n\n return acc;\n }, {});\n }\n\n /** @hidden Sort priorities of elements/groups. */\n private _sortPriorities(a: OverflowPriority, b: OverflowPriority): number {\n return OVERFLOW_PRIORITY_SCORE.get(b)! - OVERFLOW_PRIORITY_SCORE.get(a)!;\n }\n\n /** @hidden Sort by group and priority and initial position */\n private _getSortedByPriorityAndGroupItems(toolbarItems: ToolbarItem[]): ToolbarItem[] {\n const notSorted = toolbarItems.map((element, index) => ({ element, index }));\n\n const groups = notSorted.reduce((gr, item) => {\n let groupId = item.element.group;\n const itemPrio = item.element.priority;\n if (itemPrio === OverflowPriorityEnum.NEVER || itemPrio === OverflowPriorityEnum.ALWAYS) {\n groupId = 0;\n }\n\n if (!gr[groupId]) {\n gr[groupId] = [];\n }\n\n gr[groupId].push(item);\n\n return gr;\n }, {});\n\n const groupIds = Object.keys(groups)\n .map((g) => parseInt(g, 10))\n .filter((g) => g !== 0);\n\n return groupIds\n .map((g) => {\n let minIndex = Number.MAX_SAFE_INTEGER;\n let maxPriority = 0;\n for (const item of groups[g]) {\n minIndex = Math.min(minIndex, item.index);\n maxPriority = Math.max(\n maxPriority,\n OVERFLOW_PRIORITY_SCORE.get(item.element.priority) ?? -Infinity\n );\n }\n\n return { group: groups[g].map(({ element }) => element), minIndex, maxPriority };\n })\n .concat(\n !groups[0]\n ? []\n : groups[0].map((item) => ({\n group: [item.element],\n maxPriority: OVERFLOW_PRIORITY_SCORE.get(item.element.priority),\n minIndex: item.index\n }))\n )\n .sort((a, b) => b.maxPriority - a.maxPriority || a.minIndex - b.minIndex)\n .reduce((arr, i) => arr.concat(i.group), []);\n }\n}\n","@if (title) {\n <span [attr.aria-level]=\"_headingLevel\" fd-title class=\"fd-toolbar__title\" [id]=\"titleId\" #titleElement>{{\n title\n }}</span>\n}\n<ng-content></ng-content>\n@if (overflownItems.length > 0) {\n @if (!spacerUsed()) {\n <fd-toolbar-spacer></fd-toolbar-spacer>\n }\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\">\n <fd-popover-control>\n <button\n fd-button\n title=\"More\"\n aria-label=\"More\"\n aria-haspopup=\"true\"\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n @for (overflowedItem of overflownItems; track overflowedItem) {\n <fdk-dynamic-portal\n [domElement]=\"overflowedItem.element\"\n [style.display]=\"overflowedItem.priority === 'disappear' ? 'none' : 'flex'\"\n [style.flex-direction]=\"overflowedItem.priority === 'disappear' ? undefined : 'column'\"\n >\n </fdk-dynamic-portal>\n }\n </div>\n </fd-popover-body>\n </fd-popover>\n}\n","import { NgModule } from '@angular/core';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { DeprecatedToolbarSizeDirective } from './deprecated-toolbar-size.directive';\nimport { ToolbarFormLabelDirective } from './toolbar-form-label.directive';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\nimport { ToolbarLabelDirective } from './toolbar-label.directive';\nimport { ToolbarOverflowButtonMenuDirective } from './toolbar-overflow-button-menu.directive';\nimport { ToolbarOverflowButtonDirective } from './toolbar-overflow-button.directive';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\nimport { ToolbarComponent } from './toolbar.component';\n\nconst components = [\n ToolbarComponent,\n ToolbarItemDirective,\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n ToolbarFormLabelDirective,\n ToolbarLabelDirective,\n ToolbarOverflowButtonDirective,\n ToolbarOverflowButtonMenuDirective,\n DeprecatedToolbarSizeDirective\n];\n\n@NgModule({\n imports: [ContentDensityModule, ...components],\n exports: [...components, ContentDensityModule]\n})\nexport class ToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-toolbar.mjs","sources":["../../../../libs/core/toolbar/abstract-toolbar-item.class.ts","../../../../libs/core/toolbar/deprecated-toolbar-size.directive.ts","../../../../libs/core/toolbar/tokens.ts","../../../../libs/core/toolbar/toolbar-item.directive.ts","../../../../libs/core/toolbar/toolbar-form-label.directive.ts","../../../../libs/core/toolbar/toolbar-label.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button-menu.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button.directive.ts","../../../../libs/core/toolbar/toolbar-separator.component.ts","../../../../libs/core/toolbar/toolbar-spacer.directive.ts","../../../../libs/core/toolbar/toolbar.component.ts","../../../../libs/core/toolbar/toolbar.component.html","../../../../libs/core/toolbar/toolbar.module.ts","../../../../libs/core/toolbar/fundamental-ngx-core-toolbar.ts"],"sourcesContent":["import { OverflowPriority } from '@fundamental-ngx/cdk/utils';\n\nexport abstract class ToolbarItem {\n abstract element: HTMLElement;\n abstract isSpacer: boolean;\n abstract width: number;\n abstract priority: OverflowPriority;\n abstract group: number;\n}\n","import { Directive, forwardRef, Input, isDevMode, OnDestroy } from '@angular/core';\nimport { ModuleDeprecation } from '@fundamental-ngx/cdk/utils';\nimport {\n CONTENT_DENSITY_DIRECTIVE,\n ContentDensityMode,\n LocalContentDensityMode\n} from '@fundamental-ngx/core/content-density';\nimport { BehaviorSubject } from 'rxjs';\n\ntype ToolbarSize = 'cozy' | 'compact' | 'condensed' | null;\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar[size]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedToolbarSizeDirective)\n }\n ],\n standalone: true\n})\nexport class DeprecatedToolbarSizeDirective\n extends BehaviorSubject<LocalContentDensityMode>\n implements OnDestroy, ModuleDeprecation\n{\n /** Size of the toolbar. */\n @Input()\n set size(value: ToolbarSize) {\n switch (value) {\n case 'cozy':\n this.next(ContentDensityMode.COZY);\n break;\n case 'compact':\n this.next(ContentDensityMode.COMPACT);\n break;\n case 'condensed':\n this.next(ContentDensityMode.CONDENSED);\n break;\n default:\n this.next(ContentDensityMode.COMPACT);\n }\n }\n\n /** @hidden */\n readonly message: string;\n\n /** @hidden */\n readonly alternative = {\n name: 'Use [fdContentDensity] directive instead',\n link: ['/core', 'content-density']\n };\n\n /** @hidden */\n constructor() {\n super(ContentDensityMode.COMPACT);\n this.message = `Usage of fd-toolbar[size] is deprecated`;\n if (isDevMode()) {\n console.warn(`${this.message}. Use [fdContentDensity] directive instead.`);\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_TOOLBAR = new InjectionToken('FdToolbarComponent');\n","import { Directive, ElementRef, forwardRef, inject, Input } from '@angular/core';\nimport { OverflowPriority } from '@fundamental-ngx/cdk/utils';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { OverflowPriorityEnum } from './toolbar.component';\n\n@Directive({\n selector: '[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]',\n providers: [{ provide: ToolbarItem, useExisting: forwardRef(() => ToolbarItemDirective) }],\n standalone: true\n})\nexport class ToolbarItemDirective implements ToolbarItem {\n /** The priority of the item. */\n @Input()\n fdOverflowPriority: OverflowPriority = OverflowPriorityEnum.HIGH;\n /** The group number of the item. */\n @Input()\n fdOverflowGroup = 0;\n\n /** @hidden */\n get group(): number {\n return this.fdOverflowGroup;\n }\n\n /** @hidden */\n get priority(): OverflowPriority {\n return this.fdOverflowPriority;\n }\n\n /** @hidden */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** @hidden */\n get isSpacer(): boolean {\n return this.element.classList.contains('fd-toolbar__spacer');\n }\n\n /** @hidden */\n get width(): number {\n if (!this.element.clientWidth) {\n return this.lastWidth;\n }\n this.lastWidth = this.element.clientWidth + 8; // ELEMENT_MARGIN\n return this.lastWidth;\n }\n\n /** @hidden */\n private lastWidth = 0;\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\n}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-form-label]',\n host: {\n class: 'fd-form-label fd-toolbar__overflow-form-label fd-toolbar__overflow-form-label--text'\n },\n standalone: true\n})\nexport class ToolbarFormLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\n\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-label]',\n host: {\n class: 'fd-label fd-toolbar__overflow-label'\n },\n standalone: true\n})\nexport class ToolbarLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButtonMenu], [fd-toolbar-overflow-button-menu]',\n host: {\n class: 'fd-toolbar__overflow-button--menu'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonMenuDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButton], [fd-toolbar-overflow-button]',\n host: {\n class: 'fd-toolbar__overflow-button'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonDirective extends ToolbarItemDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-toolbar-separator',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-toolbar__separator'\n },\n standalone: true\n})\nexport class ToolbarSeparatorComponent {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar-spacer',\n standalone: true\n})\nexport class ToolbarSpacerDirective {\n /** Determines the width of spacer when fixed property is set to true\n * Allowed values: absolute and relative metrics\n * Default value: 0px\n */\n @HostBinding('style.width')\n @Input()\n width = '0px';\n\n /** Property allows user to pass additional class\n */\n @Input()\n class = '';\n\n /** Determines if spacer should take only size taken from width property\n * Default value: false\n * Default behaviour: spacer takes remaining space automatically\n */\n @Input()\n fixed = false;\n\n /** @hidden */\n @HostBinding('attr.class')\n get css(): string {\n return `fd-toolbar__spacer ${this.fixed ? 'fd-toolbar__spacer--fixed' : ''} ${this.class}`;\n }\n}\n","import {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n contentChildren,\n DestroyRef,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n Inject,\n Input,\n Optional,\n QueryList,\n signal,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n applyCssClass,\n CssClassBuilder,\n DynamicPortalComponent,\n Nullable,\n OVERFLOW_PRIORITY_SCORE,\n OverflowPriority,\n ResizeObserverService\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { TitleComponent, TitleToken } from '@fundamental-ngx/core/title';\nimport { BehaviorSubject, combineLatest, map, Observable, startWith } from 'rxjs';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { FD_TOOLBAR } from './tokens';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\n\nconst ELEMENT_MARGIN = 8;\nconst OVERFLOW_BTN_COZY = 36;\nconst OVERFLOW_BTN_COMPACT = 32;\nconst MAX_CONTENT_SIZE = 99999999;\n\nexport type ToolbarType = 'solid' | 'transparent' | 'auto' | 'info';\n\nexport const enum OverflowPriorityEnum {\n ALWAYS = 'always',\n NEVER = 'never',\n LOW = 'low',\n HIGH = 'high',\n DISAPPEAR = 'disappear'\n}\n\n@Component({\n selector: 'fd-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT\n }),\n {\n provide: FD_TOOLBAR,\n useExisting: ToolbarComponent\n }\n ],\n imports: [\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n PopoverModule,\n ButtonComponent,\n DynamicPortalComponent,\n TitleComponent\n ]\n})\nexport class ToolbarComponent implements AfterViewInit, AfterViewChecked, CssClassBuilder, AfterContentInit {\n /**\n * The ID of the toolbar title\n * */\n @Input()\n titleId: string;\n\n /** Property allows user to pass additional class\n */\n @Input()\n class: string;\n\n /** Determines if overflow button should be visible\n * Default value: false\n */\n @Input()\n set shouldOverflow(val: boolean) {\n this._shouldOverflow = val;\n this.shouldOverflow$.next(val);\n }\n\n get shouldOverflow(): boolean {\n return this._shouldOverflow;\n }\n\n /** Determines the type of toolbar\n * Available options: 'solid' | 'transparent' | 'auto' | 'info'\n * Default value: 'solid'\n */\n @Input()\n fdType: ToolbarType = 'solid';\n\n /** The title for the toolbar. */\n @Input()\n title: string;\n\n /** Determines if toolbar should has active state (only when fdType == 'info')\n * Default value: false\n */\n @Input()\n active = false;\n\n /** Determines if toolbar should clear border bottom\n * Default value: false\n */\n @Input()\n clearBorder = false;\n\n /** Whether all items should be inside overflow */\n @Input()\n forceOverflow = false;\n\n /** Tabindex of the toolbar element, to be used when fdType=\"info\" */\n @Input()\n tabindex = -1;\n\n /**\n * Heading level of the toolbar title.\n */\n @Input()\n set headingLevel(level: Nullable<HeadingLevel>) {\n if (typeof level === 'number') {\n this._headingLevel = level;\n } else if (typeof level === 'string') {\n this._headingLevel = Number.parseInt(level.replace(/\\D/g, ''), 10);\n }\n }\n\n /** Toolbar Aria-label attribute. */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: string;\n\n /** Toolbar Aria-labelledby attribute. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledBy: string;\n\n /** @hidden */\n @ViewChild('titleElement', { read: ElementRef })\n titleElement: ElementRef<HTMLHeadElement>;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => ToolbarItem))\n toolbarItems: QueryList<ToolbarItem>;\n\n /** @hidden */\n @ContentChild(TitleToken)\n set titleComponent(title: TitleToken | null) {\n this._titleComponent$.next(title);\n }\n\n get titleComponent(): TitleToken | null {\n return this._titleComponent$.value;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n private readonly _role = 'toolbar';\n\n /** @hidden */\n overflowItems$: Observable<ToolbarItem[]>;\n\n /** @hidden */\n overflownItems: ToolbarItem[] = [];\n\n /** @hidden */\n spacerUsed = signal(false);\n\n /** @hidden */\n spacerDirectives = contentChildren(ToolbarSpacerDirective);\n\n /** @hidden */\n separatorDirectives = contentChildren(ToolbarSeparatorComponent);\n\n /** @hidden */\n _headingLevel = 2;\n\n /** HTML Element Reference. */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n private _titleComponent$: BehaviorSubject<TitleToken | null> = new BehaviorSubject<TitleToken | null>(null);\n\n /** @hidden */\n private _refreshOverflow$ = new BehaviorSubject<void>(undefined);\n\n /** @hidden */\n private get _toolbarWidth(): number {\n const _overflow_btn_size = this._contentDensityObserver.isCompact ? OVERFLOW_BTN_COMPACT : OVERFLOW_BTN_COZY;\n return (\n (this.elementRef.nativeElement as HTMLElement).clientWidth -\n (_overflow_btn_size + 4 * ELEMENT_MARGIN + 1 + this.separatorDirectives().length)\n );\n }\n\n /** @hidden */\n private _shouldOverflow = false;\n\n /** @hidden */\n private shouldOverflow$ = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _destroyRef: DestroyRef,\n private resizeObserverService: ResizeObserverService,\n @Optional() @SkipSelf() @Inject(DYNAMIC_PAGE_HEADER_TOKEN) private _dynamicPageHeader?: DynamicPageHeader\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-toolbar',\n `fd-toolbar--${this.fdType}`,\n `${this.active && this.fdType === 'info' ? 'fd-toolbar--active' : ''}`,\n `${this.title || this.titleComponent ? 'fd-toolbar--title' : ''}`,\n `${this.clearBorder ? 'fd-toolbar--clear' : ''}`,\n `${this._dynamicPageHeader ? 'fd-dynamic-page__toolbar' : ''}`\n ];\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._updateSpacerUsed();\n\n this.overflowItems$ = combineLatest([\n this.resizeObserverService.observe(this.elementRef.nativeElement).pipe(map(() => this._toolbarWidth)),\n this.toolbarItems.changes.pipe(\n startWith(this.toolbarItems),\n map((toolbarItems) => toolbarItems.toArray())\n ),\n this._titleComponent$.pipe(\n map((titleComponent): HTMLElement | null => {\n if (!titleComponent) {\n return this.titleElement?.nativeElement;\n }\n return titleComponent.elementRef.nativeElement;\n })\n ),\n this.shouldOverflow$,\n this._refreshOverflow$\n ]).pipe(\n map(([toolbarWidth, toolbarItems, titleElement, shouldOverflow]) => {\n if (shouldOverflow) {\n const _sortedByPriorityAndGroupItems = this._getSortedByPriorityAndGroupItems(toolbarItems);\n const overflowItems: ToolbarItem[] = [];\n _sortedByPriorityAndGroupItems.reduce((_contentWidth, toolbarItem) => {\n const itemWidth = toolbarItem.width + 2;\n const itemPriority = toolbarItem.priority;\n const shouldItemBeRemovedByWidth = itemWidth + _contentWidth > toolbarWidth;\n const shouldAlwaysBeInOverflow =\n itemPriority === OverflowPriorityEnum.ALWAYS || this.forceOverflow;\n const shouldNeverBeInOverflow = itemPriority === OverflowPriorityEnum.NEVER;\n if ((shouldItemBeRemovedByWidth && !shouldNeverBeInOverflow) || shouldAlwaysBeInOverflow) {\n overflowItems.push(toolbarItem);\n return shouldAlwaysBeInOverflow ? _contentWidth : MAX_CONTENT_SIZE;\n } else {\n return _contentWidth + itemWidth;\n }\n }, titleElement?.clientWidth || 0);\n // Hide orphans\n for (const toolbarItem of overflowItems) {\n const groupedCollection = this._getGroupedCollection(toolbarItems);\n const groupedCollectionPriorities = this._getGroupedCollectionPriority(groupedCollection);\n const group = toolbarItem.group;\n const itemPriority = toolbarItem.priority;\n if (group !== 0 && itemPriority !== OverflowPriorityEnum.DISAPPEAR) {\n const itemsFromCurrentGroup =\n this._getElementsFromCurrentGroup(\n group,\n groupedCollection,\n groupedCollectionPriorities\n ) || [];\n itemsFromCurrentGroup.forEach((i) => {\n if (overflowItems.indexOf(i) === -1) {\n overflowItems.push(i);\n }\n });\n }\n }\n return overflowItems.sort((a, b) => this._sortPriorities(a.priority, b.priority));\n }\n return [];\n }),\n takeUntilDestroyed(this._destroyRef)\n );\n this.overflowItems$.subscribe((items) => {\n this.overflownItems = items;\n this._cd.detectChanges();\n });\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterViewChecked(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.titleComponent) {\n this.titleComponent.elementRef?.nativeElement.classList.add('fd-toolbar__title');\n this.buildComponentCssClass();\n }\n }\n\n /** Change detection reference */\n detectChanges(): void {\n this._cd.detectChanges();\n }\n\n /** Method triggering collapsible toolbar */\n updateCollapsibleItems(): void {\n this._refreshOverflow$.next();\n }\n\n /** hidden */\n private _updateSpacerUsed(): void {\n // do not render extra spacer if there is at least one passed by the application\n // and it is not fixed this.spacerUsed.set(this.spacer.length > 0 && this.spacer.some((spacer) => !spacer.fixed));\n this.spacerUsed.set(\n this.spacerDirectives().length > 0 && this.spacerDirectives().some((spacer) => !spacer.fixed)\n );\n }\n\n /** @hidden Get group number with the lowest priority.\n * Uses for detecting a group of elements which would be hidden from the toolbar.\n * */\n private _getLowestPriorityFromGroup(\n itemGroup: number,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): number {\n const priority = groupedCollectionPriority;\n if (!priority || !OVERFLOW_PRIORITY_SCORE.get(priority[itemGroup])) {\n return itemGroup;\n }\n\n const groups = Object.keys(priority);\n\n return groups.reduce((lowestGroup, currentGroup) => {\n const lowestGroupPriority = priority[lowestGroup];\n const currentGroupPriority = priority[currentGroup];\n if (\n OVERFLOW_PRIORITY_SCORE.get(currentGroupPriority)! < OVERFLOW_PRIORITY_SCORE.get(lowestGroupPriority)!\n ) {\n return +currentGroup;\n }\n\n return lowestGroup;\n }, itemGroup as number);\n }\n\n /** @hidden */\n private _getElementsFromCurrentGroup(\n itemGroup: number,\n groupedCollection?: Record<number, ToolbarItem[]>,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): ToolbarItem[] {\n const lowestPriorityFromGroup = this._getLowestPriorityFromGroup(itemGroup, groupedCollectionPriority);\n if (!groupedCollection || !groupedCollectionPriority) {\n return [];\n }\n let itemsToRemove = groupedCollection[lowestPriorityFromGroup];\n\n delete groupedCollection[lowestPriorityFromGroup];\n delete groupedCollectionPriority[lowestPriorityFromGroup];\n\n if (lowestPriorityFromGroup !== itemGroup) {\n itemsToRemove = [...itemsToRemove, ...groupedCollection[itemGroup]];\n delete groupedCollection[itemGroup];\n delete groupedCollectionPriority[itemGroup];\n }\n\n return itemsToRemove;\n }\n\n /** @hidden Get the object with grouped arrays of elements. */\n private _getGroupedCollection(toolbarItems: ToolbarItem[]): Record<number, ToolbarItem[]> {\n return toolbarItems.reduce((acc, item) => {\n const itemPrio = item.priority;\n const itemGroup = item.group;\n if (\n itemPrio === OverflowPriorityEnum.NEVER ||\n itemPrio === OverflowPriorityEnum.ALWAYS ||\n itemGroup === 0\n ) {\n return acc;\n }\n if (!acc[itemGroup]) {\n acc[itemGroup] = [];\n }\n acc[itemGroup].push(item);\n return acc;\n }, {});\n }\n\n /** @hidden Get the object with the highest priority for each group of elements. */\n private _getGroupedCollectionPriority(\n groupedCollection: Record<number, ToolbarItem[]>\n ): Record<number, OverflowPriority> {\n const groups = Object.keys(groupedCollection);\n\n return groups.reduce((acc, itemGroup) => {\n const sortedPriorities = groupedCollection![itemGroup]\n .map((i: ToolbarItem) => i.priority)\n .filter(\n (prio: OverflowPriority) =>\n prio !== OverflowPriorityEnum.ALWAYS && prio !== OverflowPriorityEnum.NEVER\n )\n .sort(this._sortPriorities);\n\n acc[itemGroup] = sortedPriorities[0];\n\n return acc;\n }, {});\n }\n\n /** @hidden Sort priorities of elements/groups. */\n private _sortPriorities(a: OverflowPriority, b: OverflowPriority): number {\n return OVERFLOW_PRIORITY_SCORE.get(b)! - OVERFLOW_PRIORITY_SCORE.get(a)!;\n }\n\n /** @hidden Sort by group and priority and initial position */\n private _getSortedByPriorityAndGroupItems(toolbarItems: ToolbarItem[]): ToolbarItem[] {\n const notSorted = toolbarItems.map((element, index) => ({ element, index }));\n\n const groups = notSorted.reduce((gr, item) => {\n let groupId = item.element.group;\n const itemPrio = item.element.priority;\n if (itemPrio === OverflowPriorityEnum.NEVER || itemPrio === OverflowPriorityEnum.ALWAYS) {\n groupId = 0;\n }\n\n if (!gr[groupId]) {\n gr[groupId] = [];\n }\n\n gr[groupId].push(item);\n\n return gr;\n }, {});\n\n const groupIds = Object.keys(groups)\n .map((g) => parseInt(g, 10))\n .filter((g) => g !== 0);\n\n return groupIds\n .map((g) => {\n let minIndex = Number.MAX_SAFE_INTEGER;\n let maxPriority = 0;\n for (const item of groups[g]) {\n minIndex = Math.min(minIndex, item.index);\n maxPriority = Math.max(\n maxPriority,\n OVERFLOW_PRIORITY_SCORE.get(item.element.priority) ?? -Infinity\n );\n }\n\n return { group: groups[g].map(({ element }) => element), minIndex, maxPriority };\n })\n .concat(\n !groups[0]\n ? []\n : groups[0].map((item) => ({\n group: [item.element],\n maxPriority: OVERFLOW_PRIORITY_SCORE.get(item.element.priority),\n minIndex: item.index\n }))\n )\n .sort((a, b) => b.maxPriority - a.maxPriority || a.minIndex - b.minIndex)\n .reduce((arr, i) => arr.concat(i.group), []);\n }\n}\n","@if (title) {\n <span [attr.aria-level]=\"_headingLevel\" fd-title class=\"fd-toolbar__title\" [id]=\"titleId\" #titleElement>{{\n title\n }}</span>\n}\n<ng-content></ng-content>\n@if (overflownItems.length > 0) {\n @if (!spacerUsed()) {\n <fd-toolbar-spacer></fd-toolbar-spacer>\n }\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\">\n <fd-popover-control>\n <button\n fd-button\n title=\"More\"\n aria-label=\"More\"\n aria-haspopup=\"true\"\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n @for (overflowedItem of overflownItems; track overflowedItem) {\n <fdk-dynamic-portal\n [domElement]=\"overflowedItem.element\"\n [style.display]=\"overflowedItem.priority === 'disappear' ? 'none' : 'flex'\"\n [style.flex-direction]=\"overflowedItem.priority === 'disappear' ? undefined : 'column'\"\n >\n </fdk-dynamic-portal>\n }\n </div>\n </fd-popover-body>\n </fd-popover>\n}\n","import { NgModule } from '@angular/core';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { DeprecatedToolbarSizeDirective } from './deprecated-toolbar-size.directive';\nimport { ToolbarFormLabelDirective } from './toolbar-form-label.directive';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\nimport { ToolbarLabelDirective } from './toolbar-label.directive';\nimport { ToolbarOverflowButtonMenuDirective } from './toolbar-overflow-button-menu.directive';\nimport { ToolbarOverflowButtonDirective } from './toolbar-overflow-button.directive';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\nimport { ToolbarComponent } from './toolbar.component';\n\nconst components = [\n ToolbarComponent,\n ToolbarItemDirective,\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n ToolbarFormLabelDirective,\n ToolbarLabelDirective,\n ToolbarOverflowButtonDirective,\n ToolbarOverflowButtonMenuDirective,\n DeprecatedToolbarSizeDirective\n];\n\n@NgModule({\n imports: [ContentDensityModule, ...components],\n exports: [...components, ContentDensityModule]\n})\nexport class ToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}