@fundamental-ngx/core 0.65.0-rc.9 → 0.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +118 -39
  2. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-core-combobox.mjs +165 -21
  4. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-core-date-picker.mjs +1 -4
  6. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +21 -0
  8. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
  10. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-core-menu.mjs +63 -2
  12. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +20 -35
  14. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-core-popover.mjs +22 -40
  16. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-core-table.mjs +373 -499
  18. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  19. package/package.json +3 -3
  20. package/schematics/package.json +1 -1
  21. package/types/fundamental-ngx-core-avatar-group.d.ts +52 -19
  22. package/types/fundamental-ngx-core-combobox.d.ts +44 -6
  23. package/types/fundamental-ngx-core-datetime-picker.d.ts +3 -1
  24. package/types/fundamental-ngx-core-menu.d.ts +8 -1
  25. package/types/fundamental-ngx-core-mobile-mode.d.ts +2 -0
  26. package/types/fundamental-ngx-core-multi-combobox.d.ts +1 -1
  27. package/types/fundamental-ngx-core-popover.d.ts +11 -16
  28. package/types/fundamental-ngx-core-table.d.ts +133 -164
@@ -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.setFocusable(value);\n }\n get focusable(): boolean {\n return this.isFocusable();\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.setFocusable(false);\n }\n\n /** @hidden */\n @HostListener('focusin')\n protected _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 protected _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.set(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.set('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/**\n * @deprecated\n * Use direct imports of components and directives.\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, booleanAttribute, input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableBody], [fd-table-body]',\n host: {\n class: 'fd-table__body',\n '[class.fd-table__body--no-horizontal-borders]': 'noBorderX()',\n '[class.fd-table__body--no-vertical-borders]': 'noBorderY()',\n '[attr.role]': 'role()'\n }\n})\nexport class TableBodyDirective {\n /** ARIA role for the table body */\n readonly role = input('rowgroup');\n\n /** Whether to show the table body's horizontal borders */\n readonly noBorderX = input(false, { transform: booleanAttribute });\n\n /** Whether to show the table body's vertical borders */\n readonly noBorderY = input(false, { transform: booleanAttribute });\n}\n","import { AfterContentInit, booleanAttribute, computed, contentChildren, Directive, effect, input } from '@angular/core';\nimport { FDK_FOCUSABLE_ITEM_DIRECTIVE, FocusableItemDirective } from '@fundamental-ngx/cdk/utils';\nimport { 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 host: {\n class: 'fd-table__cell',\n '[class.fd-table__cell--no-horizontal-border]': 'noBorderX()',\n '[class.fd-table__cell--no-vertical-border]': 'noBorderY()',\n '[class.fd-table__cell--activable]': 'activable()',\n '[class.fd-table__cell--hoverable]': 'hoverable()',\n '[class.fd-table__cell--fit-content]': 'fitContent()',\n '[class.fd-table__cell--no-padding]': 'noPadding()',\n '[class.fd-table__cell--no-data]': 'noData()',\n '[class.fd-table__cell--non-interactive]': 'nonInteractive()',\n '[class.fd-table__cell--focusable]': 'isFocusable()',\n '[attr.role]': 'computedRole()',\n '[attr.scope]': 'scope()',\n '(focusin)': '_focusIn()',\n '(focusout)': '_focusOut()'\n }\n})\nexport class TableCellDirective extends FocusableItemDirective implements AfterContentInit {\n /** ARIA role for the table cell (only used if explicitly provided) */\n readonly role = input<string>();\n\n /** Whether to show the table cell's horizontal borders */\n readonly noBorderX = input(false, { transform: booleanAttribute });\n\n /** Whether to show the table cell's vertical borders */\n readonly noBorderY = input(false, { transform: booleanAttribute });\n\n /** Whether the table cell is activable */\n readonly activable = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the table cell is focusable.\n * This input syncs with the parent FocusableItemDirective's focusable state.\n */\n readonly focusable = input(false, { transform: booleanAttribute });\n\n /** Whether the table cell is hoverable */\n readonly hoverable = input(false, { transform: booleanAttribute });\n\n /** Whether the table cell's width should fit to content */\n readonly fitContent = input(false, { transform: booleanAttribute });\n\n /** Whether the table cell shouldn't have padding on sides */\n readonly noPadding = input(false, { transform: booleanAttribute });\n\n /** Whether the table cell indicates that there is no data */\n readonly noData = input(false, { transform: booleanAttribute });\n\n /** Whether the table cell inside table header should be non-interactive */\n readonly nonInteractive = input(false, { transform: booleanAttribute });\n\n /** Key of a cell element, it's used to identify this cell with certain column */\n readonly key = input<string>();\n\n /** @hidden */\n readonly _checkboxes = contentChildren(FD_CHECKBOX_COMPONENT);\n\n /** @hidden Computed scope attribute for th elements in tbody */\n protected readonly scope = computed(() => (this.computedRole() === 'rowheader' ? 'row' : null));\n\n /** @hidden Computed role based on element type and parent context */\n protected readonly computedRole = computed(() => {\n // If role is explicitly provided via input, use it\n const explicitRole = this.role();\n\n if (explicitRole) {\n return explicitRole;\n }\n\n // Otherwise, determine role based on element and parent context\n const element = this.elementRef.nativeElement;\n const tagName = element.tagName.toLowerCase();\n\n // td elements always get gridcell\n if (tagName === 'td') {\n return 'gridcell';\n }\n\n // th elements need to check their parent context\n if (tagName === 'th') {\n const parent = element.parentElement;\n const grandparent = parent?.parentElement;\n\n if (grandparent) {\n const grandparentTag = grandparent.tagName.toLowerCase();\n\n if (grandparentTag === 'thead') {\n return 'columnheader';\n } else if (grandparentTag === 'tbody') {\n return 'rowheader';\n }\n }\n }\n\n // Default fallback\n return 'gridcell';\n });\n\n /** @hidden */\n private _parentPreviousTabIndex: number | undefined;\n\n /** @hidden */\n constructor() {\n super();\n // Reactively sync focusable input with parent FocusableItemDirective state\n effect(() => this.setFocusable(this.focusable()));\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n const cell = this.elementRef.nativeElement;\n\n if (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 /** @hidden */\n protected _focusIn(): void {\n const parentEl = this.elementRef.nativeElement.parentElement;\n this._parentPreviousTabIndex = parentEl?.tabIndex;\n parentEl?.removeAttribute('tabindex');\n }\n\n /** @hidden */\n protected _focusOut(): void {\n const parentEl = this.elementRef.nativeElement.parentElement;\n if (this._parentPreviousTabIndex) {\n parentEl?.setAttribute('tabindex', this._parentPreviousTabIndex.toString());\n }\n }\n}\n","import { Directive, booleanAttribute, input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableHeader], [fd-table-header]',\n host: {\n class: 'fd-table__header',\n '[class.fd-table__header--no-horizontal-borders]': 'noBorderX()',\n '[class.fd-table__header--no-vertical-borders]': 'noBorderY()',\n '[class.fd-table__header--non-interactive]': 'nonInteractive()',\n '[attr.role]': 'role()'\n }\n})\nexport class TableHeaderDirective {\n /** ARIA role for the table header */\n readonly role = input('rowgroup');\n\n /** Whether or not to show the table header's horizontal borders */\n readonly noBorderX = input(false, { transform: booleanAttribute });\n\n /** Whether or not to show the table header's vertical borders */\n readonly noBorderY = input(false, { transform: booleanAttribute });\n\n /**\n * Whether or not the header cells should be interactive\n * (have hover and active states)\n * default: false\n */\n readonly nonInteractive = input(false, { transform: booleanAttribute });\n}\n","import {\n booleanAttribute,\n contentChild,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n Renderer2\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { ResizeObserverService } from '@fundamental-ngx/cdk/utils';\nimport { FD_TOOLBAR } from '@fundamental-ngx/core/toolbar';\nimport { combineLatestWith, EMPTY, switchMap } from 'rxjs';\nimport { TableHeaderDirective } from './table-header.directive';\n\n@Directive({\n selector: '[fdTableContainer], [fd-table-container]'\n})\nexport class TableContainerDirective {\n /** Whether the scroll is applied on the page and not on the table */\n readonly outerScroll = input(false, { transform: booleanAttribute });\n\n /** @hidden */\n readonly toolbar = contentChild(FD_TOOLBAR, { read: ElementRef });\n\n /** @hidden */\n readonly tableHeader = contentChild(TableHeaderDirective, { read: ElementRef });\n\n /** @hidden */\n readonly resizeObserverService = inject(ResizeObserverService);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor() {\n // Handle toolbar sticky positioning when outerScroll is enabled\n toObservable(this.toolbar)\n .pipe(\n combineLatestWith(toObservable(this.outerScroll)),\n switchMap(([toolbarElRef, outerScroll]) =>\n outerScroll && toolbarElRef ? this.resizeObserverService.observe(toolbarElRef.nativeElement) : EMPTY\n ),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n const toolbarElRef = this.toolbar();\n if (toolbarElRef) {\n const toolbarEl = toolbarElRef.nativeElement;\n this._renderer.setStyle(toolbarEl, 'position', 'sticky');\n this._renderer.setStyle(toolbarEl, 'top', '0');\n this._renderer.setStyle(toolbarEl, 'z-index', '2');\n\n const tableHeaderEl = this.tableHeader();\n if (tableHeaderEl) {\n const headerNativeEl = tableHeaderEl.nativeElement;\n this._renderer.setStyle(headerNativeEl, 'position', 'sticky');\n this._renderer.setStyle(headerNativeEl, 'top', `${toolbarEl.offsetHeight}px`);\n this._renderer.setStyle(headerNativeEl, 'z-index', '2');\n }\n }\n });\n\n // Handle table header sticky positioning when outerScroll is enabled\n toObservable(this.tableHeader)\n .pipe(combineLatestWith(toObservable(this.outerScroll)), takeUntilDestroyed(this._destroyRef))\n .subscribe(([tableHeaderElRef, outerScroll]) => {\n if (outerScroll && tableHeaderElRef) {\n const headerEl = tableHeaderElRef.nativeElement;\n this._renderer.setStyle(headerEl, 'position', 'sticky');\n this._renderer.setStyle(headerEl, 'top', '0');\n }\n });\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdTableFixed], [fd-table-fixed]',\n host: {\n class: 'fd-table--fixed'\n }\n})\nexport class TableFixedDirective {}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableFooter], [fd-table-footer]',\n host: {\n class: 'fd-table__footer',\n '[attr.role]': 'role()'\n }\n})\nexport class TableFooterDirective {\n /** ARIA role for the table footer */\n readonly role = input('rowgroup');\n}\n","import { Directive, ElementRef, booleanAttribute, computed, inject, input } from '@angular/core';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont, fdBuildIconClass } from '@fundamental-ngx/core/icon';\n\n@Directive({\n selector: '[fdTableIcon], [fd-table-icon]',\n host: {\n '[class]': 'cssClass()'\n }\n})\nexport class TableIconDirective {\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 readonly glyph = input('');\n\n /** Glyph font family */\n readonly glyphFont = input<IconFont>(FD_DEFAULT_ICON_FONT_FAMILY);\n\n /** Whether or no icon is used as navigation */\n readonly navigation = input(false, { transform: booleanAttribute });\n\n /** @hidden */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n protected readonly cssClass = computed(() =>\n [\n 'fd-table__icon',\n this.glyph() ? fdBuildIconClass(this.glyphFont(), this.glyph()) : '',\n this.navigation() ? 'fd-table__icon--navigation' : ''\n ]\n .filter(Boolean)\n .join(' ')\n );\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdTableInner], [fd-table-inner]',\n host: {\n class: 'fd-table__inner'\n }\n})\nexport class TableInnerDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdTablePopover], [fd-table-popover]',\n host: {\n class: 'fd-table__popover fd-table__popover--custom'\n }\n})\nexport class TablePopoverDirective {}\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})\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 inject,\n input,\n OnInit\n} from '@angular/core';\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 class: 'fd-table__row',\n '[class.fd-table__row--activable]': 'activable()',\n '[class.fd-table__row--hoverable]': 'hoverable()',\n '[class.fd-table__row--main]': 'main()',\n '[class.fd-table__row--secondary]': 'secondary()',\n '[class.fd-table__row--focusable]': 'focusable',\n '[class.is-selected]': 'active()',\n '[attr.role]': 'role()'\n }\n})\nexport class TableRowDirective extends FocusableListDirective implements OnInit, AfterViewInit {\n /** ARIA role for the table row */\n readonly role = input('row');\n\n /** @hidden */\n readonly cells = contentChildren(TableCellDirective);\n\n /** Whether the table row is activable */\n readonly activable = input(false, { transform: booleanAttribute });\n\n /** Whether the table row is hoverable */\n /** Whether to highlight active row when clicked. */\n readonly highlightActive = input(false, { transform: booleanAttribute });\n\n /** Whether the table row is hoverable */\n readonly hoverable = input(false, { transform: booleanAttribute });\n\n /** Whether the table row is main row, it's concerned only on pop in mode */\n readonly main = input(false, { transform: booleanAttribute });\n\n /** Whether the table row is secondary row, it's concerned only on pop in mode */\n readonly secondary = input(false, { transform: booleanAttribute });\n\n /** Whether the table row is active. */\n readonly active = input(false, { transform: booleanAttribute });\n\n /** @hidden */\n elementRef: ElementRef<HTMLTableRowElement> = inject(ElementRef);\n\n /** @hidden */\n private readonly _changeDetRef = inject(ChangeDetectorRef);\n\n /** @hidden */\n private _tableService = inject(TableService);\n\n /** @hidden */\n constructor() {\n super();\n\n effect(() => {\n this._resetCells(this._tableService.propagateKeys$());\n });\n\n // Set aria-colindex on cells when they change (1-based index)\n // This effect runs in constructor (injection context) but reads cells signal which updates after content init\n effect(() => {\n this.cells().forEach((cell, index) => {\n cell.elementRef.nativeElement.ariaColIndex = (index + 1).toString();\n });\n });\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.navigationDirection.set('grid');\n this._updateNavigationDirection();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._resetCells(this._tableService.propagateKeys$());\n }\n\n /** @hidden */\n private _resetCells(keys: string[]): void {\n const cells = this.cells();\n if (cells.length > 0 && keys && keys.length > 0) {\n this._changeVisibility(keys);\n\n const sortedCells = [...cells].sort((a, b) => this._sortMethod(a, b, keys));\n\n this._sortNativeElements(sortedCells);\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(sortedCells: readonly TableCellDirective[]): void {\n sortedCells.forEach((cell) =>\n cell.elementRef.nativeElement.parentNode?.appendChild(cell.elementRef.nativeElement)\n );\n }\n\n /** @hidden */\n private _changeVisibility(keys: string[]): void {\n const cells = this.cells();\n cells.forEach((cell) => cell.elementRef.nativeElement.classList.remove(HIDDEN_CLASS_NAME));\n const notFoundElements: TableCellDirective[] = cells.filter((cell) => !keys.find((key) => key === cell.key()));\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","import { computed, Directive, input } from '@angular/core';\n\nexport type TableStatuses = 'valid' | 'warning' | 'information' | 'error';\n\n@Directive({\n selector: '[fdTableStatusIndicator], [fd-table-status-indicator]',\n host: {\n '[class]': 'cssClass()'\n }\n})\nexport class TableStatusIndicatorDirective {\n /** The type of indicator. Options are 'valid', 'warning', 'information' and 'error'. */\n readonly status = input<TableStatuses | null | undefined>();\n\n /** @hidden */\n protected readonly cssClass = computed(() =>\n ['fd-table__cell--status-indicator', this.status() ? 'fd-table__cell--status-indicator--' + this.status() : '']\n .filter(Boolean)\n .join(' ')\n );\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableText], [fd-table-text]',\n host: {\n '[class.fd-table__text]': 'fdTableTextClass()',\n '[class.fd-table__text--no-wrap]': 'noWrap()',\n '[class.fd-table__text--title]': 'title()',\n '[style.max-width]': 'maxWidth()'\n }\n})\nexport class TableTextDirective {\n /** Whether the text should have shadow (halo) & overflow should be hidden. */\n readonly fdTableTextClass = input(true, { transform: booleanAttribute });\n\n /** Whether the text should wrap when the text is too long for 1 line */\n readonly noWrap = input(false, { transform: booleanAttribute });\n\n /** Whether the text should be bolded and marked as a title */\n readonly title = input(false, { transform: booleanAttribute });\n\n /** Maximum width of a text element */\n readonly maxWidth = input('');\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { ContentDensityObserver, contentDensityObserverProviders } 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})\nexport class TableWrapperComponent implements AfterContentInit {\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n /** @hidden */\n constructor() {\n // Apply content density classes to child table element reactively\n effect(() => {\n const density = this._contentDensityObserver.contentDensity();\n const config = this._contentDensityObserver.config;\n\n if (this._elementRef.nativeElement?.firstChild && config?.modifiers) {\n const tableElement = this._elementRef.nativeElement.firstChild;\n\n // Remove all density modifier classes\n Object.values(config.modifiers).forEach((className) => {\n this._renderer.removeClass(tableElement, className);\n });\n\n // Add the current density class\n const modifierClass = config.modifiers[density];\n if (modifierClass) {\n this._renderer.addClass(tableElement, modifierClass);\n }\n }\n });\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 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","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n ViewEncapsulation\n} from '@angular/core';\nimport { FocusableGridDirective } from '@fundamental-ngx/cdk/utils';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\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 host: {\n class: 'fd-table',\n '[class.fd-table--no-horizontal-borders]': 'noBorderX()',\n '[class.fd-table--no-vertical-borders]': 'noBorderY()',\n '[class.fd-table--no-outer-border]': 'noOuterBorder()',\n '[class.fd-table--top-border]': 'topBorder()',\n '[class.fd-table--pop-in]': 'popIn()',\n '[class.fd-table--responsive]': 'responsive()',\n '[attr.role]': 'role()',\n '[attr.aria-colcount]': 'ariaColCount()'\n }\n})\nexport class TableComponent {\n /** ARIA role for the table */\n readonly role = input('grid');\n\n /** Whether or not to show the table's horizontal borders */\n readonly noBorderX = input(false, { transform: booleanAttribute });\n\n /** Whether or not to show the table's vertical borders */\n readonly noBorderY = input(false, { transform: booleanAttribute });\n\n /** Whether or not to show the table's outer border */\n readonly noOuterBorder = input(false, { transform: booleanAttribute });\n\n /** Whether or not to show the table's top border */\n readonly topBorder = input(false, { transform: booleanAttribute });\n\n /** Whether or not to display the table in pop in mode, it also require change of markup */\n readonly popIn = input(false, { transform: booleanAttribute });\n\n /** Whether or not to display the table in responsive mode. */\n readonly responsive = input(false, { transform: booleanAttribute });\n\n /** List of keys that identifies single columns */\n readonly keys = input<string[]>();\n\n /** Applies `focusable` to all cells within this table */\n readonly allCellsFocusable = input(false, { transform: booleanAttribute });\n\n /** @hidden */\n readonly _cells = contentChildren(TableCellDirective, { descendants: true });\n\n /**\n * @hidden\n * Computed aria-colcount attribute - total number of columns in the grid\n * Required when aria-colindex is set on cells */\n protected readonly ariaColCount = computed(() => {\n const keys = this.keys();\n if (keys && keys.length > 0) {\n // If keys are provided, use that count (includes hidden columns)\n return keys.length;\n }\n\n // Otherwise, determine from the first row's visible cell count\n // This assumes all rows have the same number of columns\n const cells = this._cells();\n if (cells.length === 0) {\n return null;\n }\n\n // Group cells by their parent row and count cells in first row\n const firstRow = cells[0]?.elementRef.nativeElement.parentElement;\n if (!firstRow) {\n return null;\n }\n\n const cellsInFirstRow = cells.filter((cell) => cell.elementRef.nativeElement.parentElement === firstRow);\n\n return cellsInFirstRow.length || null;\n });\n\n /** @hidden */\n private readonly _tableService = inject(TableService);\n\n /** @hidden Injected to activate content density CSS class effects */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n /** @hidden */\n constructor() {\n // Update cell focusable property when cells or allCellsFocusable changes\n effect(() => {\n const cells = this._cells();\n const allFocusable = this.allCellsFocusable();\n\n // Set focusable on all cells based on allCellsFocusable or individual cell's focusable state\n cells.forEach((cell) => {\n cell.setFocusable(allFocusable || cell.focusable());\n });\n });\n\n // Propagate keys to table service when keys input changes\n effect(() => {\n const keys = this.keys();\n if (keys) {\n this._propagateKeys(keys);\n }\n });\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","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/**\n * @deprecated\n * Use direct imports of components and directives.\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":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core",
3
- "version": "0.65.0-rc.9",
3
+ "version": "0.65.0",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "ng-update": {
6
6
  "packageGroupName": "@fundamental-ngx/core",
@@ -37,8 +37,8 @@
37
37
  "@angular/forms": "^22.0.0",
38
38
  "@angular/platform-browser": "^22.0.0",
39
39
  "@angular/router": "^22.0.0",
40
- "@fundamental-ngx/cdk": "0.65.0-rc.9",
41
- "@fundamental-ngx/i18n": "0.65.0-rc.9",
40
+ "@fundamental-ngx/cdk": "0.65.0",
41
+ "@fundamental-ngx/i18n": "0.65.0",
42
42
  "@sap-theming/theming-base-content": "^11.36.0",
43
43
  "fundamental-styles": "0.41.9",
44
44
  "rxjs": "^7.8.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-schematics",
3
- "version": "0.65.0-rc.9",
3
+ "version": "0.65.0",
4
4
  "types": "./ng-add/index.d.ts",
5
5
  "main": "./ng-add/index.js",
6
6
  "type": "commonjs"
@@ -1,7 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, OnInit, AfterViewInit, OnChanges, QueryList, ElementRef, SimpleChanges, InjectionToken } from '@angular/core';
2
+ import { TemplateRef, OnInit, Signal, AfterViewInit, OnChanges, QueryList, ElementRef, InjectionToken } from '@angular/core';
3
3
  import { Direction } from '@angular/cdk/bidi';
4
4
  import { FocusableItem, Nullable, Size, HasElementRef, CssClassBuilder, FocusableListItemFocusedEvent, FocusableItemDirective, ColorAccent } from '@fundamental-ngx/cdk/utils';
5
+ import { Placement } from '@fundamental-ngx/core/shared';
5
6
  import { Observable } from 'rxjs';
6
7
  import * as i7 from '@angular/cdk/portal';
7
8
 
@@ -129,7 +130,7 @@ type AvatarGroupOrientation = 'horizontal' | 'vertical';
129
130
  type AvatarGroupSize = Size;
130
131
  interface AvatarGroupHostConfig {
131
132
  type: AvatarGroupType;
132
- orientation: AvatarGroupOrientation;
133
+ orientation: Signal<AvatarGroupOrientation>;
133
134
  size: AvatarGroupSize;
134
135
  }
135
136
 
@@ -143,11 +144,6 @@ declare class AvatarGroupHostComponent implements OnInit, AfterViewInit, OnChang
143
144
  * Options include 'individual' and 'group'.
144
145
  **/
145
146
  type: AvatarGroupHostConfig['type'];
146
- /**
147
- * The orientation of the avatar group.
148
- * Options include 'horizontal' and 'vertical'.
149
- **/
150
- orientation: AvatarGroupHostConfig['orientation'];
151
147
  /**
152
148
  * The size of the avatar group.
153
149
  * Options include 'xs', 's', 'm', 'l', and 'xl'.
@@ -162,6 +158,16 @@ declare class AvatarGroupHostComponent implements OnInit, AfterViewInit, OnChang
162
158
  * The portals to be rendered in the avatar group.
163
159
  **/
164
160
  _portals: QueryList<AvatarGroupItemRendererDirective>;
161
+ /**
162
+ * Maximum number of avatars to show before the overflow button.
163
+ * When set, overrides the width-based visibility calculation.
164
+ **/
165
+ readonly maxVisibleItems: i0.InputSignal<number | null>;
166
+ /**
167
+ * The orientation of the avatar group.
168
+ * Options include 'horizontal' and 'vertical'.
169
+ **/
170
+ readonly orientation: i0.InputSignal<AvatarGroupOrientation>;
165
171
  /** @hidden */
166
172
  _resizeEmitter: Observable<ResizeObserverEntry[]>;
167
173
  /** The reference to the host element */
@@ -169,23 +175,27 @@ declare class AvatarGroupHostComponent implements OnInit, AfterViewInit, OnChang
169
175
  /** @hidden */
170
176
  _hiddenItems: i0.WritableSignal<AvatarGroupItemRendererDirective[]>;
171
177
  /** @hidden */
178
+ private readonly _maxVisibleItems$;
179
+ /** @hidden */
172
180
  private readonly _destroyRef;
173
181
  /** @hidden */
174
182
  private _cdr;
175
183
  /** @hidden */
176
- private _onChanges$;
177
- /** @hidden */
178
184
  buildComponentCssClass(): string[];
179
185
  /** @hidden */
180
186
  ngOnInit(): void;
181
187
  /** @hidden */
182
- ngOnChanges(changes: SimpleChanges): void;
188
+ ngOnChanges(): void;
183
189
  /** @hidden */
184
190
  ngAfterViewInit(): void;
185
191
  /** @hidden */
186
192
  private _calculateVisibility;
193
+ /** @hidden */
194
+ private _calculateVisibilityWithMaxItems;
195
+ /** @hidden */
196
+ private _calculateVisibilityByWidth;
187
197
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarGroupHostComponent, never>;
188
- static ɵcmp: i0.ɵɵComponentDeclaration<AvatarGroupHostComponent, "fd-avatar-group-host", never, { "class": { "alias": "class"; "required": false; }; "type": { "alias": "type"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "size": { "alias": "size"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, {}, ["_portals"], ["*"], true, never>;
198
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarGroupHostComponent, "fd-avatar-group-host", never, { "class": { "alias": "class"; "required": false; }; "type": { "alias": "type"; "required": false; }; "size": { "alias": "size"; "required": false; }; "items": { "alias": "items"; "required": false; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, ["_portals"], ["*"], true, never>;
189
199
  }
190
200
 
191
201
  /**
@@ -222,13 +232,6 @@ declare class AvatarGroupComponent implements AvatarGroupHostConfig {
222
232
  * `individual`: The avatars are displayed side-by-side and each avatar has its own click/tap area.
223
233
  * */
224
234
  type: AvatarGroupHostConfig['type'];
225
- /**
226
- * Orientation of the AvatarGroup control.
227
- *
228
- * `horizontal`: The avatars are displayed horizontally.
229
- * `vertical`: The avatars are displayed vertically.
230
- */
231
- orientation: AvatarGroupHostConfig['orientation'];
232
235
  /**
233
236
  * The spacing between the items depends on the size of the avatars in the group.
234
237
  * The size is also used for the default overflow button.
@@ -256,11 +259,41 @@ declare class AvatarGroupComponent implements AvatarGroupHostConfig {
256
259
  _overflowButton: AvatarGroupOverflowButtonDirective;
257
260
  /** @hidden */
258
261
  _avatarGroupPopoverBody: AvatarGroupOverflowBodyDirective;
262
+ /**
263
+ * Orientation of the AvatarGroup control.
264
+ *
265
+ * `horizontal`: The avatars are displayed horizontally.
266
+ * `vertical`: The avatars are displayed vertically.
267
+ */
268
+ readonly orientation: i0.InputSignal<AvatarGroupOrientation>;
259
269
  /**
260
270
  * Heading level for the overflow popover title.
261
271
  * @default 5
262
272
  */
263
273
  readonly overflowHeadingLevel: i0.InputSignal<1 | 3 | 2 | 4 | 5 | 6>;
274
+ /**
275
+ * Placement of the group overflow popover relative to the avatar group.
276
+ * Defaults to `'right'` when `orientation="vertical"`, otherwise `'bottom'`.
277
+ * Use `'bottom-start'` / `'bottom-end'` to align to an edge.
278
+ * Only applies to `type="group"`.
279
+ */
280
+ readonly popoverPlacement: i0.InputSignal<Placement | undefined>;
281
+ /** @hidden */
282
+ readonly _effectivePlacement: i0.Signal<Placement>;
283
+ /**
284
+ * Shape of the default overflow button.
285
+ * Use `'circle'` when the avatar group displays circle avatars, so the overflow button matches their shape.
286
+ * Has no effect when a custom overflow button is provided via `fdAvatarGroupOverflowButton`.
287
+ * @default 'square'
288
+ */
289
+ readonly overflowButtonShape: i0.InputSignal<"circle" | "square">;
290
+ /**
291
+ * Maximum number of avatars to display before the overflow button appears.
292
+ * When set, the group shows exactly this many avatars regardless of the container width.
293
+ * When `null` (default), visibility is determined by the available container width.
294
+ * @default null
295
+ */
296
+ readonly maxVisibleItems: i0.InputSignal<number | null>;
264
297
  /** @hidden */
265
298
  readonly _avatarGroupHost: i0.Signal<AvatarGroupHostComponent | undefined>;
266
299
  /** @hidden */
@@ -286,7 +319,7 @@ declare class AvatarGroupComponent implements AvatarGroupHostConfig {
286
319
  /** @hidden */
287
320
  protected _popupBodyAriaLabel(count: number): string;
288
321
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarGroupComponent, never>;
289
- static ɵcmp: i0.ɵɵComponentDeclaration<AvatarGroupComponent, "fd-avatar-group", never, { "type": { "alias": "type"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "size": { "alias": "size"; "required": false; }; "overflowPopoverTitle": { "alias": "overflowPopoverTitle"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "overflowHeadingLevel": { "alias": "overflowHeadingLevel"; "required": false; "isSignal": true; }; }, {}, ["_overflowButton", "_avatarGroupPopoverBody", "_avatars"], ["*"], true, never>;
322
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarGroupComponent, "fd-avatar-group", never, { "type": { "alias": "type"; "required": false; }; "size": { "alias": "size"; "required": false; }; "overflowPopoverTitle": { "alias": "overflowPopoverTitle"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "overflowHeadingLevel": { "alias": "overflowHeadingLevel"; "required": false; "isSignal": true; }; "popoverPlacement": { "alias": "popoverPlacement"; "required": false; "isSignal": true; }; "overflowButtonShape": { "alias": "overflowButtonShape"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; }, {}, ["_overflowButton", "_avatarGroupPopoverBody", "_avatars"], ["*"], true, never>;
290
323
  }
291
324
 
292
325
  /**
@@ -30,7 +30,7 @@ interface ComboboxInterface extends MobileMode {
30
30
  inShellbar: boolean;
31
31
  getValue(): any;
32
32
  dialogApprove(): void;
33
- dialogDismiss(backup: string): void;
33
+ dialogDismiss(term?: any): void;
34
34
  }
35
35
  interface ComboboxItemDirectiveContext<T = unknown> {
36
36
  $implicit: T;
@@ -51,7 +51,11 @@ declare class ComboboxItemDirective<T = unknown> {
51
51
  static ɵdir: i0.ɵɵDirectiveDeclaration<ComboboxItemDirective<any>, "[fdComboboxItem]", never, { "fdComboboxItemUse": { "alias": "fdComboboxItemUse"; "required": false; }; }, {}, never, never, true, never>;
52
52
  }
53
53
 
54
- declare class ComboboxMobileComponent extends MobileModeBase<ComboboxInterface> implements OnInit {
54
+ interface ComboboxMobileBridge extends ComboboxInterface {
55
+ setMobileModeConfig(config: MobileModeConfig): void;
56
+ hasMobileApproveAction(): boolean;
57
+ }
58
+ declare class ComboboxMobileComponent extends MobileModeBase<ComboboxMobileBridge> implements OnInit {
55
59
  /** @hidden */
56
60
  dialogTemplate: TemplateRef<any>;
57
61
  /**
@@ -65,9 +69,11 @@ declare class ComboboxMobileComponent extends MobileModeBase<ComboboxInterface>
65
69
  controlTemplate: TemplateRef<any>;
66
70
  } | null;
67
71
  /** @hidden */
68
- private _selectedBackup;
72
+ private _handlingDialogAction;
73
+ /** @hidden */
74
+ private _dismissedByAction;
69
75
  /** @hidden */
70
- constructor(comboboxComponent: ComboboxInterface);
76
+ constructor(comboboxComponent: ComboboxMobileBridge);
71
77
  /** @hidden */
72
78
  ngOnInit(): void;
73
79
  /** @hidden */
@@ -81,6 +87,12 @@ declare class ComboboxMobileComponent extends MobileModeBase<ComboboxInterface>
81
87
  /** @hidden */
82
88
  private _open;
83
89
  /** @hidden */
90
+ private _closeDialog;
91
+ /** @hidden */
92
+ private _dismissDialog;
93
+ /** @hidden */
94
+ private _canCloseDialog;
95
+ /** @hidden */
84
96
  private _focusInputElementOnceOpened;
85
97
  static ɵfac: i0.ɵɵFactoryDeclaration<ComboboxMobileComponent, never>;
86
98
  static ɵcmp: i0.ɵɵComponentDeclaration<ComboboxMobileComponent, "fd-combobox-mobile", never, {}, {}, never, never, true, never>;
@@ -306,6 +318,10 @@ declare class ComboboxComponent<T = any> implements ComboboxInterface, SingleDro
306
318
  private _value;
307
319
  /** Last value confirmed by an explicit selection (item click) or external writeValue. */
308
320
  private _lastConfirmedValue;
321
+ /** Value state to restore when a mobile confirmation dialog is dismissed. */
322
+ private _mobileConfirmationSnapshot?;
323
+ /** Resolved global and local mobile configuration supplied by the mobile wrapper. */
324
+ private _mobileModeConfig?;
309
325
  private readonly _elementRef;
310
326
  private readonly _destroyRef;
311
327
  /** @hidden */
@@ -330,8 +346,18 @@ declare class ComboboxComponent<T = any> implements ComboboxInterface, SingleDro
330
346
  onItemFocused(value: any): void;
331
347
  /** @hidden */
332
348
  onMenuClickHandler(value: any, shouldClosePopover?: boolean): void;
333
- /** Handle dialog dismissing, closes popover and sets backup data. */
334
- dialogDismiss(term: any): void;
349
+ /**
350
+ * @hidden
351
+ * Receives the resolved mobile configuration from the mobile wrapper.
352
+ */
353
+ setMobileModeConfig(config: MobileModeConfig): void;
354
+ /**
355
+ * @hidden
356
+ * Whether the resolved mobile configuration provides a usable Approve action.
357
+ */
358
+ hasMobileApproveAction(): boolean;
359
+ /** Handle dialog dismissing, restoring an unconfirmed mobile selection when needed. */
360
+ dialogDismiss(term?: any): void;
335
361
  /** Handle dialog approval, closes popover and propagates data changes. */
336
362
  dialogApprove(): void;
337
363
  /** If true value empty */
@@ -377,6 +403,10 @@ declare class ComboboxComponent<T = any> implements ComboboxInterface, SingleDro
377
403
  private _popoverOverlayPane;
378
404
  /** @hidden */
379
405
  private _isInputDirtyVsModel;
406
+ /** @hidden */
407
+ private _getCompletedAutocompleteValue;
408
+ /** @hidden */
409
+ private _commitCompletedAutocompleteValue;
380
410
  /** Method that picks other value moved from current one by offset, called only when combobox is closed */
381
411
  private _chooseOtherItem;
382
412
  /** Method that reset filtering for displayed values. It overrides displayed values by all possible dropdown values */
@@ -392,6 +422,14 @@ declare class ComboboxComponent<T = any> implements ComboboxInterface, SingleDro
392
422
  /** @hidden */
393
423
  private _getOptionObjectByDisplayedValue;
394
424
  /** @hidden */
425
+ private _isMobileConfirmationMode;
426
+ /** @hidden */
427
+ private _captureMobileConfirmationSnapshot;
428
+ /** @hidden */
429
+ private _restoreMobileConfirmationSnapshot;
430
+ /** @hidden */
431
+ private _confirmMobileSelection;
432
+ /** @hidden */
395
433
  private _refreshDisplayedValues;
396
434
  /** @hidden */
397
435
  private _propagateChange;
@@ -175,7 +175,7 @@ declare class DatetimePickerComponent<D> implements DateTimePicker<D>, OnInit, O
175
175
  /** Event thrown every time calendar active view is changed */
176
176
  readonly activeViewChange: EventEmitter<FdCalendarView>;
177
177
  /** Event emitted when the date changes. This can be a time or day change. */
178
- readonly dateChange: EventEmitter<D>;
178
+ readonly dateChange: EventEmitter<D | null>;
179
179
  /** Event emitted when the day changes from the calendar. */
180
180
  readonly calendarChange: EventEmitter<D>;
181
181
  /** Event emitted when the time changes from the time component. */
@@ -374,6 +374,8 @@ declare class DatetimePickerComponent<D> implements DateTimePicker<D>, OnInit, O
374
374
  private _calculateTimeOptions;
375
375
  /** @hidden */
376
376
  private _setUpMobileMode;
377
+ private _emitDateChange;
378
+ private _datesAreEqual;
377
379
  static ɵfac: i0.ɵɵFactoryDeclaration<DatetimePickerComponent<any>, [null, null, { optional: true; }, { optional: true; }, null]>;
378
380
  static ɵcmp: i0.ɵɵComponentDeclaration<DatetimePickerComponent<any>, "fd-datetime-picker", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "required": { "alias": "required"; "required": false; }; "customDateTimeFormat": { "alias": "customDateTimeFormat"; "required": false; }; "meridian": { "alias": "meridian"; "required": false; }; "displaySeconds": { "alias": "displaySeconds"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "message": { "alias": "message"; "required": false; }; "messageTriggers": { "alias": "messageTriggers"; "required": false; }; "displayMinutes": { "alias": "displayMinutes"; "required": false; }; "displayHours": { "alias": "displayHours"; "required": false; }; "useValidation": { "alias": "useValidation"; "required": false; }; "date": { "alias": "date"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "startingDayOfWeek": { "alias": "startingDayOfWeek"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "keepTwoDigitsTime": { "alias": "keepTwoDigitsTime"; "required": false; }; "state": { "alias": "state"; "required": false; }; "buttonFocusable": { "alias": "buttonFocusable"; "required": false; }; "yearGrid": { "alias": "yearGrid"; "required": false; }; "aggregatedYearGrid": { "alias": "aggregatedYearGrid"; "required": false; }; "markWeekends": { "alias": "markWeekends"; "required": false; }; "spinnerButtons": { "alias": "spinnerButtons"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; "processInputOnBlur": { "alias": "processInputOnBlur"; "required": false; }; "preventScrollOnFocus": { "alias": "preventScrollOnFocus"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "mobileConfig": { "alias": "mobileConfig"; "required": false; }; "mobileLandscape": { "alias": "mobileLandscape"; "required": false; }; "mobilePortrait": { "alias": "mobilePortrait"; "required": false; }; "isFullWidth": { "alias": "isFullWidth"; "required": false; }; "specialDaysRules": { "alias": "specialDaysRules"; "required": false; "isSignal": true; }; "showCalendarLegend": { "alias": "showCalendarLegend"; "required": false; "isSignal": true; }; "legendCol": { "alias": "legendCol"; "required": false; "isSignal": true; }; "disableFunction": { "alias": "disableFunction"; "required": false; }; }, { "isOpenChange": "isOpenChange"; "activeViewChange": "activeViewChange"; "dateChange": "dateChange"; "calendarChange": "calendarChange"; "timeChange": "timeChange"; "onClose": "onClose"; "touched": "touched"; }, never, ["*"], true, never>;
379
381
  static ngAcceptInputType_processInputOnBlur: unknown;