@fundamental-ngx/core 0.36.1-rc.7 → 0.36.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.
- package/action-bar/package.json +1 -1
- package/action-sheet/package.json +1 -1
- package/alert/package.json +1 -1
- package/avatar/package.json +1 -1
- package/avatar-group/package.json +1 -1
- package/bar/package.json +1 -1
- package/breadcrumb/package.json +1 -1
- package/busy-indicator/package.json +1 -1
- package/button/package.json +1 -1
- package/calendar/package.json +1 -1
- package/card/package.json +1 -1
- package/carousel/package.json +1 -1
- package/checkbox/package.json +1 -1
- package/combobox/package.json +1 -1
- package/content-density/package.json +2 -2
- package/date-picker/package.json +1 -1
- package/datetime/package.json +1 -1
- package/datetime-picker/package.json +1 -1
- package/dialog/esm2020/dialog.component.mjs +2 -2
- package/dialog/fesm2015/fundamental-ngx-core-dialog.mjs +1 -1
- package/dialog/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/dialog/fesm2020/fundamental-ngx-core-dialog.mjs +1 -1
- package/dialog/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/dialog/package.json +1 -1
- package/dynamic-page/package.json +1 -1
- package/dynamic-side-content/package.json +1 -1
- package/esm2020/dialog/dialog.component.mjs +2 -2
- package/esm2020/list/directives/list-group-header.directive.mjs +18 -6
- package/esm2020/list/list.component.mjs +2 -2
- package/esm2020/table/table-wrapper.component.mjs +6 -22
- package/esm2020/table/table.component.mjs +15 -10
- package/esm2020/time/time-column/time-column.component.mjs +5 -47
- package/esm2020/utils/services/keyboard-support/keyboard-support.service.mjs +9 -13
- package/facets/package.json +1 -1
- package/feed-input/package.json +1 -1
- package/feed-list-item/package.json +1 -1
- package/fesm2015/fundamental-ngx-core-dialog.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-list.mjs +16 -5
- package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-table.mjs +22 -30
- package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-time.mjs +4 -46
- package/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-utils.mjs +8 -12
- package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dialog.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-list.mjs +16 -5
- package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-table.mjs +22 -30
- package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-time.mjs +4 -46
- package/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-utils.mjs +8 -12
- package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
- package/file-uploader/package.json +1 -1
- package/fixed-card-layout/package.json +1 -1
- package/flexible-column-layout/package.json +1 -1
- package/form/package.json +1 -1
- package/formatted-text/package.json +1 -1
- package/grid-list/package.json +1 -1
- package/icon/package.json +1 -1
- package/illustrated-message/package.json +1 -1
- package/infinite-scroll/package.json +1 -1
- package/info-label/package.json +1 -1
- package/inline-help/package.json +1 -1
- package/input-group/package.json +1 -1
- package/layout-grid/package.json +1 -1
- package/layout-panel/package.json +1 -1
- package/link/package.json +1 -1
- package/list/directives/list-group-header.directive.d.ts +2 -2
- package/list/esm2020/directives/list-group-header.directive.mjs +18 -6
- package/list/esm2020/list.component.mjs +2 -2
- package/list/fesm2015/fundamental-ngx-core-list.mjs +16 -5
- package/list/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
- package/list/fesm2020/fundamental-ngx-core-list.mjs +16 -5
- package/list/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
- package/list/package.json +1 -1
- package/menu/package.json +1 -1
- package/message-box/package.json +1 -1
- package/message-strip/package.json +1 -1
- package/message-toast/package.json +1 -1
- package/micro-process-flow/package.json +1 -1
- package/mobile-mode/package.json +1 -1
- package/multi-input/package.json +1 -1
- package/nested-list/package.json +1 -1
- package/notification/package.json +1 -1
- package/object-identifier/package.json +1 -1
- package/object-marker/package.json +1 -1
- package/object-number/package.json +1 -1
- package/object-status/package.json +1 -1
- package/overflow-layout/package.json +4 -4
- package/package.json +2 -2
- package/pagination/package.json +1 -1
- package/panel/package.json +1 -1
- package/popover/package.json +1 -1
- package/product-switch/package.json +1 -1
- package/progress-indicator/package.json +1 -1
- package/quick-view/package.json +1 -1
- package/radio/package.json +1 -1
- package/rating-indicator/package.json +1 -1
- package/resizable-card-layout/package.json +1 -1
- package/scroll-spy/package.json +1 -1
- package/scrollbar/package.json +1 -1
- package/segmented-button/package.json +1 -1
- package/select/package.json +1 -1
- package/shared/package.json +1 -1
- package/shellbar/package.json +1 -1
- package/side-navigation/package.json +1 -1
- package/slider/package.json +1 -1
- package/split-button/package.json +1 -1
- package/splitter/package.json +1 -1
- package/status-indicator/package.json +1 -1
- package/step-input/package.json +1 -1
- package/switch/package.json +1 -1
- package/table/esm2020/table-wrapper.component.mjs +6 -22
- package/table/esm2020/table.component.mjs +15 -10
- package/table/fesm2015/fundamental-ngx-core-table.mjs +22 -30
- package/table/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
- package/table/fesm2020/fundamental-ngx-core-table.mjs +22 -30
- package/table/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
- package/table/package.json +1 -1
- package/table/table-wrapper.component.d.ts +3 -10
- package/table/table.component.d.ts +1 -8
- package/tabs/package.json +1 -1
- package/text/package.json +1 -1
- package/theming/package.json +1 -1
- package/tile/package.json +1 -1
- package/time/esm2020/time-column/time-column.component.mjs +5 -47
- package/time/fesm2015/fundamental-ngx-core-time.mjs +4 -46
- package/time/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
- package/time/fesm2020/fundamental-ngx-core-time.mjs +4 -46
- package/time/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
- package/time/package.json +1 -1
- package/time/time-column/time-column.component.d.ts +0 -20
- package/time-picker/package.json +1 -1
- package/timeline/package.json +1 -1
- package/title/package.json +1 -1
- package/token/package.json +1 -1
- package/toolbar/package.json +1 -1
- package/tree/package.json +1 -1
- package/upload-collection/package.json +1 -1
- package/utils/esm2020/services/keyboard-support/keyboard-support.service.mjs +9 -13
- package/utils/fesm2015/fundamental-ngx-core-utils.mjs +8 -12
- package/utils/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
- package/utils/fesm2020/fundamental-ngx-core-utils.mjs +8 -12
- package/utils/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
- package/utils/package.json +1 -1
- package/utils/services/keyboard-support/keyboard-support.service.d.ts +1 -7
- package/vertical-navigation/package.json +1 -1
- package/wizard/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-table.mjs","sources":["../../../../../libs/core/src/lib/table/fd-table.interface.ts","../../../../../libs/core/src/lib/table/directives/table-cell.directive.ts","../../../../../libs/core/src/lib/table/table.service.ts","../../../../../libs/core/src/lib/table/directives/table-row.directive.ts","../../../../../libs/core/src/lib/table/table.component.ts","../../../../../libs/core/src/lib/table/directives/table-responsive-wrapper.directive.ts","../../../../../libs/core/src/lib/table/directives/table-header.directive.ts","../../../../../libs/core/src/lib/table/directives/table-body.directive.ts","../../../../../libs/core/src/lib/table/table-wrapper.component.ts","../../../../../libs/core/src/lib/table/directives/table-footer.directive.ts","../../../../../libs/core/src/lib/table/directives/table-status-indicator.directive.ts","../../../../../libs/core/src/lib/table/directives/table-popover.directive.ts","../../../../../libs/core/src/lib/table/directives/table-inner.directive.ts","../../../../../libs/core/src/lib/table/directives/table-text.directive.ts","../../../../../libs/core/src/lib/table/directives/table-icon.directive.ts","../../../../../libs/core/src/lib/table/deprecated-table-compact.directive.ts","../../../../../libs/core/src/lib/table/deprecated-table-condensed.directive.ts","../../../../../libs/core/src/lib/table/table.module.ts","../../../../../libs/core/src/lib/table/fundamental-ngx-core-table.ts"],"sourcesContent":["import { TableCellDirective } from './directives/table-cell.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\n\n/** @hidden */\nexport abstract class FdTable {\n abstract _onCellKeydown(event: KeyboardEvent, cell: TableCellDirective): void;\n abstract _onRowKeydown(event: KeyboardEvent, row: TableRowDirective): void;\n abstract allCellsFocusable: boolean;\n abstract _setCurrentFocusableCell(cell: TableCellDirective): void;\n abstract _setCurrentFocusableRow(row: TableRowDirective): void;\n}\n","import { LiveAnnouncer } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n QueryList,\n ContentChildren,\n forwardRef,\n Optional,\n HostListener\n} from '@angular/core';\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { DestroyedService, TabbableElementService } from '@fundamental-ngx/core/utils';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { NumberInput } from '@angular/cdk/coercion';\nimport { FdTable } from '../fd-table.interface';\n\nexport interface TableCellPosition {\n row: number;\n col: number;\n totalRows: number;\n totalCols: number;\n origin: HTMLTableSectionElement;\n}\n\n@Directive({\n selector: '[fdTableCell], [fd-table-cell]',\n providers: [DestroyedService, TabbableElementService]\n})\nexport class TableCellDirective 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 /** Whether the table cell is focusable */\n @HostBinding('class.fd-table__cell--focusable')\n @Input()\n set focusable(value: Nullable<boolean>) {\n this._focusable = value;\n }\n\n get focusable(): Nullable<boolean> {\n return this._focusable ?? this._table?.allCellsFocusable;\n }\n\n /** Tabindex attribute for the cell */\n @Input()\n set tabindex(value: Nullable<NumberInput>) {\n this._tabindex = value;\n }\n\n get tabindex(): Nullable<NumberInput> {\n return this._tabindex ?? (this.focusable ? 0 : null);\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 /** Key of cell element, it's used to identify this cell with certain column */\n @Input()\n key: string;\n\n /** Function, that creates a string to be announced by screen-reader whenever cell receives focus */\n @Input()\n cellFocusedEventAnnouncer: (data: TableCellPosition) => string = this._defaultCellFocusedEventAnnouncer;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => CheckboxComponent))\n _checkboxes: QueryList<CheckboxComponent>;\n\n /** @hidden */\n @HostBinding('class.fd-table__cell')\n _fdTableCellClass = true;\n\n /** @hidden */\n private _tabbableElements = new Map<HTMLElement, number>();\n\n /** @hidden */\n private _focusable: Nullable<boolean>;\n\n /** @hidden */\n private _tabindex: Nullable<NumberInput>;\n\n /** @hidden */\n private _canBeFocused = true;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n private get _cellTabIndex(): Nullable<NumberInput> {\n return this._canBeFocused ? this.tabindex : -1;\n }\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef<HTMLElement>,\n private readonly _liveAnnouncer: LiveAnnouncer,\n private readonly _onDestroy$: DestroyedService,\n private readonly _tabbableElementService: TabbableElementService,\n @Optional() private readonly _table?: FdTable\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 /** Returns row and col indexes for the cell */\n getCellPosition(): TableCellPosition | undefined {\n const parentRow = this.elementRef.nativeElement.parentElement;\n if (!(parentRow instanceof HTMLTableRowElement)) {\n return;\n }\n const section = parentRow.parentElement;\n if (!(section instanceof HTMLTableSectionElement)) {\n return;\n }\n const rows = section.children;\n const cols = parentRow.children;\n\n const row = [...(rows as any as Element[])].indexOf(parentRow);\n const col = [...(cols as any as Element[])].indexOf(this.elementRef.nativeElement);\n return {\n row,\n col,\n totalRows: rows.length,\n totalCols: cols.length,\n origin: section\n };\n }\n\n /**\n * Toggles focusable state of the cell.\n * @param canFocus When `false`, disables any tabbable element inside cell.\n */\n toggleFocusableState(canFocus: boolean): void {\n this._canBeFocused = canFocus;\n\n if (!canFocus) {\n this._disableTabbableElements();\n } else {\n this._enableTabbableElements();\n }\n }\n\n /** @hidden */\n private _disableTabbableElements(): void {\n // Since we cannot select by tabindex attribute (links, inputs, buttons might not have one but still can be focusable),\n // Select all elements from the cell and filter by tabIndex property.\n Array.from(this.elementRef.nativeElement.querySelectorAll<HTMLElement>('*'))\n .filter((elm) => elm.tabIndex >= 0)\n .forEach((elm) => {\n this._tabbableElements.set(elm, elm.tabIndex);\n elm.tabIndex = -1;\n });\n }\n\n /** @hidden */\n private _enableTabbableElements(): void {\n // If there's no elements in map, skip action.\n if (this._tabbableElements.size === 0) {\n return;\n }\n this._tabbableElements.forEach((tabIndex, element) => {\n element.tabIndex = tabIndex;\n });\n this._canBeFocused = false;\n }\n\n /** @hidden */\n @HostListener('focus')\n private _onFocus(): void {\n this._table?._setCurrentFocusableCell(this);\n this._enableTabbableElements();\n\n const tabbableElement = this._tabbableElementService.getTabbableElement(\n this.elementRef.nativeElement,\n false,\n true\n );\n\n tabbableElement?.focus();\n }\n\n /** @hidden */\n @HostListener('focusin')\n private async _onFocusIn(): Promise<void> {\n const data = this.getCellPosition();\n\n if (!data) {\n return;\n }\n\n this._liveAnnouncer.clear();\n await this._liveAnnouncer.announce(this.cellFocusedEventAnnouncer(data));\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n private _onKeyDown(event: KeyboardEvent): void {\n this._table?._onCellKeydown(event, this);\n }\n\n /** @hidden */\n private _defaultCellFocusedEventAnnouncer(data: TableCellPosition): string {\n return `Column ${data.col + 1} of ${data.totalCols}, row: ${data.row + 1} of ${data.totalRows}`;\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class TableService {\n propagateKeys$: BehaviorSubject<string[]> = new BehaviorSubject<string[]>([]);\n\n changeKeys(keys: string[]): void {\n if (keys && keys.length > 0) {\n this.propagateKeys$.next([...keys]);\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { FdTable } from '../fd-table.interface';\n\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})\nexport class TableRowDirective implements AfterViewInit, OnDestroy, 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()\n focusable = false;\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 @HostBinding('attr.tabindex')\n private get _tabIndex(): number | null {\n return this._tabFocusable && this.focusable ? 0 : null;\n }\n\n /** @hidden */\n private _propagateKeysSubscription: Subscription;\n\n /** @hidden */\n private _tabFocusable = true;\n\n /** @hidden */\n constructor(\n private _changeDetRef: ChangeDetectorRef,\n private _tableService: TableService,\n public elementRef: ElementRef<HTMLTableRowElement>,\n @Optional() private readonly _table?: FdTable\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._propagateKeysSubscription = this._tableService.propagateKeys$.subscribe((keys: string[]) =>\n this._resetCells(keys)\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._resetCells(this._tableService.propagateKeys$.getValue());\n this._setupCellsSubscription();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._propagateKeysSubscription.unsubscribe();\n }\n\n /**\n * Changes focusable state of the row.\n */\n toggleFocusableState(focusable: boolean): void {\n this._tabFocusable = focusable;\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 /** @hidden */\n @HostListener('keydown', ['$event'])\n private _onRowKeydown(event: KeyboardEvent): void {\n this._table?._onRowKeydown(event, this);\n }\n\n /** @hidden */\n @HostListener('focus')\n private _onRowFocus(): void {\n this._table?._setCurrentFocusableRow(this);\n }\n}\n","import { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { KeyUtil, TabbableElementService } from '@fundamental-ngx/core/utils';\nimport { Subscription } from 'rxjs';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\nimport { FdTable } from './fd-table.interface';\nimport { TableService } from './table.service';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\n// Since we are searching for focusable cell not by the component but by the element, we need to filter items by classname.\nexport const FOCUSABLE_CELL_CLASSNAME = 'fd-table__cell--focusable';\nexport const FOCUSABLE_ROW_CLASSNAME = 'fd-table__row--focusable';\n\nexport const FdTableContentDensityProviderParams = {\n modifiers: {\n [ContentDensityMode.COMPACT]: 'fd-table--compact',\n [ContentDensityMode.CONDENSED]: 'fd-table--condensed'\n },\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 styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TableService,\n TabbableElementService,\n { provide: FdTable, useExisting: TableComponent },\n contentDensityObserverProviders(FdTableContentDensityProviderParams)\n ]\n})\nexport class TableComponent implements AfterViewInit, OnDestroy, FdTable {\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 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()\n allCellsFocusable = false;\n\n /** @hidden */\n @ContentChildren(TableCellDirective, { descendants: true })\n private _cells: QueryList<TableCellDirective>;\n\n /** @hidden */\n @ContentChildren(TableRowDirective, { descendants: true })\n private _rows: QueryList<TableRowDirective>;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private readonly _tableService: TableService,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _tabbableElementService: TabbableElementService\n ) {\n this._contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\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 _onRowKeydown(event: KeyboardEvent, tableRow: TableRowDirective): void {\n if (!event.defaultPrevented && KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n event.preventDefault();\n\n const dir = KeyUtil.isKeyCode(event, DOWN_ARROW) ? 1 : -1;\n const rows = dir === 1 ? this._rows.toArray() : this._rows.toArray().reverse();\n const currentRowIndex = rows.findIndex((row) => row === tableRow);\n\n const nextFocusableRow = rows.find((row, index) => index > currentRowIndex && row.focusable);\n\n if (nextFocusableRow) {\n this._setCurrentFocusableRow(nextFocusableRow);\n // Need a delay for tabindex attributes to set.\n setTimeout(() => {\n nextFocusableRow.elementRef.nativeElement.focus();\n }, 0);\n return;\n }\n\n const parentElm = tableRow.elementRef.nativeElement.parentElement;\n const sectionElement = dir === 1 ? parentElm?.nextElementSibling : parentElm?.previousElementSibling;\n const childrenLength = (sectionElement?.children.length ?? 0) - 1;\n const nextIndex = dir === 1 ? currentRowIndex + dir : childrenLength;\n\n // If no focusable rows found, try to focus focusable cell instead\n this._focusCellInTableSection(sectionElement, nextIndex, 0, true);\n }\n }\n\n /** @hidden being triggered by TableCellDirective whenever it's clicked */\n _onCellKeydown(event: KeyboardEvent, cell: TableCellDirective): void {\n const cellElement = cell.elementRef.nativeElement;\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n event.preventDefault();\n const data = cell.getCellPosition();\n if (!data) {\n return;\n }\n event.preventDefault();\n const dir = KeyUtil.isKeyCode(event, DOWN_ARROW) ? 1 : -1;\n // if navigating up&down through the rows, attempt to focus the cell in the next row within the same section (e.g. within body)\n const focused = this._focusCellInTableSection(data?.origin, data.row + dir, data?.col);\n if (!focused) {\n // if cannot find the next row, attempt to jump to another section (e.g. to the header or footer, depending on the direction)\n if (dir === 1) {\n this._focusCellInTableSection(data.origin.nextElementSibling, 0, data.col);\n } else {\n const prev = data.origin.previousElementSibling;\n prev && this._focusCellInTableSection(prev, prev.children.length - 1, data.col);\n }\n }\n } else if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n const prev = cellElement.previousElementSibling;\n prev instanceof HTMLTableCellElement && prev.focus();\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n const next = cellElement.nextElementSibling;\n next instanceof HTMLTableCellElement && next.focus();\n }\n }\n\n /** @hidden */\n _setCurrentFocusableCell(cell: TableCellDirective): void {\n this._cells?.forEach((tableCell) => {\n tableCell.toggleFocusableState(tableCell === cell);\n });\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n _setCurrentFocusableRow(row: TableRowDirective): void {\n this._rows?.forEach((tableRow) => {\n tableRow.toggleFocusableState(tableRow === row);\n });\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _focusCellInTableSection(\n tableSectionElement: Nullable<Element>,\n row: number,\n col: number,\n reverse = false\n ): boolean {\n const targetRow = tableSectionElement?.children.item(row);\n const rowChildren = targetRow?.children;\n const targetCell = reverse ? rowChildren?.item(rowChildren?.length - 1 - col) : rowChildren?.item(col);\n if (targetCell instanceof HTMLTableCellElement && targetCell.classList.contains(FOCUSABLE_CELL_CLASSNAME)) {\n targetCell.focus();\n return true;\n } else if (targetRow instanceof HTMLTableRowElement && targetRow.classList.contains(FOCUSABLE_ROW_CLASSNAME)) {\n targetRow.focus();\n return true;\n }\n\n // if we couldn't find the next cell, but the actual row exists, still treat the operation as success\n return !!targetRow;\n }\n\n /** @hidden */\n private _propagateKeys(keys: string[]): void {\n if (keys) {\n this._tableService.changeKeys([...keys]);\n }\n }\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})\nexport class TableResponsiveWrapperDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableHeader], [fd-table-header]'\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","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableBody], [fd-table-body]'\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 ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityObserverTarget\n} from '@fundamental-ngx/core/content-density';\nimport { FdTableContentDensityProviderParams } from './table.component';\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 // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'fd-table-wrapper',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [contentDensityObserverProviders(FdTableContentDensityProviderParams)]\n})\nexport class TableWrapperComponent implements AfterContentInit, OnDestroy {\n private _contentDensitySettings: ContentDensityObserverTarget;\n\n /** @hidden */\n constructor(private elementRef: ElementRef, private _contentDensityObserver: ContentDensityObserver) {}\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 contentDensitySettings: FdTableContentDensityProviderParams\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 this._contentDensityObserver.removeConsumer(this._contentDensitySettings);\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTableFooter], [fd-table-footer]'\n})\nexport class TableFooterDirective {\n /** @hidden */\n @HostBinding('class.fd-table__footer')\n fdTableFooterClass = true;\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { Nullable } from '@fundamental-ngx/core/shared';\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})\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 } from '@angular/core';\n\n@Directive({\n selector: '[fdTablePopover], [fd-table-popover]'\n})\nexport class TablePopoverDirective {\n /** @hidden */\n @HostBinding('class')\n fdTablePopoverClass = 'fd-table__popover fd-table__popover--custom';\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTableInner], [fd-table-inner]'\n})\nexport class TableInnerDirective {\n /** @hidden */\n @HostBinding('class.fd-table__inner')\n fdTableInnerClass = true;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableText], [fd-table-text]'\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 { Directive, ElementRef, HostBinding, Input, OnChanges, OnInit } from '@angular/core';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/core/utils';\n\n@Directive({\n selector: '[fdTableIcon], [fd-table-icon]'\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 public 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 public glyph = '';\n\n /** Whether or no icon is used as navigation */\n @Input()\n navigation = false;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\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 ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-table__icon',\n this.glyph ? `sap-icon--${this.glyph}` : '',\n this.navigation ? 'fd-table__icon--navigation' : '',\n this.class\n ];\n }\n\n /** HasElementRef interface implementation\n * function used by applyCssClass and applyCssStyle decorators\n */\n public elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n selector: 'table[fd-table][compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedTableCompactDirective)\n }\n ]\n})\nexport class DeprecatedTableCompactDirective extends DeprecatedCompactDirective {\n constructor() {\n super('table[fd-table]');\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCondensedDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n selector: 'table[fd-table][condensed]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedTableCondensedDirective)\n }\n ]\n})\nexport class DeprecatedTableCondensedDirective extends DeprecatedCondensedDirective {\n constructor() {\n super('table[fd-table]');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TableComponent } from './table.component';\nimport { TableResponsiveWrapperDirective } from './directives/table-responsive-wrapper.directive';\nimport { TableHeaderDirective } from './directives/table-header.directive';\nimport { TableBodyDirective } from './directives/table-body.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableWrapperComponent } from './table-wrapper.component';\nimport { TableFooterDirective } from './directives/table-footer.directive';\nimport { TableStatusIndicatorDirective } from './directives/table-status-indicator.directive';\nimport { TablePopoverDirective } from './directives/table-popover.directive';\nimport { TableInnerDirective } from './directives/table-inner.directive';\nimport { TableTextDirective } from './directives/table-text.directive';\nimport { TableIconDirective } from './directives/table-icon.directive';\nimport { TableService } from './table.service';\nimport { DeprecatedTableCompactDirective } from './deprecated-table-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { DeprecatedTableCondensedDirective } from './deprecated-table-condensed.directive';\n\n@NgModule({\n imports: [CommonModule, ContentDensityModule],\n declarations: [\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 DeprecatedTableCompactDirective,\n DeprecatedTableCondensedDirective\n ],\n exports: [\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 DeprecatedTableCompactDirective,\n DeprecatedTableCondensedDirective,\n ContentDensityModule\n ],\n providers: [TableService]\n})\nexport class TableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3.FdTable","i1.TableService","i2.FdTable","i2","i3","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-table.mjs","sources":["../../../../../libs/core/src/lib/table/fd-table.interface.ts","../../../../../libs/core/src/lib/table/directives/table-cell.directive.ts","../../../../../libs/core/src/lib/table/table.service.ts","../../../../../libs/core/src/lib/table/directives/table-row.directive.ts","../../../../../libs/core/src/lib/table/table.component.ts","../../../../../libs/core/src/lib/table/directives/table-responsive-wrapper.directive.ts","../../../../../libs/core/src/lib/table/directives/table-header.directive.ts","../../../../../libs/core/src/lib/table/directives/table-body.directive.ts","../../../../../libs/core/src/lib/table/table-wrapper.component.ts","../../../../../libs/core/src/lib/table/directives/table-footer.directive.ts","../../../../../libs/core/src/lib/table/directives/table-status-indicator.directive.ts","../../../../../libs/core/src/lib/table/directives/table-popover.directive.ts","../../../../../libs/core/src/lib/table/directives/table-inner.directive.ts","../../../../../libs/core/src/lib/table/directives/table-text.directive.ts","../../../../../libs/core/src/lib/table/directives/table-icon.directive.ts","../../../../../libs/core/src/lib/table/deprecated-table-compact.directive.ts","../../../../../libs/core/src/lib/table/deprecated-table-condensed.directive.ts","../../../../../libs/core/src/lib/table/table.module.ts","../../../../../libs/core/src/lib/table/fundamental-ngx-core-table.ts"],"sourcesContent":["import { TableCellDirective } from './directives/table-cell.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\n\n/** @hidden */\nexport abstract class FdTable {\n abstract _onCellKeydown(event: KeyboardEvent, cell: TableCellDirective): void;\n abstract _onRowKeydown(event: KeyboardEvent, row: TableRowDirective): void;\n abstract allCellsFocusable: boolean;\n abstract _setCurrentFocusableCell(cell: TableCellDirective): void;\n abstract _setCurrentFocusableRow(row: TableRowDirective): void;\n}\n","import { LiveAnnouncer } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n QueryList,\n ContentChildren,\n forwardRef,\n Optional,\n HostListener\n} from '@angular/core';\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { DestroyedService, TabbableElementService } from '@fundamental-ngx/core/utils';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { NumberInput } from '@angular/cdk/coercion';\nimport { FdTable } from '../fd-table.interface';\n\nexport interface TableCellPosition {\n row: number;\n col: number;\n totalRows: number;\n totalCols: number;\n origin: HTMLTableSectionElement;\n}\n\n@Directive({\n selector: '[fdTableCell], [fd-table-cell]',\n providers: [DestroyedService, TabbableElementService]\n})\nexport class TableCellDirective 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 /** Whether the table cell is focusable */\n @HostBinding('class.fd-table__cell--focusable')\n @Input()\n set focusable(value: Nullable<boolean>) {\n this._focusable = value;\n }\n\n get focusable(): Nullable<boolean> {\n return this._focusable ?? this._table?.allCellsFocusable;\n }\n\n /** Tabindex attribute for the cell */\n @Input()\n set tabindex(value: Nullable<NumberInput>) {\n this._tabindex = value;\n }\n\n get tabindex(): Nullable<NumberInput> {\n return this._tabindex ?? (this.focusable ? 0 : null);\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 /** Key of cell element, it's used to identify this cell with certain column */\n @Input()\n key: string;\n\n /** Function, that creates a string to be announced by screen-reader whenever cell receives focus */\n @Input()\n cellFocusedEventAnnouncer: (data: TableCellPosition) => string = this._defaultCellFocusedEventAnnouncer;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => CheckboxComponent))\n _checkboxes: QueryList<CheckboxComponent>;\n\n /** @hidden */\n @HostBinding('class.fd-table__cell')\n _fdTableCellClass = true;\n\n /** @hidden */\n private _tabbableElements = new Map<HTMLElement, number>();\n\n /** @hidden */\n private _focusable: Nullable<boolean>;\n\n /** @hidden */\n private _tabindex: Nullable<NumberInput>;\n\n /** @hidden */\n private _canBeFocused = true;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n private get _cellTabIndex(): Nullable<NumberInput> {\n return this._canBeFocused ? this.tabindex : -1;\n }\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef<HTMLElement>,\n private readonly _liveAnnouncer: LiveAnnouncer,\n private readonly _onDestroy$: DestroyedService,\n private readonly _tabbableElementService: TabbableElementService,\n @Optional() private readonly _table?: FdTable\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 /** Returns row and col indexes for the cell */\n getCellPosition(): TableCellPosition | undefined {\n const parentRow = this.elementRef.nativeElement.parentElement;\n if (!(parentRow instanceof HTMLTableRowElement)) {\n return;\n }\n const section = parentRow.parentElement;\n if (!(section instanceof HTMLTableSectionElement)) {\n return;\n }\n const rows = section.children;\n const cols = parentRow.children;\n\n const row = [...(rows as any as Element[])].indexOf(parentRow);\n const col = [...(cols as any as Element[])].indexOf(this.elementRef.nativeElement);\n return {\n row,\n col,\n totalRows: rows.length,\n totalCols: cols.length,\n origin: section\n };\n }\n\n /**\n * Toggles focusable state of the cell.\n * @param canFocus When `false`, disables any tabbable element inside cell.\n */\n toggleFocusableState(canFocus: boolean): void {\n this._canBeFocused = canFocus;\n\n if (!canFocus) {\n this._disableTabbableElements();\n } else {\n this._enableTabbableElements();\n }\n }\n\n /** @hidden */\n private _disableTabbableElements(): void {\n // Since we cannot select by tabindex attribute (links, inputs, buttons might not have one but still can be focusable),\n // Select all elements from the cell and filter by tabIndex property.\n Array.from(this.elementRef.nativeElement.querySelectorAll<HTMLElement>('*'))\n .filter((elm) => elm.tabIndex >= 0)\n .forEach((elm) => {\n this._tabbableElements.set(elm, elm.tabIndex);\n elm.tabIndex = -1;\n });\n }\n\n /** @hidden */\n private _enableTabbableElements(): void {\n // If there's no elements in map, skip action.\n if (this._tabbableElements.size === 0) {\n return;\n }\n this._tabbableElements.forEach((tabIndex, element) => {\n element.tabIndex = tabIndex;\n });\n this._canBeFocused = false;\n }\n\n /** @hidden */\n @HostListener('focus')\n private _onFocus(): void {\n this._table?._setCurrentFocusableCell(this);\n this._enableTabbableElements();\n\n const tabbableElement = this._tabbableElementService.getTabbableElement(\n this.elementRef.nativeElement,\n false,\n true\n );\n\n tabbableElement?.focus();\n }\n\n /** @hidden */\n @HostListener('focusin')\n private async _onFocusIn(): Promise<void> {\n const data = this.getCellPosition();\n\n if (!data) {\n return;\n }\n\n this._liveAnnouncer.clear();\n await this._liveAnnouncer.announce(this.cellFocusedEventAnnouncer(data));\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n private _onKeyDown(event: KeyboardEvent): void {\n this._table?._onCellKeydown(event, this);\n }\n\n /** @hidden */\n private _defaultCellFocusedEventAnnouncer(data: TableCellPosition): string {\n return `Column ${data.col + 1} of ${data.totalCols}, row: ${data.row + 1} of ${data.totalRows}`;\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class TableService {\n propagateKeys$: BehaviorSubject<string[]> = new BehaviorSubject<string[]>([]);\n\n changeKeys(keys: string[]): void {\n if (keys && keys.length > 0) {\n this.propagateKeys$.next([...keys]);\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { FdTable } from '../fd-table.interface';\n\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})\nexport class TableRowDirective implements AfterViewInit, OnDestroy, 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()\n focusable = false;\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 @HostBinding('attr.tabindex')\n private get _tabIndex(): number | null {\n return this._tabFocusable && this.focusable ? 0 : null;\n }\n\n /** @hidden */\n private _propagateKeysSubscription: Subscription;\n\n /** @hidden */\n private _tabFocusable = true;\n\n /** @hidden */\n constructor(\n private _changeDetRef: ChangeDetectorRef,\n private _tableService: TableService,\n public elementRef: ElementRef<HTMLTableRowElement>,\n @Optional() private readonly _table?: FdTable\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._propagateKeysSubscription = this._tableService.propagateKeys$.subscribe((keys: string[]) =>\n this._resetCells(keys)\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._resetCells(this._tableService.propagateKeys$.getValue());\n this._setupCellsSubscription();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._propagateKeysSubscription.unsubscribe();\n }\n\n /**\n * Changes focusable state of the row.\n */\n toggleFocusableState(focusable: boolean): void {\n this._tabFocusable = focusable;\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 /** @hidden */\n @HostListener('keydown', ['$event'])\n private _onRowKeydown(event: KeyboardEvent): void {\n this._table?._onRowKeydown(event, this);\n }\n\n /** @hidden */\n @HostListener('focus')\n private _onRowFocus(): void {\n this._table?._setCurrentFocusableRow(this);\n }\n}\n","import { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { KeyUtil, TabbableElementService } from '@fundamental-ngx/core/utils';\nimport { Subscription } from 'rxjs';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\nimport { FdTable } from './fd-table.interface';\nimport { TableService } from './table.service';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\n// Since we are searching for focusable cell not by the component but by the element, we need to filter items by classname.\nexport const FOCUSABLE_CELL_CLASSNAME = 'fd-table__cell--focusable';\nexport const FOCUSABLE_ROW_CLASSNAME = 'fd-table__row--focusable';\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 styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TableService,\n TabbableElementService,\n { provide: FdTable, useExisting: TableComponent },\n contentDensityObserverProviders({\n modifiers: {\n [ContentDensityMode.COMPACT]: 'fd-table--compact',\n [ContentDensityMode.CONDENSED]: 'fd-table--condensed'\n },\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.CONDENSED, ContentDensityMode.COZY]\n })\n ]\n})\nexport class TableComponent implements AfterViewInit, OnDestroy, FdTable {\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 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()\n allCellsFocusable = false;\n\n /** @hidden */\n @ContentChildren(TableCellDirective, { descendants: true })\n private _cells: QueryList<TableCellDirective>;\n\n /** @hidden */\n @ContentChildren(TableRowDirective, { descendants: true })\n private _rows: QueryList<TableRowDirective>;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private readonly _tableService: TableService,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _tabbableElementService: TabbableElementService\n ) {\n this._contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\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 _onRowKeydown(event: KeyboardEvent, tableRow: TableRowDirective): void {\n if (!event.defaultPrevented && KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n event.preventDefault();\n\n const dir = KeyUtil.isKeyCode(event, DOWN_ARROW) ? 1 : -1;\n const rows = dir === 1 ? this._rows.toArray() : this._rows.toArray().reverse();\n const currentRowIndex = rows.findIndex((row) => row === tableRow);\n\n const nextFocusableRow = rows.find((row, index) => index > currentRowIndex && row.focusable);\n\n if (nextFocusableRow) {\n this._setCurrentFocusableRow(nextFocusableRow);\n // Need a delay for tabindex attributes to set.\n setTimeout(() => {\n nextFocusableRow.elementRef.nativeElement.focus();\n }, 0);\n return;\n }\n\n const parentElm = tableRow.elementRef.nativeElement.parentElement;\n const sectionElement = dir === 1 ? parentElm?.nextElementSibling : parentElm?.previousElementSibling;\n const childrenLength = (sectionElement?.children.length ?? 0) - 1;\n const nextIndex = dir === 1 ? currentRowIndex + dir : childrenLength;\n\n // If no focusable rows found, try to focus focusable cell instead\n this._focusCellInTableSection(sectionElement, nextIndex, 0, true);\n }\n }\n\n /** @hidden being triggered by TableCellDirective whenever it's clicked */\n _onCellKeydown(event: KeyboardEvent, cell: TableCellDirective): void {\n const cellElement = cell.elementRef.nativeElement;\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n event.preventDefault();\n const data = cell.getCellPosition();\n if (!data) {\n return;\n }\n event.preventDefault();\n const dir = KeyUtil.isKeyCode(event, DOWN_ARROW) ? 1 : -1;\n // if navigating up&down through the rows, attempt to focus the cell in the next row within the same section (e.g. within body)\n const focused = this._focusCellInTableSection(data?.origin, data.row + dir, data?.col);\n if (!focused) {\n // if cannot find the next row, attempt to jump to another section (e.g. to the header or footer, depending on the direction)\n if (dir === 1) {\n this._focusCellInTableSection(data.origin.nextElementSibling, 0, data.col);\n } else {\n const prev = data.origin.previousElementSibling;\n prev && this._focusCellInTableSection(prev, prev.children.length - 1, data.col);\n }\n }\n } else if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n const prev = cellElement.previousElementSibling;\n prev instanceof HTMLTableCellElement && prev.focus();\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n const next = cellElement.nextElementSibling;\n next instanceof HTMLTableCellElement && next.focus();\n }\n }\n\n /** @hidden */\n _setCurrentFocusableCell(cell: TableCellDirective): void {\n this._cells?.forEach((tableCell) => {\n tableCell.toggleFocusableState(tableCell === cell);\n });\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n _setCurrentFocusableRow(row: TableRowDirective): void {\n this._rows?.forEach((tableRow) => {\n tableRow.toggleFocusableState(tableRow === row);\n });\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _focusCellInTableSection(\n tableSectionElement: Nullable<Element>,\n row: number,\n col: number,\n reverse = false\n ): boolean {\n const targetRow = tableSectionElement?.children.item(row);\n const rowChildren = targetRow?.children;\n const targetCell = reverse ? rowChildren?.item(rowChildren?.length - 1 - col) : rowChildren?.item(col);\n if (targetCell instanceof HTMLTableCellElement && targetCell.classList.contains(FOCUSABLE_CELL_CLASSNAME)) {\n targetCell.focus();\n return true;\n } else if (targetRow instanceof HTMLTableRowElement && targetRow.classList.contains(FOCUSABLE_ROW_CLASSNAME)) {\n targetRow.focus();\n return true;\n }\n\n // if we couldn't find the next cell, but the actual row exists, still treat the operation as success\n return !!targetRow;\n }\n\n /** @hidden */\n private _propagateKeys(keys: string[]): void {\n if (keys) {\n this._tableService.changeKeys([...keys]);\n }\n }\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})\nexport class TableResponsiveWrapperDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableHeader], [fd-table-header]'\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","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableBody], [fd-table-body]'\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 { AfterContentInit, ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation } from '@angular/core';\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 // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'fd-table-wrapper',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableWrapperComponent implements AfterContentInit {\n constructor(private elementRef: ElementRef) {}\n\n public 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 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 { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTableFooter], [fd-table-footer]'\n})\nexport class TableFooterDirective {\n /** @hidden */\n @HostBinding('class.fd-table__footer')\n fdTableFooterClass = true;\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { Nullable } from '@fundamental-ngx/core/shared';\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})\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 } from '@angular/core';\n\n@Directive({\n selector: '[fdTablePopover], [fd-table-popover]'\n})\nexport class TablePopoverDirective {\n /** @hidden */\n @HostBinding('class')\n fdTablePopoverClass = 'fd-table__popover fd-table__popover--custom';\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTableInner], [fd-table-inner]'\n})\nexport class TableInnerDirective {\n /** @hidden */\n @HostBinding('class.fd-table__inner')\n fdTableInnerClass = true;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdTableText], [fd-table-text]'\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 { Directive, ElementRef, HostBinding, Input, OnChanges, OnInit } from '@angular/core';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/core/utils';\n\n@Directive({\n selector: '[fdTableIcon], [fd-table-icon]'\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 public 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 public glyph = '';\n\n /** Whether or no icon is used as navigation */\n @Input()\n navigation = false;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\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 ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-table__icon',\n this.glyph ? `sap-icon--${this.glyph}` : '',\n this.navigation ? 'fd-table__icon--navigation' : '',\n this.class\n ];\n }\n\n /** HasElementRef interface implementation\n * function used by applyCssClass and applyCssStyle decorators\n */\n public elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n selector: 'table[fd-table][compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedTableCompactDirective)\n }\n ]\n})\nexport class DeprecatedTableCompactDirective extends DeprecatedCompactDirective {\n constructor() {\n super('table[fd-table]');\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCondensedDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n selector: 'table[fd-table][condensed]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedTableCondensedDirective)\n }\n ]\n})\nexport class DeprecatedTableCondensedDirective extends DeprecatedCondensedDirective {\n constructor() {\n super('table[fd-table]');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TableComponent } from './table.component';\nimport { TableResponsiveWrapperDirective } from './directives/table-responsive-wrapper.directive';\nimport { TableHeaderDirective } from './directives/table-header.directive';\nimport { TableBodyDirective } from './directives/table-body.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableWrapperComponent } from './table-wrapper.component';\nimport { TableFooterDirective } from './directives/table-footer.directive';\nimport { TableStatusIndicatorDirective } from './directives/table-status-indicator.directive';\nimport { TablePopoverDirective } from './directives/table-popover.directive';\nimport { TableInnerDirective } from './directives/table-inner.directive';\nimport { TableTextDirective } from './directives/table-text.directive';\nimport { TableIconDirective } from './directives/table-icon.directive';\nimport { TableService } from './table.service';\nimport { DeprecatedTableCompactDirective } from './deprecated-table-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { DeprecatedTableCondensedDirective } from './deprecated-table-condensed.directive';\n\n@NgModule({\n imports: [CommonModule, ContentDensityModule],\n declarations: [\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 DeprecatedTableCompactDirective,\n DeprecatedTableCondensedDirective\n ],\n exports: [\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 DeprecatedTableCompactDirective,\n DeprecatedTableCondensedDirective,\n ContentDensityModule\n ],\n providers: [TableService]\n})\nexport class TableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3.FdTable","i1.TableService","i2.FdTable","i2","i3"],"mappings":"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"}
|
package/table/package.json
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { AfterContentInit, ElementRef
|
|
2
|
-
import { ContentDensityObserver } from '@fundamental-ngx/core/content-density';
|
|
1
|
+
import { AfterContentInit, ElementRef } from '@angular/core';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
/**
|
|
5
4
|
* The component that represents a table wrapper, it will add fd-table class to its first child.
|
|
@@ -10,16 +9,10 @@ import * as i0 from "@angular/core";
|
|
|
10
9
|
* </table-wrapper>
|
|
11
10
|
* ```
|
|
12
11
|
*/
|
|
13
|
-
export declare class TableWrapperComponent implements AfterContentInit
|
|
12
|
+
export declare class TableWrapperComponent implements AfterContentInit {
|
|
14
13
|
private elementRef;
|
|
15
|
-
|
|
16
|
-
private _contentDensitySettings;
|
|
17
|
-
/** @hidden */
|
|
18
|
-
constructor(elementRef: ElementRef, _contentDensityObserver: ContentDensityObserver);
|
|
19
|
-
/** @hidden */
|
|
14
|
+
constructor(elementRef: ElementRef);
|
|
20
15
|
ngAfterContentInit(): void;
|
|
21
|
-
/** @hidden */
|
|
22
|
-
ngOnDestroy(): void;
|
|
23
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<TableWrapperComponent, never>;
|
|
24
17
|
static ɵcmp: i0.ɵɵComponentDeclaration<TableWrapperComponent, "fd-table-wrapper", never, {}, {}, never, ["*"], false>;
|
|
25
18
|
}
|
|
@@ -4,17 +4,10 @@ import { TableCellDirective } from './directives/table-cell.directive';
|
|
|
4
4
|
import { TableRowDirective } from './directives/table-row.directive';
|
|
5
5
|
import { FdTable } from './fd-table.interface';
|
|
6
6
|
import { TableService } from './table.service';
|
|
7
|
-
import { ContentDensityObserver
|
|
7
|
+
import { ContentDensityObserver } from '@fundamental-ngx/core/content-density';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export declare const FOCUSABLE_CELL_CLASSNAME = "fd-table__cell--focusable";
|
|
10
10
|
export declare const FOCUSABLE_ROW_CLASSNAME = "fd-table__row--focusable";
|
|
11
|
-
export declare const FdTableContentDensityProviderParams: {
|
|
12
|
-
modifiers: {
|
|
13
|
-
compact: string;
|
|
14
|
-
condensed: string;
|
|
15
|
-
};
|
|
16
|
-
supportedContentDensity: ContentDensityMode[];
|
|
17
|
-
};
|
|
18
11
|
/**
|
|
19
12
|
* The component that represents a table.
|
|
20
13
|
* A table is a set of tabular data. Line items can support data, images and actions.
|
package/tabs/package.json
CHANGED
package/text/package.json
CHANGED
package/theming/package.json
CHANGED